|
|
On 5/15/20 2:09 PM, Bald Eagle wrote:
> Whereupon Tor Olav Kristensen made a whopping follow-up post:
>
...
>
> And that's all I have for now.
>
Unsure how helpful, but I'd read in the past supertoroids a good way to
create various csg modeling shapes.
Along with other work brought up a parametric supertoroid alongside a
parametric of Cousin Ricky's include macro. The latter is a subset of
the former's function! See the attached image(2).
Good news, right... We can find, half a dozen, slightly different,
supposed, implicit equations in books, papers and the web for
supertoroids. Another day plus of struggle and I've not a single attempt
that does the a, b scaling correctly - most equations have other issues
too(3). I'm struggling with gradients in all of the implicit forms,
which makes trying ideas slow(4).
Aside:
----
I made an attempt too using my updated f_ellipsoid function creating
first an x,y shell with the proper scaling. Used my new f_multiply1to8
to get something torus like as well as some other forms.
The issue - perhaps like that you were up against in one of your posts -
is, while the surface (the roots) with respect to x,y are in the
correct(1) places, the gradients 'inside' are not of uniform value
around the ring. To a first order the multiplication affects z around
the ring, but I suspect the gradients are also not symmetrical about the
central supertorus axis. Not been able to come up with the right
corrections for even the first order z issue - yet again. :-)
If you or I get this going, Ricky's invoice is going to huge! :-)
Bill P.
(1) - Getting a supertoroid implicit which matches in every respect the
parametric one a worthy goal no matter, but I worry some whether the
resulting super torus will always be the right shape. I think it likely
depends on the approach taken with the rest of the 'csg' - and perhaps
some of the forms you've come up with might be what's needed.
(2) - Differences shown at a 2x multiple. These are due using compute
depths of 8 and 18 with other accuracy items the same. Not too
surprising, but interesting to see.
(3) - The function's terms and how they play with C++/SDL ones given
different e1/e2 parameters is tricky (abs() is your friend). Yep,
possible one or more forms is correctly as presented and it's me not
getting something right.
(4) - Isosurfaces, when not just slow, suddenly blinking out of
existence all or in part. It's as much the problem as slow renders and
forces high gradient settings 500, 1000 or to avoid.
Post a reply to this message
Attachments:
Download 'supertor_chapter7.jpg' (51 KB)
Preview of image 'supertor_chapter7.jpg'
|
|