POV-Ray : Newsgroups : povray.newusers : rendering of a wobbeling plane : Re: rendering of a wobbeling plane Server Time
28 Jul 2024 16:23:27 EDT (-0400)
  Re: rendering of a wobbeling plane  
From: atomman
Date: 19 Apr 2008 08:25:01
Message: <web.4809e3b6aed4a5916d3c682b0@news.povray.org>
Hi,
Thanks for all the nice suggestions.

> Just start with evenly spaced points in an array. Now, apply some vturbulence to
> each point.
> Now that your points are shifted from ther original locations, just use loops to
> place and connect them. Your objects will be moved on all 3 axis from ther
> original locations.

I think the turbulence option fits my need the best. But I'm not quite there
yet. Hers my preliminary code:

#############################################################################
#include "colors.inc"
#include "shapes.inc"
#include "math.inc"
#include "transforms.inc"
#include "analytical_g.inc"

  camera {
    location <-20, 20, -12>
    look_at <15,0,15>
  }
light_source{<2500,2500,-1500> color White}
sky_sphere{ pigment{ gradient <0,1,0>
                     color_map{ [0   color rgb<1,1,1>         ]//White
                                [0.4 color rgb<1,1,1>]//~Navy
                                [0.6 color rgb<1,1,1>]//<0.14,0.14,0.56>]//~Navy
                                [1.0 color rgb<1,1,1>         ]//White
                              }
                     scale 2 }
           }
 #declare Thicknes =6;

#declare molecule =
 union{
 sphere{<0,0,0>,1
   texture{
     pigment{color Red}
     finish {diffuse 0.9 phong 1}
     }// end of texture
    no_shadow
 }// end of sphere

 cylinder{<0.2,0,0.2>,
  <0.2,-Thicknes/2.2,0.2>,
  0.1
  texture{
   pigment{color rgb<1,0.65,0.0>}
 }
  no_shadow
 }
 cylinder{<-0.2,0,-0.2>,
  <0.2,-Thicknes/2.2,0.2>,
  0.1
  texture{
   pigment{color rgb<1,0.65,0.0>}
 }
  no_shadow
 }
 }

 #declare bi_molecule =
 union{
 object{
         molecule}
 object{ molecule
         rotate <0,0,180>
         translate < 0, -Thicknes,0>}
         }
 #declare S = 50;


#declare Z = 0;
#declare EndZ = S;
#declare Step = 1;

#while ( Z < EndZ + Step)

  #declare X = 0;
  #declare EndX = S;

  #while ( X < EndX + Step)
    #declare R = 0;
    //vturbulence(Lambda, Omega, Octaves, A)
     #declare A = <X,R,Z> + 1.5*vturbulence(0, 0, 1,<X,R,Z>)*<0,1,0>;
     object{ bi_molecule
     translate A}

  #declare X = X+Step;
  #end

#declare Z = Z+Step;
#end

############################################################################

Maybe I don't get the parameters for vturbulence because I can't get the surface
to be random at larger distances while being less random at shorter distances.

Any thoughts?


Post a reply to this message

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