![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
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.)
This image shows two iso-surfaces.
Tor Olav
--
mailto:tor### [at] hotmail com
http://www.crosswinds.net/~tok/tokrays.html
Post a reply to this message
Attachments:
Download 'spaghetti.jpg' (54 KB)
Preview of image 'spaghetti.jpg'
![spaghetti.jpg](/povray.binaries.images/attachment/%3C3A0FCAB9.D1347F95%40online.no%3E/spaghetti.jpg?preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tor Olav Kristensen 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.)
I don't really understand the problem, because bending isosurface objects
usually isn't that difficult, maybe you should explain a bit more
detailed.
>
> This image shows two iso-surfaces.
>
> Tor Olav
Some emitting media near the horizon and a different texture for the upper
part would make it look quite interesting IMO, but it's probably more a
technical study.
Christoph
--
Christoph Hormann <chr### [at] gmx de>
Homepage: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3A0FCAB9.D1347F95@online.no>, Tor Olav Kristensen
<tor### [at] online no> 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 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)}
...
}
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, http://tag.povray.org/
<><
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Christoph Hormann wrote:
>
> Tor Olav Kristensen 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.)
>
> I don't really understand the problem, because bending isosurface objects
> usually isn't that difficult, maybe you should explain a bit more
> detailed.
I have enclosed an image that shows some
iso-cylinders that I have tried to bend
so that they follow the iso-surface below.
The problem is that they look like flattened
hoses whenever they "move" vertically.
> Some emitting media near the horizon and a different texture for the upper
> part would make it look quite interesting IMO, but it's probably more a
> technical study.
Sorry.
I was just exploring the possibilities.
(OK - I put in an unnecessary red light
and made the lights fade. But I didn't
really make a serious attempt to be
artistic :)
I don't know anything about media,
but thanks for the suggestions anyway.
Btw.:
There are 3 iso-surfaces in this image;
a red, a green and a white one.
Regards,
Tor Olav
--
mailto:tor### [at] hotmail com
http://www.crosswinds.net/~tok/tokrays.html
Post a reply to this message
Attachments:
Download 'hosehills.jpg' (62 KB)
Preview of image 'hosehills.jpg'
![hosehills.jpg](/povray.binaries.images/attachment/%3C3A109216.7194079D%40online.no%3E/hosehills.jpg?preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
That's fascinating!
All the best,
Andy Cocker
---------------------------------------------------------------
www.mariner9.net
..... for my music and graphics.
---------------------------------------------------------------
'I spilled spot remover on my dog. He's gone now. '
'I went to a restaurant that serves "breakfast at any time."
So I ordered french toast during the Renaissance. '
- Steven Wright.
"Tor Olav Kristensen" <tor### [at] online no> wrote in message
news:3A109216.7194079D@online.no...
>
> Christoph Hormann wrote:
> >
> > Tor Olav Kristensen 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.)
> >
> > I don't really understand the problem, because bending isosurface
objects
> > usually isn't that difficult, maybe you should explain a bit more
> > detailed.
>
> I have enclosed an image that shows some
> iso-cylinders that I have tried to bend
> so that they follow the iso-surface below.
>
> The problem is that they look like flattened
> hoses whenever they "move" vertically.
>
>
> > Some emitting media near the horizon and a different texture for the
upper
> > part would make it look quite interesting IMO, but it's probably more a
> > technical study.
>
> Sorry.
> I was just exploring the possibilities.
>
> (OK - I put in an unnecessary red light
> and made the lights fade. But I didn't
> really make a serious attempt to be
> artistic :)
>
> I don't know anything about media,
> but thanks for the suggestions anyway.
>
>
> Btw.:
> There are 3 iso-surfaces in this image;
> a red, a green and a white one.
>
>
> Regards,
>
> Tor Olav
> --
> mailto:tor### [at] hotmail com
> http://www.crosswinds.net/~tok/tokrays.html
----------------------------------------------------------------------------
----
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Chris Huff wrote:
>
> In article <3A0FCAB9.D1347F95@online.no>, Tor Olav Kristensen
> <tor### [at] online no> 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] hotmail com
http://www.crosswinds.net/~tok/tokrays.html
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3A109729.E781EC86@online.no>, Tor Olav Kristensen
<tor### [at] online no> wrote:
> 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.
Ok, you didn't say that was the problem...this method acts like
displacement mapping, it pushes the surface around without caring about
the overall shape. You want something that acts like a sphere_sweep...
and I think you will have to use a sphere_sweep to get it.
> I haven't explored warping yet,
> but it seems fun.
It will give the same results as the above, but the displace warp has
another type that might be useful to you.
> 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)
> ?
I don't know which is faster, but the first syntax will continue to work
in POV 3.5 with little or no modification, but the second("sphere" <0>)
syntax will be discontinued. And the first one is easier to modify.
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, http://tag.povray.org/
<><
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Tor Olav Kristensen wrote:
> I have enclosed an image that shows some
> iso-cylinders that I have tried to bend
> so that they follow the iso-surface below.
>
> The problem is that they look like flattened
> hoses whenever they "move" vertically.
Its' probably in effect a sweep of a vertical circle, not of a sphere. There may
be some workaround to get a function of distance from the center of the hose,
but don't look at me!
--
David Fontaine <dav### [at] faricy net> ICQ 55354965
My raytracing gallery: http://davidf.faricy.net/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
David Fontaine wrote:
>
> Tor Olav Kristensen wrote:
>
> > I have enclosed an image that shows some
> > iso-cylinders that I have tried to bend
> > so that they follow the iso-surface below.
> >
> > The problem is that they look like flattened
> > hoses whenever they "move" vertically.
>
> Its' probably in effect a sweep of a vertical circle, not of a sphere. There may
> be some workaround to get a function of distance from the center of the hose,
> but don't look at me!
Yes I agree, and I've been bending my mind to try
to come up with something that will enable me to
do something like a sphere sweep in there.
The problem is that the center of the "hose" does not
lie on a straight line anymore when it is being pushed.
I think that maybe one could try to find the slope and
direction of the line in the region where the current
point is and then try to find the point on that line
that is closest to the current point.
And then (I think) one could sample the "pushing"
pattern in front and behind the point that are used to
decide the "pushing" amount, in order to estimate the
slope.
But again:
My PC is to slow to let me explore this :(
(And I don't feel for doing this right now either :)
Regards,
Tor Olav
--
mailto:tor### [at] hotmail com
http://www.crosswinds.net/~tok/tokrays.html
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |