Stereographic construction of a surface on revolution shape

is there a way to end up with a surface whose UV directions are mapped stereographically on a revolution shape?
(in a way that all outermost UV points meet on the “north pole” like the image on the right)


The closest thing I’ve found is the ‘shrink wrap’ modifier in 3d suites for texture mapping. Is there something equivalent for surface construction?


Hi Aris,

attached is a stereographic sphere. The math behind is described on this page:

It think it should be possible to use the math in grasshopper. If your revolution shape is an ellipsoid you can easily scale the z-value in the equation. Otherwise you may use _FlowAlongSrf

stereographic_sphere.3dm (81.7 KB)

1 Like

wow! very useful link!
(being a lazy dog I was hoping for a ‘plug and play’ solution, but this will do!)
thank you very much!!!

It will be difficult to get the points to actually meet at the pole. That only happens when the parameter space goes to infinity. Also know that in between the sampled points, the surface is merely approximately a sphere. Using an interpolated surface scheme will give better interior results, but introduce slight wobbles around the edges.

This file shows @Jess’s equations: (17.1 KB)

1 Like

Thanks David!
I think it would have taken me one or two days of trial and error to get to this definition!
It’s ok about the pole, I don’t need it. I want to use it for surface Morph hopefully it won’t be too wobbly.

The view is wonderful from the shoulders of giants!
It works like a charm!!!
kinky sweep is now feasible on doulbe curvature surfaces as well!!!
I am debugging it and will post it in case somebody else wants it as well
Thanks again!!!


This would result in a bad Rhino Object anyways. So it is better to stay off the pole for a certain amount and solve any calculations close to the pole with an exception.

Attached is a modified version of this sphere. Hope it helps…
stereographic_rebuild.3dm (695.3 KB)

1 Like

wow! Laurent, C’est très impressionnant! merci beaucoup!!!