Home
- POV-Ray Tutorial
- Realistisches Wasser
- undurchsichtig spiegelnd
- bewegte See
- teilweise transparent
- Wasserstrudel
- Wasser im Glas
> Isosurface Wasser
- Isosurface Meer
- Download
|
Realistisches Wasser mit POV-Ray
Teil
1 | 2 | 3 |
4 | 5 | 6 |
7
Wasser mit Wellen in einem Pool
mittels Isosurface
Man deklariert zunächst die Form eines Swimmingpools
ohne Wasser und wo man den Pool platzieren möchte.
(Ich verwende hier Variable für die Größen und die Transformation mittels 'transform',
denn diese Sachen muß man auch für das Swimmingpool-Wasser verwenden.
Zur den Definitionen der Pool-Texture und des Wasser-Materials siehe in der Szenen-Datei.)
//---------------------- Pool dimensions
#declare Pool_X = 5.00;
#declare Pool_Y = 2.00;
#declare Pool_Z = 8.00;
#declare Border = 0.50;
//------------------ Pool transformation
#declare Pool_Trans =
transform{ rotate<0,0,0>
translate<-2.5,0.10,-6>
} // end of transforme
//--------------------------------------- |
Dann macht man ein Loch an der Position des Pools:
//---------------------------------------
#declare Pool_Inner =
box{<0,-Pool_Y,0>,<Pool_X,Pool_Y,Pool_Z>
} //----------------------------------
#declare Pool_Outer =
box{<-Border, -Pool_Y-0.01, -Border> ,
<Pool_X+Border,0.001,Pool_Z+Border>
} //--------------------------------
//---------------------------------------
#declare Pool =
difference{
object{ Pool_Outer texture{Pool_Tex}}
object{ Pool_Inner texture{Pool_Tex}}
} // end of Difference
//---------------------------------------
// grass ground
difference{
plane{ <0,1,0>, 0
texture{
pigment{color rgb<.35,.65,0>*.7}
normal { bumps 0.75 scale 0.015}
finish { phong 0.1 }
} // end of texture
}// end plane
object{ Pool_Outer
texture{ Pool_Tex }
transform Pool_Trans
} // end of hole for the pool
} // end of ground
//---------------------------------------
// placing of the pool:
object{ Pool transform Pool_Trans }
//--------------------------------------- |
|
Ein Loch für den Pool
Pool ohne Wasser
|
Dann deklariert man eine 3D-Funktion durch ein 'pigment_pattern'
für die Modulation eines Isosurfaces (Äquipotentialfläche):
// pigment pattern for modulation
#declare Pigment_01 =
pigment{ bumps
turbulence 0.20
scale <3,1,3>*0.12
translate<1,0,0>
} // end pigment
//---------------------------------------
#declare Pigment_Function_01 =
function {
pigment { Pigment_01 }
} // end of pigment function
//---------------------------------------
isosurface {
function{
y
+Pigment_Function_01(x,y,z).gray*0.2
} // end of function
contained_by{
box{<-Border,-Pool_Y-1.01,-Border>,
< Pool_X+Border,1, Pool_Z+Border>
} //
} // end contained_by
accuracy 0.01
max_gradient 2
material{ Water_Material }
// dont scale this isosurface!
// scale the Pigment_01 if necessary!
transform Pool_Transformation
} // end of isosurface ------------------
//--------------------------------------- |
Zu weiteren Details siehe die folgende
Beschreibung dieser Szene für POV-Ray :
IsoWaterPool_01.pov
|
Ein Isosurface für das Wasser in einem Pool
Pool-Wasser mit isosurface
Teil
1 | 2 | 3 |
4 | 5 | 6 |
7
|
|