POV-Ray : Newsgroups : povray.binaries.images : Elliptical torus : Re: Elliptical torus Server Time28 Mar 2023 16:38:11 EDT (-0400)
 Re: Elliptical torus
 From: William F Pokorny Date: 2 May 2020 14:29:04 Message: <5eadbbf0\$1@news.povray.org>
```
{
"@context": "https://schema.org",
"@type": "DiscussionForumPosting",
"dateCreated": "2020-05-02T18:29:04+00:00",
"datePublished": "2020-05-02T18:29:04+00:00",
"author": {
"@type": "Person",
"name": "William F Pokorny"
}
}
On 5/2/20 9:27 AM, Bald Eagle wrote:
> Hopefully this is to spec.
>
> The green circles are torus{} objects to show that the cross section is indeed
> exactly circular.
>
> Not my best work, and it's only a parametric, not an implicit equation, but
> perhaps  I can "implicitize" it.
>
> It was the z part that needed some figuring.
>
> Hope you like.    :)
>

It is a cool shape.

I couldn't resist trying it though I have almost no experience with
parametric surfaces... First thing I learned is the parametric max
gradient doesn't seem to be much related to the isosurface one by value
at least...

Using:

parametric {
function { (_a + _R * cos(u)) * _r * cos(v) }
function { (_b + _R * cos(u)) * _r * sin(v) }
function { _R * _r * sin(u) }
<0,-pi>, <2*pi,pi>
contained_by { sphere{0, 1.5} }
accuracy 0.0005
precompute 10 x,y,z
pigment {rgb 1}
}

I started with max_gradient 1.0 as I might an isosurface, but ended up
as above.

// povr2 Parametric_EllipticalTorus.pov +p +w800 +h600 +a0.3 +am2 +r3
// 21,348,576,112   maxg 1.000,  accuracy 0.0001.  3058.277s
//  5,309,618,895   maxg 0.500,  accuracy 0.0005.   754.430s
//  1,164,854,065   maxg 0.100,  accuracy 0.0005.   165.657s
//    744,145,888   maxg 0.025,  accuracy 0.0005.   106.139s
//    683,049,468   maxg 0.005,  accuracy 0.0005.    97.377s (24.7s)

25s elapsed pretty slow but much faster than most any parametric I have
ever gotten from anyone and just run. What were you using for settings
and seeing for run times?

Aside: My f_eblob() function often ends up with max gradients well below
1.0 too. There I know I'm doing some stuff that takes out some of the
exponential behavior. It makes the gradient small but more linear.

Bill P.
```

Attachments: