POV-Ray : Newsgroups : povray.binaries.images : Vortex pattern Server Time
2 May 2024 03:01:59 EDT (-0400)
  Vortex pattern (Message 4 to 13 of 13)  
<<< Previous 3 Messages Goto Initial 10 Messages
From: Thomas de Groot
Subject: Re: Vortex pattern
Date: 14 Jul 2019 02:39:31
Message: <5d2ace23$1@news.povray.org>
On 13-7-2019 18:52, Bald Eagle wrote:
> Bill,
> 
> Here's what I am working with so far:
> 

Way beyond my skills of course, but I am deeply impressed with your (and 
Bill's) work here. Keep it up!

-- 
Thomas


Post a reply to this message

From: Bald Eagle
Subject: Re: Vortex pattern
Date: 14 Jul 2019 15:25:02
Message: <web.5d2b81843717ac604eec112d0@news.povray.org>
"Bald Eagle" <cre### [at] netscapenet> wrote:

> I'm going to try to apply a falloff from 1 to 0 in the y direction, and see if I
> can't code up an isosurface scene that works with that...

Right-o.
So I got the isosurface working with a pigment function, after Mike Williams'
invaluable site gave me the crucial function {} - 0.5 trick.

Then once I got the isosurface to display what was actually going on in 3D, I
realized that there was some rewriting needing to be done.  The quicky function
that I piggybacked onto BP's code resulted in a plane at y=0 that looked great,
but as my earlier attempts at displaying the 25 different patterns suggested,
and the isosurface confirmed, all was not well at y != 0.

The distance function was spherical, and IIRC, I had changed the rotated pattern
to cylindrical (y=0). That resulted in a weird sphere of rotated pattern inside
an empty cylinder, surrounded by the default pattern.

So I fixed all of that, and then had to limit the rotation to only take place in
the 0 < y < 1 region.  That made my head hurt for most of the morning.   Got
that straightened out, and then generalized it to 0 < y < Radius.

So then had to concoct some sort of way to take that little cylinder of space
and taper it so that it was full radius at y=1, and 0 radius at y = 0.

So I nested another select function inside the first, and used that to control
where there was twist, and where there wasn't.  After 6 or 8 petit mal
mathematical epileptic fits, and a trip to the laundromat (where I worked it out
in one last attempt) I got a usable equation for proof of concept.

Replacing Pattern(x,y,z).x with 0 gives me empty space where there is no twist,
thus having the isosurface model only the region where the effect is applied.

Then I reversed the outcomes to model only the default pattern with the affected
region missing, and gave that a mostly transparent pigment.

So here's what that looks like so far.

A better set of Falloff equations would be a useful toolkit for people to play
around more with this.

I think if I do 2 (4?) more isosurfaces with the .green and .blue components,
and a rgbf pigment, then maybe I can closely model the full-color pattern in 3D.
Or just do it in media with density patterns.

Anyway here's leopard scale 0.05 in a 4-unit cube with the twist effect in red.


Post a reply to this message


Attachments:
Download 'documentationfigures.png' (441 KB)

Preview of image 'documentationfigures.png'
documentationfigures.png


 

From: jr
Subject: Re: Vortex pattern
Date: 14 Jul 2019 20:10:00
Message: <web.5d2bc3cf3717ac603936914a0@news.povray.org>
hi,

"Bald Eagle" <cre### [at] netscapenet> wrote:
> ...
> Anyway here's leopard scale 0.05 in a 4-unit cube with the twist effect in red.

can this be used to make a "twister" (ie tornado)?  v nice.


regards, jr.


Post a reply to this message

From: Bald Eagle
Subject: Re: Vortex pattern
Date: 14 Jul 2019 20:55:00
Message: <web.5d2bcedc3717ac604eec112d0@news.povray.org>
"jr" <cre### [at] gmailcom> wrote:

> can this be used to make a "twister" (ie tornado)?  v nice.

Sir, here at news.povray.org, we are always happy to receive your requests and
provide exactly these types of much anticipated solutions to highly desired
raytracing pattern problems.

I played around a bit in LibreOffice (for way too long), trying to add a bit of
pizzazz to my otherwise uninspiring YFalloff equation.

Using a _variable_ exponent, along with adding in a small constant in order to
keep the funnel above a certain minimum size was just the ticket.

I literally JUST got done coding this one up.   :)

Might be another one on the way to better illustrate the twister.


Post a reply to this message


Attachments:
Download 'documentationfigures.png' (131 KB)

Preview of image 'documentationfigures.png'
documentationfigures.png


 

From: Bald Eagle
Subject: Re: Vortex pattern
Date: 14 Jul 2019 21:20:01
Message: <web.5d2bd4653717ac604eec112d0@news.povray.org>
"Bald Eagle" <cre### [at] netscapenet> wrote:
> "jr" <cre### [at] gmailcom> wrote:
>
> > can this be used to make a "twister" (ie tornado)?  v nice.

> Might be another one on the way to better illustrate the twister.

I had to add a y-component to the pattern to add a twist along y, so now it not
only rotates, it _twists_.  I should probably add a control factor for that into
the formula.  :)


Post a reply to this message


Attachments:
Download 'documentationfigures.png' (84 KB)

Preview of image 'documentationfigures.png'
documentationfigures.png


 

