My Elliptical Cone

I’ve still been thinking about this elliptical cone! It has been the main character in my geometric proof on stereographic projection mapping circles to circles.

The idea has been to reduce a three-dimensional problem to a two-dimensional one, by noting that something has to be symmetric. A circle on a sphere is mapped to some shape in the plane. If both shapes are circles, then two circular discs would be inserted into a cone-like structure. If a cone with circular base is intersected by a plane, then the sections are ellipses (or hyperbolas or parabolas). But if there is a circular section at some random inclination angle, then the base area cannot be a circle. I am thinking of a circular cone being gently squeezed (linearly transformed) until the elliptical section becomes a circle. Then the base area will be an ellipse.

If you insert two circular discs in the elliptical projection cone, they have to be tilted by the same angle with respect to the symmetry axis of the cone. Proofing this, is a matter of spotting several sets of suitable triangles. Then I’ve argued why this already is really sufficient – using a view from another direction, where each circle is depicted as an ellipse with the same eccentricity.

I wonder though, if the elliptical cone was actually visible in my sketch. The only ellipses in my drawing are the projections of my circles to the drawing plane. When am thinking about the setup, I am seeing all the shapes and bodies being composed of thin wire loops.

The images below are the result of putting that into math and code. Two different projection scenarios: In the first one, the circle in the plane is nearly inside the sphere. The cone’s ellipses nearly look like circles. In the second scenario, the elliptical cone is worth its name: a small circle near the North Pole is projected to a large circle in the plane, via a cone made of elongated ellipses.


Scenario 1 – civilized circles, well-rounded ellipse:

Scenario 2 – wild circles, wild ellipses:



Created in SageMath, using custom Python code. Axes, legends etc. hidden on purpose. Every ‘wire loop’ is a parameterized curve, generated from the equations that describe these shapes implicitly. I made only limited use of SageMath’s power, so no built-in functions to intersect surfaces and the like. I tried to make use of the symmetry of the configuration, e.g. by letting one axis in the plane run through the center of the circle in the plane.

I picked a random plane by choosing a normal vector to it. Intersected the sphere with the plane to get the circle on the sphere, re-parameterized it using the phase angle and radius. Built the elliptical cone surface from all lines connecting that circle to the pole. Constructed the two lines on the cone closest and farthest from the vertical axis. Built the circle in the equatorial plane from these lines, rather than intersecting the cone with the plane. Cross-checked it is the intersection, by temporarily showing a 3D plot of the cone. Adding the unit vectors along these extreme lines, I constructed the symmetry axis of the cone. Cut planes perpendicular to the axis with the cone to get the ellipses. Played with selecting colors, distances between loops, and viewing angles for hours. Was happy.

Leave a Comment

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.