|
|
Le 17-06-21 à 07:58, Bald Eagle a écrit :
>
> Without really knowing exactly what I was doing, and just plugging some stuff
> into the editor and changing some values, I got this in 5 min:
> (many thanks to Mike Williams http://www.econym.demon.co.uk/isotut/
> and David Wagner http://wiki.waggy.org/dokuwiki/povray/stainedglass)
>
> #version 3.71;
>
> global_settings {
> assumed_gamma 1.0
> }
>
> #include "colors.inc"
>
> camera {
> location <0.0, 0, -5.0>
> right x*image_width/image_height
> look_at <0, 0, 0>}
>
> light_source {<10, 10, -30> White}
>
> #declare Packing = 1.3; //(increase to make more tightly packed)
>
> #declare F =
> function {
> pigment {
> crackle
> form < -1, Packing, 0>
> metric 3
> offset 0
> turbulence 0.1
> color_map { [0 rgb 1] [0.99 rgb 0] [1 rgb 0] }
> scale 0.25
> }
> }
>
> isosurface {
> function { F(x,y,z).red - 0.5 }
> max_gradient 5.5
> contained_by{box{-1,1}}
> pigment {rgb 0.9}
> }
>
> Just needs some tweaking, colors and textures.
> NO idea how to get the parts sliced smooth by the container removed, but I
> supposed doing a difference or intersection with a highly textured box or
> something might be a good way to fake it.
>
> Sorry officer, there was no posted speed limit.
>
>
>
You can use multiple patterns. In this case, a boxed pattern may be
usefull with a colour_map that stays to 1 untill close to the edges,
then drops to zero over a relatively short distance. Something like this:
#declare F_Boxed = function{colour_map{[0 rgb 0][0.1 rgb 1]}}
Next, you multiply the two.
isosurface {
function { F(x,y,z).red - 0.5 } * function{F_Boxed(x,y,z).red}
max_gradient 5.5
contained_by{box{-1,1}}
pigment {rgb 0.9}
}
Post a reply to this message
|
|