Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmueller
            Objets Géométriques en POV-Ray
English English English
Italiano  Italiano
Deutsch 

Page d'accueil
- Tutoriel POV-Ray
 
Objets Géométriques
   table des matières
Objets de Base
Objets avec macro + CSG
Objets dans "shapes3.inc"
D'autres objets comme macros
Objets 3D text

Autre Objets
  - blob
  - sphere_sweep
  - julia_fractal
  - Polyèdres réguliers
  - Paraboloide, Hyperboloide
  - Polynomial equations
  - Cubic & Quartic shapes
  ->Formes parametriques

Objets Non-CSG
height_field + HF macros
Isosurface
                                       
Surfaces parametriches
built-in object

Warning:
Mike Williams a écrit dans son grande tutoriel "Isosurface Tutorial" :
"Parametric surfaces render very slowly in POV-Ray ..."
et malheureusement c'est correct!

Équations parametriches sont un chemin alternative pour définer equations pour surfaces 3d.
Exemple pour la syntaxe :
Parametric
// --- parametric surface ---
parametric{
  function{ u }     //x(u,v)  or x
  function{ u*v }   //y(u,v)  or f(x,z)
  function{ v }     //z(u,v)  or z
  <-1,-1>,<1,1> // start, end of (u,v)
  contained_by{box{<-1,-1,-1>,<1,1,1>}}
  max_gradient 5
  accuracy 0.0035
  precompute 18 x,y,z


  texture{
    pigment{ color rgb<1,1,1> *1.2}
    finish { phong 0.5 }
  }
  scale  0.5
  rotate <0, 0, 0>
  translate < 0, 0.5, 0>
} // end of parametric ------
Parametric
parametric{
  function{ sin(u) }   // x(u,v)  ou x
  function{ cos(u) }   // y(u,v)  ou f(x,z)
  function{ v }        // z(u,v)  ou z
  <0,-2>,<2*pi,2>  // start, end(u,v)
  contained_by {box {<-2,-2,-2>,<2,2,2>}}
  max_gradient 7
  accuracy 0.005
  precompute 18 x,y,z
  texture{
    pigment{ color rgb<1,1,1>}
    finish { phong 0.5 }}
  scale 0.5
} // end of parametric ------
Parametric
parametric{
  function{ sin(u)+0.25*sin(v*2*pi)}// x(u,v)
  function{ cos(u) }   // y(u,v)
  function{ v }        // z(u,v)
  <0,-2>,<2*pi,2>  // start, end (u,v)
  contained_by {box {<-2,-2,-2>,<2,2,2>}}
  max_gradient 7
  accuracy 0.005
  precompute 18 x,y,z
  texture{
    pigment{ color rgb<1,1,1>*.8}
    finish { phong 0.1 }}
  scale 0.5
} // end of parametric ------
Parametric

parametric{
  function{ u }     //x(u,v)
  function{ 0.25*sin(u*2*pi)}//y(u,v)
  function{ v }     //z(u,v)
  <-4,-2>,<4,2> // start, end(u,v)
  contained_by {box {<-1,-1,-1>,<1,1,1>}}
  max_gradient 2
  accuracy 0.0035
  precompute 18 x,y,z
  texture {
    pigment{ color rgb<1,1,1>*1.2}
    finish { phong 0.5 } }
  scale  0.5
} // end of parametric ------
Parametric

parametric{
  function{ u }     //x(u,v)
  function{ 0.5*v*sin(u*2*pi)}//y(u,v)
  function{ v }     //z(u,v)
  <-4,-2>,<4,2> // start, end (u,v)
  contained_by {box {<-1,-1,-1>,<1,1,1>}}
  max_gradient 5
  accuracy 0.0035
  precompute 18 x,y,z
  texture {
    pigment{ color rgb<1,1,1>*1.2}
    finish { phong 0.5 } }
  scale  0.5
} // end of parametric -----
Parametric

parametric{
  function{ u }               //x(u,v)
  function{ 0.15*sin(u*4*pi)} //y(u,v)
  function{ v }               //z(u,v)
  <-4,-2>,<4,2> // start, end (u,v)
  contained_by {box {<-1,-1,-1>,<1,1,1>}}
  max_gradient 3
  accuracy 0.0035
  precompute 18 x,y,z
  texture {
    pigment{ color rgb<1,1,1>*1.2}
    finish { phong 0.5 } }
  scale  0.5
} // end of parametric -----
Parametric

parametric{
  function{ u }     //x(u,v)
  function{ 0.05*(sin(v*4*pi)+sin(u*4*pi))}
  function{ v }     //z(u,v)
  <-4,-2>,<4,2>  // start, end (u,v)
  contained_by {box {<-1,-1,-1>,<1,1,1>}}
  max_gradient 2
  accuracy 0.0035
  precompute 18 x,y,z
  texture {
    pigment{ color rgb<1,1,1>}
    finish { phong 0.5 } }
  scale  0.5
} // end of parametric -----
Parametric Conical screw:

parametric{
  function{ u*v*sin(15*v) } //x(u,v)
  function{ v }             //y(u,v)
  function{ u*v*cos(15*v) } //z(u,v)
  <0,-1>,<1,1> // start, end(u,v)
  contained_by {box {<-1,-1,-1>,<1,1,1>}}
  max_gradient 5
  accuracy 0.0035
  precompute 18 x,y,z
  texture {
    pigment{ color rgb<1,1,1>*1.2}
    finish { phong 0.5 } }
  scale  0.5
} // end of parametric -----
Parametric Conical spiral:
#declare a = 1.0;
#declare b = 8;
#declare c = 0.2;
#declare n = 5;
parametric{
 function { a*(1-0.5*v/pi)*sin(n*v+0.5*pi)*(1-cos(u))
            + c*sin(n*v+0.5*pi) }
 function { b*0.5*v/pi + a*(1-0.5*v/pi)*sin(u) }
 function { a*(1-0.5*v/pi)*cos(n*v+0.5*pi)*(1-cos(u))
            + c*cos(n*v+0.5*pi) }
  <0,0>,<2*pi,2*pi>  // start, end of (u,v)
  contained_by {box {<-1,-1,-1>*2*pi,<1,b/3,1>*2*pi}}
  max_gradient 10
  accuracy 0.0035
  precompute 18 x,y,z
  texture{ pigment{ color rgb<1,1,1>}
           finish { phong 0.5}}
  scale 0.125  rotate<0,90,0>
} // end of parametric -----
Parametric Dini-Surface:

#declare a = 1;
#declare b = 0.2;
parametric{
  function{ a*cos(u)*sin(v) }          //x(u,v)
  function{ cos(v)+ln(tan(v/2))+b*u }  //y(u,v)
  function{ a*sin(u)*sin(v) }          //z(u,v)
  <0,0.0001>,<4*pi,2>  // start, end(u,v)
  contained_by {box {<-1,-1,-1>*3,<1, 1, 1>*3}}
  max_gradient 5
  accuracy 0.0035
  precompute 18 x,y,z
  texture{
    pigment{ color rgb<1,1,1>*1.2}
    finish { phong 0.5 }}
  scale  0.5
} // end of parametric -----


top

© Friedrich A. Lohmüller, 2010
www.f-lohmueller.de