File:Solar points.svg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(SVG file, nominally 376 × 256 pixels, file size: 8 KB)

Captions

Captions

Add a one-line explanation of what this file represents

Summary[edit]

Description
English: Geometry of the four solar points (solar point, subsolar point, anthelic point and antisolar point) on the celestial sphere.
Date
Source Own work
Author Syntex
Permission
(Reusing this file)
I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
Other versions See File:Points solaires annotes simple.svg for an annotated version (in french) of this diagram
SVG development
InfoField
 
The SVG code is valid.
 
This vector image was created with Asymptote by dvisvgm.
Source code
InfoField

Asymptote code

// Draw the solar circles on the celestial sphere
import three;

// Figure sizes
real sx = 300;
real sy = sx;
triple figc = (sx/2,sy/2,0);  // center of figure
size(sx,sx);

// Projection
currentprojection = orthographic(5,4,2);

// Radius of celestial sphere
real rsk = sx/2;

// Pens
pen paxes1   = linetype("8 8"),
    paxes2   = linetype("4 4"),
    plinsol  = orange,
    pdotsol  = linewidth(6),
    pangle1  = heavycyan,
    pangle2  = heavyred;

// Horizon plane
draw((0,0,0)--(sx,0,0)--(sx,sy,0)--(0,sy,0)--cycle);
draw(circle(figc, rsk));

// Cardinal directions
//draw((sx/2,0,0)--(sx/2,sy,0), p=paxes1);  // East-West
draw((0,sy/2,0)--(sx/2,sy/2,0));  // North
//draw((sx/2,sy/2,0)--(sx,sy/2,0), p=paxes1);  // South
draw((figc+(0,0,-rsk))--(figc+(0,0,rsk))); // Zenith-Nadir

// Meridian
//draw(shift(figc)*rotate(90,X)*circle((0,0,0),rsk));


// Altazimutal Sun position
real az = 220;  // azimuth, degrees
real h  = 36;   // elevation, degrees

// Solar point (PS)
triple PS  = figc+rsk*dir(90-h, 180-az),
       PSh = figc+rsk*dir(90, 180-az);
dot(PS, p=plinsol+pdotsol);

// Subsolar point (PSS)
triple PSS = figc+rsk*dir(90+h, 180-az);
dot(PSS, p=plinsol+pdotsol);

// Antisolar point (PAS)
triple PAS = figc+rsk*dir(90+h, -az),
       PASh = figc+rsk*dir(90, -az);
dot(PAS, p=plinsol+pdotsol);

// Anthelic point (PA)
triple PA  = figc+rsk*dir(90-h, -az);
dot(PA, p=plinsol+pdotsol);

// Vertical solar circle
draw(shift(figc)*rotate(az-180,-Z)*rotate(90,X)*circle((0,0,0),rsk), p=plinsol);

draw(PAS--PS, p=plinsol);
draw(PA--PSS, p=plinsol);
draw(PASh--PSh, p=plinsol+paxes1);

// Parhelic circle
draw(shift(figc+(0,0,rsk*sin(radians(h))))*rotate(180-az, Z)*arc((0,0,0),rsk*cos(radians(h)), 90, 0, 90, 180, Z), p=plinsol);
draw(shift(figc+(0,0,rsk*sin(radians(h))))*rotate(180-az, Z)*arc((0,0,0),rsk*cos(radians(h)), 90, -180, 90, 0, Z), p=plinsol+paxes1);

// Subparhelic circle
draw(shift(figc+(0,0,-rsk*sin(radians(h))))*rotate(180-az, Z)*arc((0,0,0),rsk*cos(radians(h)), 90, 0, 90, 180, Z), p=plinsol);
draw(shift(figc+(0,0,-rsk*sin(radians(h))))*rotate(180-az, Z)*arc((0,0,0),rsk*cos(radians(h)), 90, -180, 90, 0, Z), p=plinsol+paxes1);

// Azimuth angle
draw(shift(figc)*arc((0,0,0), rsk/4, 90, 180, 90, 180-az), p=pangle1);
draw(shift(figc)*arc((0,0,0), rsk/4+6, 90, 180, 90, 180-az), p=pangle1);

// Elevation angles of PS and PSS
draw(shift(figc)*rotate(180-az,Z)*rotate(90,X)*arc((0,0,0), rsk/3, 90, 0, 90, h), p=pangle2);
draw(shift(figc)*rotate(180-az,Z)*rotate(90,X)*arc((0,0,0), rsk/3, 90, -h, 90, 0), p=pangle2+paxes2);
draw(shift(figc)*rotate(180-az,Z)*rotate(90,X)*arc((0,0,0), rsk/3+3, 90, 0, 90, h), p=pangle2);
draw(shift(figc)*rotate(180-az,Z)*rotate(90,X)*arc((0,0,0), rsk/3+3, 90, -h, 90, 0), p=pangle2+paxes2);

// Elevation angles of PA and PAS
draw(shift(figc)*rotate(-az,Z)*rotate(90,X)*arc((0,0,0), rsk/3, 90, 0, 90, h), p=pangle2);
draw(shift(figc)*rotate(-az,Z)*rotate(90,X)*arc((0,0,0), rsk/3, 90, -h, 90, 0), p=pangle2+paxes2);
draw(shift(figc)*rotate(-az,Z)*rotate(90,X)*arc((0,0,0), rsk/3+3, 90, 0, 90, h), p=pangle2);
draw(shift(figc)*rotate(-az,Z)*rotate(90,X)*arc((0,0,0), rsk/3+3, 90, -h, 90, 0), p=pangle2+paxes2);

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current13:44, 29 May 2013Thumbnail for version as of 13:44, 29 May 2013376 × 256 (8 KB)Syntex (talk | contribs)User created page with UploadWizard

There are no pages that use this file.

Metadata