POV-Ray : Newsgroups : povray.binaries.images : Iso-waves (53KB) : Re: Iso-waves (53KB) Server Time
19 Aug 2024 16:18:15 EDT (-0400)
  Re: Iso-waves (53KB)  
From: Tor Olav Kristensen
Date: 13 Nov 2000 20:39:02
Message: <3A109729.E781EC86@online.no>
Chris Huff wrote:
> 
> In article <3A0FCAB9.D1347F95@online.no>, Tor Olav Kristensen
> <tor### [at] onlineno> wrote:
> 
> > I wanted make some cylinders that were "bent" according to a random
> > pattern by using an iso- surface.
> > I haven't succeeded doing this yet, but here's an intermediate
> > result. I'm not sure at all if it's possible to do what I want with
> > an iso- surface. (But I'm trying.)
> 
> It is very possible, and easy. Just use the pattern to adjust the xyz
> values fed to your function...the easiest way is to declare your
> function before you use it:
> 
> #declare Cyl = function {1 - sqrt(sqr(x) + sqr(z))}
> #declare PatX = function {...pigment function for x displacement...}
> #declare PatY = function {...pigment function for y displacement...}
> #declare PatZ = function {...pigment function for z displacement...}
> 
> isosurface {
>     function {Cyl(x-PatX(x,y,z), y-PatY(x,y,z), z-PatZ(x,y,z))}
>     ...
> }

This looks a bit similar to what I have been doing.

And I'm afraid that your bent cylinders will suffer
from the same flattening as mine when they are not
"moving" in the y-direction.

I.e.:
Their cross-section becomes oval, not circular.

But I'll try to use your code to verify this.


> This will do an effect similar to the type 0 displace warp...which leads
> to another way of doing it:
> #declare BentCyl =
> function {
>     pigment {function {1 - sqrt(sqr(x) + sqr(z))}
>         warp {displace {pigment...}}
>     }
> }
> 
> isosurface {
>     function {Cyl(x, y, z)}
>     ...
> }


I haven't explored warping yet, 
but it seems fun.

Thank you for this suggestion
- I'll look into it.


Just a little question at the end:

Will expressions like this

1 - sqrt(sqr(x) + sqr(z)

evaluate faster than these

$ SphereFunction = function { "sphere" <0> }

1 - Spherefunction (x, 0, z)

?


Tor Olav
-- 
mailto:tor### [at] hotmailcom
http://www.crosswinds.net/~tok/tokrays.html


Post a reply to this message

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