POV-Ray : Newsgroups : povray.binaries.images : Turbulent Isosurface box? : Re: Final "Rock" Server Time
16 Aug 2024 10:22:31 EDT (-0400)
  Re: Final "Rock"  
From: John & Amy Robinson
Date: 23 Mar 2002 15:49:06
Message: <3c9cea42@news.povray.org>
this is the code i used.  scaling the wrinkles pigment gives different
'smoothness' of bricks.  i guess granite or bumps would do just as well.
the random seed also makes sure every brick is different.  you could also
try messing around with the gray value.

john


/////

#declare f_rounded_box = function { internal(60) }

#declare rndm = seed(14577);

#macro aBrick(Seed)
#local W1 = function { pigment {wrinkles scale 2.5 translate
<Seed,Seed,Seed> } }

 isosurface {
 function { f_rounded_box(x,y,z,0.01,1.5,0.7,0.3) - W1(x,y,z).gray*0.65 }
 threshold 0
 max_gradient 1.7
 accuracy 0.01
 contained_by { box {<-2,-1,-1>,<2,1,0>} }
 scale 10
 pigment { rgb 0.975 }
 finish { ambient 0.1 diffuse 0.8 reflection  { 0 }specular 0.1 roughness
0.005 }
 }
#end

#declare yC = 0;
#while(yC < 50)
 #declare xC = -50;
 #while(xC < 50)
  object { aBrick(rand(rndm)*999999) translate <xC,yC,0> }
  object { aBrick(rand(rndm)*999999) translate <xC-16.5,yC+18,0> }
  #declare xC = xC + 33;
 #end
 #declare yC = yC + 36;
#end

camera {
    location <50,50,-150>
    look_at <0,25,0>
  }

 light_source { <100,50,-200> rgb 1 }



///////


"Patrick Dugan" <pat### [at] netinsnet> wrote in message
news:3c9cddec@news.povray.org...
> I tweaked it some more and finally got this:
>
>  isosurface {
>      function { f_rounded_box(x,y,z,0,0.85,0.85,0.85) - f_noise3d(x*5,
y*5,
> z*5)* 0.05 }
>      contained_by { box { -1 , 1} }
>      max_gradient 25
>       pigment {
>         gradient y
>         color_map {
>            [0.00 color Gray90]
>            [0.20 color Gray30]
>            [0.40 color Gray80]
>            [0.60 color Gray20]
>            [0.80 color Gray10]
>            [1.00 color Gray80]
>         }
>         turbulence 0.75
>         scale <1,0.1,1>
>       }
>      finish {ambient 0.4}
>      scale <0.3,0.1,0.3>
>  }
>
> That was the look I was trying to achieve.  Thanks for your help!
>
>
> "Christoph Hormann" <chr### [at] gmxde> wrote in message
> news:3C9CB8C2.E4D0FC55@gmx.de...
> >
> >
> > Patrick Dugan wrote:
> > >
> > > [...}
> > >  isosurface {
> > >      function { f_rounded_box(x,y,z,0,1,1,1) - f_noise3d(x*5, y*5,
z*5)*
> > > 0.25 }
> > >      pigment{Red}
> > >      scale 0.2
> > >  }
> > >
> > > [...]
> > > From the tutorial it
> > > seemed to be the most likely function, but it apparently isn't.
> >
> > As said in the other post you need an appropriate container object.  In
> > your example all surfaces are outside the (default) container, therefore
> > you only see the container itself.
> >
> > Christoph
> >
> > --
> > POV-Ray tutorials, IsoWood include,
> > TransSkin and more: http://www.tu-bs.de/~y0013390/
> > Last updated 18 Mar. 2002 _____./\/^>_*_<^\/\.______
>
>


Post a reply to this message


Attachments:
Download 'wall.jpg' (19 KB)

Preview of image 'wall.jpg'
wall.jpg


 

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