How to plot the coordinates of a point on a sphere using a parametric formula?

147 Views Asked by At

I am trying to plot the coordinates of red point A in the graphic below, which is the intersection of the red curve F1 and the outer purple circle A0. The software I am using (GeoGebra) allows me to create intersections, but the numerical method the software uses is a little flaky, resulting in occasional errors. Plus, the intersections often disappear if I rotate the sphere when they shouldn't. Therefore I would like to plot the coordinates using parametric formulas instead.

enter image description here

Here are some facts:

  • The radius of the sphere is 1 unit.
  • The 2D angle between point A and point PointBottom around point PointCenter on the screen should be close to 16.1021140390572° or thereabouts. (I can't count on this value being entirely accurate due to the numerical issues I mentioned above.)
  • There are twelve green longitudinal arcs, so there is a 30° angle separating each of them around the vertical axis in 3D space.

I am using the following rotation matrix to draw the curves and plot other points:

a11 = cos(sphyaw1) cos(sphyaw2) - cos(sphpitch) sin(sphyaw1) sin(sphyaw2)
a12 = sin(sphpitch) sin(sphyaw2)
a13 = cos(sphyaw2) sin(sphyaw1) + cos(sphyaw1) cos(sphpitch) sin(sphyaw2)
a21 = sin(sphyaw1) sin(sphpitch)
a22 = cos(sphpitch)
a23 = -cos(sphyaw1) sin(sphpitch)

For instance, the parametric formula for the red curve F1 is:

x = cos(30°) sin(phi) a11 + cos(phi) a12 + sin(30°) sin(phi) a13
y = cos(30°) sin(phi) a21 + cos(phi) a22 + sin(30°) sin(phi) a23

where phi is between 0° and 180°.

The values for the other parameters are:

sphyaw1 = 330° (angle around the vertical axis)
sphpitch = 30° (angle around the horizontal axis)
sphyaw2 = 0° (angle around the vertical axis a second time)

These affect the orientation of the whole sphere. They are also supposed to be variable.

Any help would be appreciated, thanks.