

So....
After the whole "surround a function with a tube" got explored (and still not
completely sorted out in my head), my brain decided to alert me that therein
might lay the possible solution to this problem.
I copypasted some code, fought with Phi again, "won", and got an elliptical
shaped torus. For a=2, b=1.5 it looked good, but the problem had always been
the eccentric tori. a=4 and b=0.75 revealed the same old problem.
I can't find the thread where you list the required specifications, but I don't
think that it's possible using a crosssectional circle of a constant radius.
Because that's what we're doing with the tube method. And this doesn't give
inner and outer curves that are themselves ellipses.
https://www.frassek.org/3dmathe/funktionsgraphalsrohrr%C3%B6hre/
https://image.jimcdn.com/app/cms/image/transf/dimension=1920x400:format=gif/path/scee86bccd27a6ab2/image/i16edd265f402b
f7c/version/1580469937/image.gif
We can get signed distance functions,
https://iquilezles.org/articles/distfunctions2d/
https://www.shadertoy.com/view/4sS3zz
and we know that we can calculate the tangent and normal vectors to the central
ellipse.
What I'm thinking right now is that we can ditch trying to create the whole
surface and focus on the 3 ellipses  the central, and the inner and outer. If
the inner and outer aren't the same distance away from the central curve along
the normal vector, then I'd say that this demonstrates that a solution isn't
possible, given the parameters.
I think I ran into this issue with Mike Horvath wanting ellipsoid shells 
simply scaling an ellipsoid doesn't give a constantdistance shell from the
original ellipsoid. But those ARE ellipsoids themselves. And calculating a
constantdistance shell would give objects that WEREN'T ellipsoids.
I'mm betting that those level sets of the signed distance function of an ellipse
 aren't ellipses.
So I think that some of the constraints are mutually exclusive.
Post a reply to this message
Attachments:
Download 'tubememe.jpg' (71 KB)
Preview of image 'tubememe.jpg'

