add the "Vase" concept
This commit is contained in:
130
essai.pov
130
essai.pov
@@ -159,15 +159,117 @@ union {
|
|||||||
|
|
||||||
// =======================================================
|
// =======================================================
|
||||||
/* Les choses, c'est l'espèce de vase avec des tiges
|
/* Les choses, c'est l'espèce de vase avec des tiges
|
||||||
qui bougent, je devrais trouver un nom plus parlant */
|
qui bougent, je devrais trouver un nom plus parlant.
|
||||||
|
|
||||||
|
Mieux, on garde la chose mais on en dérive le vase
|
||||||
|
*/
|
||||||
|
|
||||||
|
#macro Vase_le_corps_a ()
|
||||||
|
intersection {
|
||||||
|
box { <-5, -5, -5>, <5, 0, 5> }
|
||||||
|
difference {
|
||||||
|
sphere { 0, 0.34 }
|
||||||
|
sphere { 0, 0.30 }
|
||||||
|
scale <1, 1.64, 1>
|
||||||
|
}
|
||||||
|
texture { T_WIP_redwave scale 0.15 + 0.333*rand(Rng1)
|
||||||
|
rotate <75*rand(Rng1), 75*rand(Rng1), 75*rand(Rng1)>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#end
|
||||||
|
|
||||||
|
// ------------------------------------
|
||||||
|
#macro Vase_le_corps_b ()
|
||||||
|
union {
|
||||||
|
#for (foo, 0, 359.999, 60)
|
||||||
|
#local Dx = 0.35 * sin(radians(foo));
|
||||||
|
#local Dz = 0.35 * cos(radians(foo));
|
||||||
|
torus { 0.09, 0.016
|
||||||
|
rotate z*30 rotate y*(foo-90)
|
||||||
|
translate <Dx, 0, Dz>
|
||||||
|
#local R = rand(Rng1);
|
||||||
|
#if (R < 0.50) texture { Y_Texture }
|
||||||
|
#else texture { M_Texture }
|
||||||
|
#end // end if
|
||||||
|
} // torus
|
||||||
|
#end // end for (foo
|
||||||
|
}
|
||||||
|
#end // end macro
|
||||||
|
|
||||||
|
// ------------------------------------
|
||||||
|
// ASSEMBLER LE CORPS
|
||||||
|
#macro Vase_le_corps ()
|
||||||
|
union {
|
||||||
|
object { Vase_le_corps_a () }
|
||||||
|
object { Vase_le_corps_b () }
|
||||||
|
translate y*0.95
|
||||||
|
}
|
||||||
|
#end
|
||||||
|
// ------------------------------------
|
||||||
|
// LE PIED
|
||||||
|
|
||||||
|
#macro Vase_le_pied ()
|
||||||
|
union {
|
||||||
|
cylinder { 0, y*0.80, 0.07 texture { T_WIP_dents scale 0.2 } }
|
||||||
|
cylinder { 0, y*0.08, 0.20 texture { T_WIP_dents scale 0.4 } }
|
||||||
|
}
|
||||||
|
#end
|
||||||
|
// ------------------------------------
|
||||||
|
// LES TIGES
|
||||||
|
|
||||||
|
#macro Vase_les_tiges ()
|
||||||
|
union {
|
||||||
|
#local CK = NormClock * (7.876+rand(Rng1));
|
||||||
|
#for (Foo, 0, 9)
|
||||||
|
|
||||||
|
// tout cela est bien tortueux !
|
||||||
|
|
||||||
|
#local CK2 = CK + Foo;
|
||||||
|
#local C2X = (R_C + 0.051) * sin(CK2+rand(Rng1)) * sin(CK*3);
|
||||||
|
#local C2Z = (R_C + 0.051) * (sin(-CK2+rand(Rng1)) *
|
||||||
|
cos(CK*(rand(Rng1))));
|
||||||
|
#local Rt = 0.02+(0.02*Cos_010(NormClock))-0.03*rand(Rng1);
|
||||||
|
#local H = 0.38 + 0.55*rand(Rng1);
|
||||||
|
union {
|
||||||
|
cylinder { 0, <C2X, H, C2Z>, Rt }
|
||||||
|
sphere { <C2X, H, C2Z>, Rt }
|
||||||
|
#local R = rand(Rng1);
|
||||||
|
#if (R < 0.25) texture { tPlasticOrange }
|
||||||
|
#elseif (R < 0.50) texture { tPlasticBlue }
|
||||||
|
#elseif (R < 0.75) texture { tPlasticPrune }
|
||||||
|
#else texture { tPlasticGreen }
|
||||||
|
#end // if
|
||||||
|
}
|
||||||
|
#end // for
|
||||||
|
translate y*0.87
|
||||||
|
}
|
||||||
|
// #debug "== Fin chose les tiges\n"
|
||||||
|
#end // macro
|
||||||
|
|
||||||
|
|
||||||
|
// ------------------------------------
|
||||||
|
// ------------------------------------
|
||||||
|
|
||||||
|
#macro Vase ()
|
||||||
|
union {
|
||||||
|
Vase_le_pied ()
|
||||||
|
Vase_le_corps ()
|
||||||
|
Vase_les_tiges ()
|
||||||
|
}
|
||||||
|
#end // macro
|
||||||
|
|
||||||
|
// ------------------------------------
|
||||||
|
|
||||||
|
// =======================================================
|
||||||
|
|
||||||
#declare Des_Choses = object
|
#declare Des_Choses = object
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
object { Chose () translate < 2.2, 0, 2.32> }
|
object { Vase () scale 2 translate < 2.2, 0, 2.32> }
|
||||||
object { Chose () translate <-2.9, 0, 3.91> }
|
object { Vase () scale 1.4 translate <-2.9, 0, 3.91> }
|
||||||
object { Chose () translate < 2.9, 0, -4.07> }
|
object { Vase () scale 2 translate < 2.9, 0, -4.07> }
|
||||||
object { Chose () translate <-4.5, 0, -4> }
|
object { Vase () translate <-4.5, 0, -4> }
|
||||||
object { Repere translate 0.05*y }
|
object { Repere translate 0.15*y }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// =======================================================
|
// =======================================================
|
||||||
@@ -214,9 +316,12 @@ union {
|
|||||||
|
|
||||||
#debug " !!! ACTION !!!\n"
|
#debug " !!! ACTION !!!\n"
|
||||||
|
|
||||||
|
#local Rv = 0.5 + (0.1*sin(clock*0.113));
|
||||||
|
#local Gv = 0.11;
|
||||||
|
#local Bv = 0.2 * abs(sin(clock*0.014));
|
||||||
light_source {
|
light_source {
|
||||||
<-19, 44, -7>
|
<-32, 40, -7>
|
||||||
colour Gray40
|
colour <Rv, Gv, Bv>
|
||||||
parallel
|
parallel
|
||||||
point_at 0
|
point_at 0
|
||||||
}
|
}
|
||||||
@@ -231,13 +336,14 @@ union {
|
|||||||
#switch (Selector)
|
#switch (Selector)
|
||||||
#case (0)
|
#case (0)
|
||||||
object { Des_Choses }
|
object { Des_Choses }
|
||||||
|
#local AngleCam = 17;
|
||||||
#break
|
#break
|
||||||
#case (1)
|
#case (1)
|
||||||
object { Architecture rotate -y*(clock*0.666) }
|
object { Architecture rotate -y*(clock*0.666) }
|
||||||
#local AngleCam = 31.0;
|
#local AngleCam = 31.0;
|
||||||
#break
|
#break
|
||||||
#case (2)
|
#case (2)
|
||||||
object { HoleBorder_A (2.12) translate y }
|
object { HoleBorder_B (2.222) }
|
||||||
#break
|
#break
|
||||||
#case (3)
|
#case (3)
|
||||||
object { HorlogeDouble scale 2 rotate -y*(6*clock) }
|
object { HorlogeDouble scale 2 rotate -y*(6*clock) }
|
||||||
@@ -247,7 +353,7 @@ union {
|
|||||||
object { Blob_Boxed
|
object { Blob_Boxed
|
||||||
scale 4.000
|
scale 4.000
|
||||||
rotate <7, 0, 12> translate 3.7*y
|
rotate <7, 0, 12> translate 3.7*y
|
||||||
rotate -y*(clock*2) }
|
}
|
||||||
#break
|
#break
|
||||||
#case (5)
|
#case (5)
|
||||||
object { Anemone_A (3.10-NormClock, 1.50+NormClock)
|
object { Anemone_A (3.10-NormClock, 1.50+NormClock)
|
||||||
@@ -261,7 +367,7 @@ union {
|
|||||||
object { Repere }
|
object { Repere }
|
||||||
#break
|
#break
|
||||||
#case (6)
|
#case (6)
|
||||||
object { HexaStar scale 3 rotate y*(clock*0.5) translate y*3 }
|
object { HexaStar scale 3 rotate y*(clock*1.5) translate y*3.5 }
|
||||||
#break
|
#break
|
||||||
#case (7)
|
#case (7)
|
||||||
#local Pos = <0.5-NormClock, 0, 0>;
|
#local Pos = <0.5-NormClock, 0, 0>;
|
||||||
@@ -289,7 +395,7 @@ plane {
|
|||||||
camera {
|
camera {
|
||||||
orthographic
|
orthographic
|
||||||
location <CamX, CamY, CamZ>
|
location <CamX, CamY, CamZ>
|
||||||
look_at <0, 1.6, 0>
|
look_at <0, 1.5, 0>
|
||||||
|
|
||||||
right <image_width/image_height, 0, 0>
|
right <image_width/image_height, 0, 0>
|
||||||
angle AngleCam
|
angle AngleCam
|
||||||
|
|||||||
Reference in New Issue
Block a user