From: jr
Subject: Re: Vortex pattern
Date: 15 Jul 2019 11:15:01
Message: <web.5d2c98663717ac603936914a0@news.povray.org>
hi,

"Bald Eagle" <cre### [at] netscapenet> wrote:
> "Bald Eagle" <cre### [at] netscapenet> wrote:
> > "jr" <cre### [at] gmailcom> wrote:
> > > can this be used to make a "twister" (ie tornado)?  v nice.
> > Might be another one on the way to better illustrate the twister.
>
> I had to add a y-component to the pattern to add a twist along y, so now it not
> only rotates, it _twists_.  I should probably add a control factor for that into
> the formula.  :)

looks pretty awesome already, that twist really does it.  :-)  are the solid
bits (isosurface fragments?) solid as in can do meaningful 'inside()' tests?  I
ask because I'm thinking (convert to) DF3.


regards, jr.


Post a reply to this message

From: Bald Eagle
Subject: Re: Vortex pattern
Date: 15 Jul 2019 13:25:06
Message: <web.5d2cb6763717ac604eec112d0@news.povray.org>
"jr" <cre### [at] gmailcom> wrote:

> are the solid
> bits (isosurface fragments?) solid as in can do meaningful 'inside()' tests?  I
> ask because I'm thinking (convert to) DF3.

So, the way I think it works is that my isosurfaces are open

but if you want to do CSG, you need to just do

isosurface {
.....

all_intersections

inverse // for some functions, I don't think all
// or maybe alternatively use the polarity keyword (vide infra)
}

http://wiki.povray.org/content/Reference:Isosurface

When the isosurface is not fully contained within the contained_by object, there
will be a cross section. When this happens, you will see the surface of the
container. Using the open keyword, these cross section surfaces are removed, and
the inside of the isosurface becomes visible.

Note: Using open slows down the render speed, and it is not recommended for use
with CSG operations.

Isosurfaces can be used in CSG shapes since they are solid finite objects - if
not finite by themselves, they are through the cross section with the container.
By default POV-Ray searches only for the first surface which the ray intersects.
However, when using an isosurface in CSG operations, the other surfaces must
also be found. Consequently, the keyword max_trace followed by an integer value,
must be added to the isosurface statement. To check for all surfaces, use the
keyword all_intersections instead. With max_trace it only checks until that
number is reached.

Note: The current implementation has a limit of 10 intersections in all cases.

By default, the inside of an isosurface is defined as the set of all points
inside the contained_by shape where the function values are below the threshold.
New in version 3.8 this can be changed via the polarity keyword. Specifying a
positive setting or on will instead cause function values above the threshold to
be considered inside. Specifying a negative setting or off will give the default
behavior.


Post a reply to this message

From: Bald Eagle
Subject: Re: Vortex pattern
Date: 15 Jul 2019 16:15:00
Message: <web.5d2cde703717ac604eec112d0@news.povray.org>
Thomas de Groot <tho### [at] degrootorg> wrote:

> Way beyond my skills of course, but I am deeply impressed with your (and
> Bill's) work here. Keep it up!


Thanks, Thomas.  :)   I'm always trying to see a bit farther and get a bigger
picture - and I only ever manage to do that most days by being given a huge
hand-up by the Giants here in our little corner of the Internet.

Thanks for the encouragement.


Post a reply to this message

From: Bald Eagle
Subject: Re: Vortex pattern
Date: 18 Feb 2021 18:50:01
Message: <web.602efc393717ac601f9dae300@news.povray.org>
So, I was initially playing with this as a _pigment_, but then I remembered that
a pigment is only a surface effect, and I couldn't get the funnel to show up
through the "clear" portions.

So I implemented it in media, but the parts of the media that don't have density
don't seem to be transparent.

I needed to play around a bit with the math, and that gave the bonus discoveries
that I could add a funnel shape term and a "ground effect" term.

Still needs a lot of work to get it to seamlessly transition from the parent
pattern to the vortex-rotated pattern.


I'm assuming that I will need to do an isosurface if I want to texture it like a
normal object with a color_mapped pigment.


Post a reply to this message


Attachments:
Download 'vortexmedia.png' (107 KB)

Preview of image 'vortexmedia.png'
vortexmedia.png


 

From: Thomas de Groot
Subject: Re: Vortex pattern
Date: 19 Feb 2021 02:38:02
Message: <602f6ada$1@news.povray.org>
Op 19/02/2021 om 00:46 schreef Bald Eagle:
> So, I was initially playing with this as a _pigment_, but then I remembered that
> a pigment is only a surface effect, and I couldn't get the funnel to show up
> through the "clear" portions.
> 
> So I implemented it in media, but the parts of the media that don't have density
> don't seem to be transparent.
> 
> I needed to play around a bit with the math, and that gave the bonus discoveries
> that I could add a funnel shape term and a "ground effect" term.
> 
> Still needs a lot of work to get it to seamlessly transition from the parent
> pattern to the vortex-rotated pattern.
> 
> 
> I'm assuming that I will need to do an isosurface if I want to texture it like a
> normal object with a color_mapped pigment.
> 

Smart. Following this with interest.

-- 
Thomas


Post a reply to this message

<<< Previous 3 Messages Goto Initial 10 Messages

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.