![](/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 have to admit that one week ago I played
around with MegaPOV's eval_pattern to see
if I could make a 3D-pattern "visible" with
a blob.
The image enclosed is one of the results
from experimenting with the bozo pattern.
The code I used to make it did not work
quite as I expected, so I didn't like the
result back then.
But I have had a second look at the image,
and now I think I like it.
Btw.:
Is there a way in MegaPOV to have a
"pattern surface" ? (I.e. make the surface
of a 3D-shape appear where a pattern have
a certain threshold value.)
Tor Olav
--
mailto:tor### [at] hotmail com
http://www.crosswinds.net/~tok/tokrays.html
Post a reply to this message
Attachments:
Download 'blobpattern02_.jpg' (24 KB)
Preview of image 'blobpattern02_.jpg'
![blobpattern02_.jpg](/povray.binaries.images/attachment/%3C39E103B3.7EE3B0A9%40hotmail.com%3E/blobpattern02_.jpg?ttop=443840&toff=11800&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 really lava-lampesque.
You can use a pigment function to define an isosurface.
#define pigfunc = funcion{pigment{bozo color_map{[0 rgb 1][1 rgb 0]}};
isosurface{
function{pigfunc(x*xfactor,y*yfactor,z*zfactor)*Some_factor}
.
.
.
}
--
http://www.capital.net/~hhawkins
----------------------------------------------------------------------------
----
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" <tor### [at] hotmail com> wrote :
>
> Is there a way in MegaPOV to have a
> "pattern surface" ? (I.e. make the surface
> of a 3D-shape appear where a pattern have
> a certain threshold value.)
Um... Isosurface? #declare the pattern as a function and use it that
way? Maybe I don't understand the question...
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) |
> #define pigfunc = funcion{pigment{bozo color_map{[0 rgb 1][1 rgb 0]}};
I mean #declare of coarse!
(that's a c/c++ism)
--
http://www.capital.net/~hhawkins
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) |
Fase clock animate dude.
--
Cheers
Steve email mailto:ste### [at] zeropps uklinux net
%HAV-A-NICEDAY Error not enough coffee 0 pps.
web http://www.zeropps.uklinux.net/
or http://start.at/zero-pps
1:24am up 10 days, 3:44, 2 users, load average: 1.02, 1.01, 1.00
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 <39E103B3.7EE3B0A9@hotmail.com>, Tor Olav Kristensen
<tor### [at] hotmail com> wrote:
> Is there a way in MegaPOV to have a
> "pattern surface" ? (I.e. make the surface
> of a 3D-shape appear where a pattern have
> a certain threshold value.)
The isosurface is perfect for this...
#declare Func =
function {
pigment {bozo color_map {[0 rgb 0][1 rgb 1]}}
}
isosurface {
function {Func(x, y, z)}
threshold 0.5
contained_by {
box {<-1,-1,-1>, < 1, 1, 1>}
}
}
--
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:
> ...
> Is there a way in MegaPOV to have a
> "pattern surface" ? (I.e. make the surface
> of a 3D-shape appear where a pattern have
> a certain threshold value.)
Thank you all for fast replies.
You've helped me to do what I wanted.
But I don't understand why one has to involve
pigments to determine a surface.
Why can I not define the function like this ?
function {
eval_pattern(bozo scale <1, 1, 1>/4, x + y + z)
}
Please explain.
Enclosed are an image I just made.
I love isosurfaces !
Tor Olav
--
mailto:tor### [at] hotmail com
http://www.crosswinds.net/~tok/tokrays.html
Post a reply to this message
Attachments:
Download 'bozo.jpg' (48 KB)
Preview of image 'bozo.jpg'
![bozo.jpg](/povray.binaries.images/attachment/%3C39E123D3.1C989ED3%40hotmail.com%3E/bozo.jpg?ttop=443840&toff=11800&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) |
In article <39E123D3.1C989ED3@hotmail.com>, Tor Olav Kristensen
<tor### [at] hotmail com> wrote:
> Why can I not define the function like this ?
>
> function {
> eval_pattern(bozo scale <1, 1, 1>/4, x + y + z)
> }
>
> Please explain.
Because nobody has added the eval_pattern() function to isosurface
functions yet. Oh, and it wouldn't be "x + y + z", it looks like you
meant "x, y, z". :-)
The eval_pattern() function would probably be a little bit faster than a
pigment function, and certainly easier to use, but I don't plan on
trying to add it to isosurfaces until a MegaPOV based on POV 3.5 is
released. Adding an isosurface function is a bit more complex than
ordinary functions, and I want to wait until the isosurface code is
cleaned up and organized better.
--
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) |
Chris Huff wrote:
> In article <39E123D3.1C989ED3@hotmail.com>, Tor Olav Kristensen
> <tor### [at] hotmail com> wrote:
>
> > Why can I not define the function like this ?
> >
> > function {
> > eval_pattern(bozo scale <1, 1, 1>/4, x + y + z)
> > }
> >
> > Please explain.
>
> Because nobody has added the eval_pattern() function to isosurface
> functions yet. Oh, and it wouldn't be "x + y + z", it looks like you
> meant "x, y, z". :-)
Yes you're right. I think I misunderstood that part.
> The eval_pattern() function would probably be a little bit faster than a
> pigment function, and certainly easier to use, but I don't plan on
> trying to add it to isosurfaces until a MegaPOV based on POV 3.5 is
> released. Adding an isosurface function is a bit more complex than
> ordinary functions, and I want to wait until the isosurface code is
> cleaned up and organized better.
Ahh... I thought that any float expression would do. -Sorry.
Has the added complexity anything to do with the derivatives
of these iso-functions ?
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) |
Steve wrote:
> Fase clock animate dude.
What do you mean ?
That I should make an animation of it ?
Have anyone done any animations with iso-
surfaces that changes their shapes according to
a 3D-pattern that has it's different parameters
changed slowly ?
I'll have to try that some day.
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) |