(forgive my drawing skills, everything is out of scale, and I wish my sphere looked more like a sphere)

If I hava a circle on a sphere, and then map the sphere to a plane using a stereographic projection, the circle will still be a circle on the projection.

The blue thing below is the sphere.

Blue sphere with a circle on it

Then projected to a plane from the point opposite to the circle center:

Projection 1

But depending on the projection point I choose on the sphere, the resulting circle is scaled and its original center is no longer the circle center in the projection:

Projection 2

Projection 3

So, given the circle in a radius 1 sphere (I have the position of the center in a rotation matrix, and the arc radius in radians), how can I find the center of the circle in the projection plane?

  • $\begingroup$ In principle, you can do something like the following: Use the rotation matrix to move your circle-center to something nice like (1,0,0). From here, you can compute a parametrization of the circle using trigonometric functions. Then, use the inverse rotation matrix to move everything (including your circle parametrization) back. Finally, apply the formula for stereographic projection to get a parametrization of a circle in the plane. Then take three points on the circle and solve for the unique equidistant point. Alternatively, take the three points before you project. $\endgroup$ – Charles Staats Apr 11 '12 at 21:51

Intersect the spherical circle with a meridian of the sphere that passes through its center. Find the two intersection points (if you have the location of the center in spherical coordinates, that is just a matter of adding and subtracting the radius from the polar coordinate/latitude/zenith distance). Project the two intersection points to the plane. By symmetry they have to be diametrically opposite points of the image circle, so the apparent center of the image circle is halfway between them.

  • $\begingroup$ Cool. Thanks. I thought the same thing just some time after posting. Since then I've been struggling to find the two intersection points between the circle and a meridian passing through the center. I only have the center in euclidean coordinates, and have little idea on how to work with spherical coordinates (I am much more a programmer than a mathematician). As soon as I am able to code it, I'll accept the answer. $\endgroup$ – lvella Apr 12 '12 at 0:10
  • $\begingroup$ In Euclidean coordinates, it is probably easiest to work in the plane containing the projection axis and the center. Then, if the spherical radius of the circle is $\rho$, the Euclidean distance between the center and a point on the circle is $2\cos \frac \rho 2$, and so you can find the Euclidean coordinates of the two intersection points by intersecting two plane circles (i.e. just a quadratic equation or two). $\endgroup$ – hmakholm left over Monica Apr 12 '12 at 10:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.