premier commit du printemps

This commit is contained in:
Tonton Th 2025-03-31 03:55:29 +02:00
parent 3c4012945f
commit 363274e273
18 changed files with 221 additions and 79 deletions

View File

@ -1,6 +1,8 @@
/* /*
* H E X A C O N E * H E X A C O N E
* nouveau projet Thu Dec 5 11:37:05 AM UTC 2024 * nouveau projet Thu Dec 5 11:37:05 AM UTC 2024
*
* cartographie de l'hexamonde
*/ */
#version 3.7; #version 3.7;
@ -25,12 +27,12 @@
// --------------------------------------------------------- // ---------------------------------------------------------
object { Repere scale 15 translate y*5 } object { Repere scale 10 translate y*7 }
object { Le_Decor } object { Le_Decor }
camera { camera {
location <45, 126, 18> location <45, 126, 18>
look_at <0, 1.18, 0.17 + NormClock> look_at <0, 1.18, 0.17 + (1.9*NormClock)>
angle 49 angle 49
} }

View File

@ -25,8 +25,9 @@
#macro RedBase_0 ( T ) #macro RedBase_0 ( T )
difference { difference {
#local R = 2.46; #local R = 2.46;
cylinder { 0, y*0.40, R } cylinder { 0, y*0.40, R }
cone { y*0.37, R*0.78, y*0.42, R*0.83 } cylinder { 0, y*0.36, R*0.98 }
cone { y*0.37, R*0.80, y*0.42, R*0.83 }
#for (Foo, 20, 339, 10) #for (Foo, 20, 339, 10)
#local Dx = R * sin(radians(Foo)); #local Dx = R * sin(radians(Foo));
#local Dz = R * cos(radians(Foo)); #local Dz = R * cos(radians(Foo));
@ -127,15 +128,15 @@ merge {
{ {
union { union {
object { HexaBalls object { HexaBalls
texture { Lightning1 scale 0.33 } texture { Lightning1 scale 0.44 }
rotate <clock/3, clock/6, clock/9> rotate <clock/3, clock/4, clock/9>
translate <2, -1.1+1.01*Cos_010(NormClock), 4> translate <2, 1.11*Cos_010(NormClock), 4>
} }
object { HexaBalls object { HexaBalls
texture { Lightning2 scale 0.56 } texture { Lightning2 scale 0.56 }
rotate <-clock, clock*0.33333, clock> rotate <-clock, clock*0.33333, clock>
translate <5, -1+0.92*Cos_010(NormClock), -3> translate <4, 1.11*Cos_010(NormClock), -3>
} }
} }
} }
@ -166,9 +167,12 @@ blob {
#declare UnderHoles = array[6] #declare UnderHoles = array[6]
/*
* on rempli le tableau avec la place des trous
*/
#fopen Holes "WS/holes.log" write #fopen Holes "WS/holes.log" write
#for (Idx, 0, 5) #for (Idx, 0, 5)
#local Angle = Idx* 1.090; #local Angle = (Idx + 0.17) * 1.090;
#local Px = sin(Angle) * (SzSol * 1.21); #local Px = sin(Angle) * (SzSol * 1.21);
#local Pz = cos(Angle) * (SzSol * 1.23); #local Pz = cos(Angle) * (SzSol * 1.23);
#declare UnderHoles[Idx] = <Px, 0, Pz>; #declare UnderHoles[Idx] = <Px, 0, Pz>;
@ -187,12 +191,14 @@ difference {
cylinder { -y*5, y*5, 3.4 translate UnderHoles[Foo] } cylinder { -y*5, y*5, 3.4 translate UnderHoles[Foo] }
#end #end
} }
texture { T_Planete_A scale 0.3333 }
/*
texture { texture {
pigment { color Gray20 } pigment { color Gray20 }
normal { bumps 0.38 scale 2.6 } normal { bumps 0.38 scale 2.6 }
finish { phong 0.125 } finish { phong 0.125 }
} }
// translate -y*1.55 */
} }
/* ======================================================= */ /* ======================================================= */

View File

@ -35,7 +35,7 @@ object { Le_Decor }
// ======================================================= // =======================================================
#local CamX = -33.4 + (2.83*Cos_01(NormClock)); #local CamX = -33.4 + (2.89*Cos_01(NormClock));
#local CamY = 2.5 + (0.24*sqrt(NormClock)); #local CamY = 2.5 + (0.24*sqrt(NormClock));
#local CamZ = 5.85 + (2.42*NormClock); #local CamZ = 5.85 + (2.42*NormClock);

View File

@ -7,6 +7,29 @@
object { Les_Bibelots rotate y*clock translate UnderHoles[2] } object { Les_Bibelots rotate y*clock translate UnderHoles[2] }
object { Les_Machins rotate -y*clock translate UnderHoles[3] } object { Les_Machins rotate -y*clock translate UnderHoles[3] }
/*
* un hexabenz sur une base exterieure
*/
#declare BiBenz = object
{
#local K = 1.39;
union {
object { HexaBenz () rotate y*90 translate <-K, 1.75, 0> }
object { HexaBenz () translate < K, 1.71, 0> }
}
}
object { BiBenz rotate -y*(clock*0.19) translate Pos_RedB_0 }
#declare BiCone = object
{
#local K = 1.27;
union {
object { HexaCone () rotate y*90 translate <-K, 1.7, 1> }
object { HexaCone () translate < K, 1.9, 1> }
}
}
object { BiCone rotate -y*(Cos_010(NormClock)*777) translate Pos_RedB_1 }
/* /*
* on fait passer un hexatruc dans le ciel * on fait passer un hexatruc dans le ciel
*/ */

View File

@ -31,9 +31,9 @@
// #debug concat("X ", str(posX,7,3), " Z ", str(posZ,7,3), "\n") // #debug concat("X ", str(posX,7,3), " Z ", str(posZ,7,3), "\n")
// #debug concat("position Z ", str(posZ,7,3),"\n") // #debug concat("position Z ", str(posZ,7,3),"\n")
#if ( (abs(posX)>1) & (abs(posZ)>0.5) ) #if ( (abs(posX)>1.2) & (abs(posZ)>1.2) )
#if (rand(Rng1) < 0.555) #if (rand(Rng1) < 0.505)
object { HexaCone () rotate <Rx, Ry, Rz> object { HexaCone () rotate <Rx, Ry, Rz>
translate <posX, posY, posZ> } translate <posX, posY, posZ> }
#else #else
@ -46,7 +46,7 @@
#end // if pos... #end // if pos...
#end // loop IDX #end // loop IDX
#end //loop idZ #end // loop idZ
// ======================================================= // =======================================================

112
essai.pov
View File

@ -16,34 +16,122 @@
#include "hexawood.inc" #include "hexawood.inc"
// ======================================================= // =======================================================
// #include "dynamic.inc" // #include "dynamic.inc"
/* ======================================================= */ /* ======================================================= */
// ------------------------------------------------------ ##
#declare Horloge = object
{
#local Texte = str(NormClock, 6, 4);
#debug concat("Texte horloge ", Texte, "\n\n")
text {
ttf "datas/Rebel-Typographer.ttf" Texte 0.1, 0
texture { T_WIP_alert }
}
scale 3.00
rotate -90*x
translate <-4.5,-0.21, 0>
}
// ======================================================= // =======================================================
#include "trident.inc" #include "trident.inc"
#debug "\n ACTION !!!\n" #debug " ACTION !!!\n"
#if (1) // ------------------------------------------------------ ##
// ------------------------------------------------------ ##
#declare Tridents = object
{
#local RX = -11 + (80*sin(NormClock*9.81) + 3*sin(NormClock*23)); #local RX = -11 + (80*sin(NormClock*9.81) + 3*sin(NormClock*23));
#local RZ = 96 - (54*Cos_010(NormClock)); #local RZ = 96 - (54*Cos_010(NormClock));
object { Trident_A () rotate <RX, 0, RZ> translate < -1.4, 3, 0> } union {
object { Trident_A () rotate <0, clock, 0> translate < 1.4, 1, 0> } object { Trident_A () rotate <RX, 0, RZ>
#end translate < -1.4, 3, 0> }
object { Trident_A () rotate <0, clock, 0>
translate < 1.4, 2, 0> }
}
}
// ------------------------------------------------------ ##
#declare Gyros = object
{
union {
#for (I, 0, 359, 60)
#declare E = 9;
#declare Dx = E * sin(radians(I));
#declare Dz = E * cos(radians(I));
object { GyroPhare () translate <Dx, 0, Dz> }
// #debug " Gyro !!!\n"
#end
}
}
// ------------------------------------------------------ ##
object { Gyros }
/*
light_source {
<-8, 7, 19>
colour Gray60
parallel
point_at 0
}
*/
#declare Selector = mod(int(clock/32), 6);
#debug concat("Selector = ", str(Selector, 6, 0), "\n")
#switch (Selector)
#case (0)
object { Cabane_Compteur scale 2 rotate y*clock }
#debug " Cabane+Compteur !!!\n"
#break
#case (1)
object { QuadriPole }
#debug " Quadripole !!!\n"
#break
#case (2)
object { Tridents }
#debug " Deux Tridents !!!\n"
#break
#case (3)
object { Les_Bibelots translate y }
#debug " Bibelots !!!\n"
#break
#case (4)
object { Les_Machins }
#debug " Machins !!!\n"
#break
#case (5)
object { Horloge }
#debug " Horloge !!!\n"
#break
#end // switch selector
plane {
y, 0
texture { T_Planete_A scale 0.3333 }
}
object { Repere translate y*0.6 } object { Repere translate y*0.6 }
object { RedBase_0 (T_Grnt27) } // object { RedBase_0 (T_Planete_B) }
// ======================================================= // =======================================================
#local CamX = -2.7 + (2.8*Cos_010(NormClock)); #local CamX = -2.7 + (1.8*Cos_010(NormClock));
#local CamY = -0.91 + (2.3*exp(NormClock)); #local CamY = 0.91 + (1.3*exp(NormClock));
#local CamZ = 5.777 - (0.8*Cos_010(NormClock)); #local CamZ = -5.777 + (0.8*Cos_01(NormClock));
#local K = 4.7; #local K = 8.6;
#local CamX = CamX * K; #local CamX = CamX * K;
#local CamY = CamY * K; #local CamY = CamY * K * 0.5;
#local CamZ = CamZ * K; #local CamZ = CamZ * K;
camera { camera {

View File

@ -29,7 +29,7 @@ texture { WIP_color }
*/ */
#macro Bubble () #macro Bubble ()
sphere { sphere {
0, 0.065 0, 0.070
#local R = rand(Rng1); #local R = rand(Rng1);
#if ( R < 0.333 ) #if ( R < 0.333 )
texture { Ruby_Glass } texture { Ruby_Glass }
@ -39,13 +39,14 @@ sphere {
texture { Gold_Nugget } texture { Gold_Nugget }
#end #end
#undef R #undef R
scale <1.414, 1.000, 1.414>
} }
#end #end
#macro Un_Machin () #macro Un_Machin ()
union { union {
#for (Y, 1, 8, 1) #for (Y, 1, 8, 1)
object { Bubble() translate y*Y*0.1 } object { Bubble() translate y*Y*0.11 }
#end #end
} }
#end #end
@ -53,7 +54,7 @@ union {
#declare Les_Machins = object #declare Les_Machins = object
{ {
union { union {
#local Rk = 3.95 + NormClock; #local Rk = 3.90 + NormClock;
#for (foo, 0, 359, 45) #for (foo, 0, 359, 45)
#local Xpos = Rk * sin(radians(foo)); #local Xpos = Rk * sin(radians(foo));
#local Zpos = Rk * cos(radians(foo)); #local Zpos = Rk * cos(radians(foo));

View File

@ -32,7 +32,7 @@ global_settings {
#declare R_basecone = 0.117; #declare R_basecone = 0.117;
#declare H_cone = 0.97; #declare H_cone = 0.97;
#declare R_gyro = 0.09; #declare R_gyro = 0.08;
#declare H_gyro = 2.10; #declare H_gyro = 2.10;
#declare H_gylampe = 0.25; #declare H_gylampe = 0.25;
@ -60,7 +60,7 @@ finish { ambient 1 specular 0.90 }
{ {
pigment { color rgb <0.20, 0.30, 0.10> } pigment { color rgb <0.20, 0.30, 0.10> }
normal { dents 0.38 scale 0.5} normal { dents 0.38 scale 0.5}
finish { phong 0.80 reflection 0.05 } finish { phong 0.70 reflection 0.05 }
} }
#declare T_Planete_B = texture #declare T_Planete_B = texture
{ {

View File

@ -38,6 +38,25 @@ texture { T_Beton_1 }
object { Base_cabane_forme } object { Base_cabane_forme }
texture { T_Beton_2 } texture { T_Beton_2 }
} }
// ------------------------------------------------------ ##
#declare Compteur = object
{
#local Texte = str(clock, 3, 0);
#debug concat("Texte du compteur ", Texte, "\n\n")
text {
ttf "datas/ComicMono.ttf" Texte 0.1, 0
texture { T_WIP_alert }
}
}
#declare Cabane_Compteur = object
{
union {
object { Compteur scale 0.55
translate <-0.46, 0.22, 0.32> }
object { Cabane_Base_2 }
}
}
/* ======================================================= */ /* ======================================================= */
#declare GroundBase_Sol = object #declare GroundBase_Sol = object
@ -59,7 +78,7 @@ intersection {
} }
cylinder { -y*5, y*5, SzSol*0.45 } cylinder { -y*5, y*5, SzSol*0.45 }
} }
finish { phong 0.105 } finish { phong 0.096 }
translate y*H_sol translate y*H_sol
} }
@ -92,7 +111,7 @@ texture { T_Grnt7 rotate 49 scale 0.333 }
#declare GroudBase_coin = object #declare GroudBase_coin = object
{ {
merge { merge {
cylinder { 0, y*0.5, 0.09 } cylinder { 0, y*0.5, 0.10 }
sphere { 0, 0.10 scale <1, 0.23, 1> translate y*0.5 } sphere { 0, 0.10 scale <1, 0.23, 1> translate y*0.5 }
} }
} }
@ -125,7 +144,7 @@ union {
*/ */
#local Dz = <0, 0, -7>; #local Dz = <0, 0, -7>;
object { GroundBase_a translate Dz } object { GroundBase_a translate Dz }
object { Cabane_Base_2 rotate y*180 object { Cabane_Compteur rotate y*180
translate Dz + y*H_base } translate Dz + y*H_base }
#undef Dz #undef Dz
} }

View File

@ -24,10 +24,13 @@ union {
#local Ty = E * cos(radians(foo)); #local Ty = E * cos(radians(foo));
object { object {
Benz_Cone_Base () Benz_Cone_Base ()
#if ( rand(Rng1) < 0.5 ) #local R = rand(Rng1);
#if ( R < 0.3333 )
texture { T_Silver_2C scale 11.50 } texture { T_Silver_2C scale 11.50 }
#else #elseif ( R < 0.6666 )
texture { T_Brass_2C scale 13.50 } texture { T_Brass_2C scale 13.50 }
#else
texture { T_Brass_4A scale 13.50 }
#end #end
rotate -z*foo rotate -z*foo
translate <Tx, Ty, 0> translate <Tx, Ty, 0>
@ -47,7 +50,7 @@ union {
// ------------------------------------------------------ // ------------------------------------------------------
#declare R_Tube = 0.18; #declare R_Tube = 0.17;
#local L_Tube = 0.54; #local L_Tube = 0.54;
#macro Benz_Tubules () #macro Benz_Tubules ()
@ -63,7 +66,7 @@ merge {
sphere { -Dza, R*1.8 translate <Tx, Ty, 0> } sphere { -Dza, R*1.8 translate <Tx, Ty, 0> }
sphere { Dzb, R*1.8 translate <Tx, Ty, 0> } sphere { Dzb, R*1.8 translate <Tx, Ty, 0> }
#end #end
#if ( rand(Rng1) < 0.360) #if ( rand(Rng1) < 0.520)
texture { Orange_Glass } texture { Orange_Glass }
#else #else
texture { Yellow_Glass } texture { Yellow_Glass }
@ -84,7 +87,7 @@ scale <1, 1, 4.4>
#if ( rand(Rng1) < 0.360) #if ( rand(Rng1) < 0.360)
texture { Shadow_Clouds scale 0.56 } texture { Shadow_Clouds scale 0.56 }
#else #else
texture { WIP_color } texture { Flashy }
#end #end
#end // end macro #end // end macro
@ -98,12 +101,28 @@ union {
rgb <rand(Rng2), rand(Rng2), rand(Rng2)> rgb <rand(Rng2), rand(Rng2), rand(Rng2)>
fade_distance 0.96 fade_distance 0.96
fade_power 1.95 fade_power 1.95
} }
} }
rotate -z*clock*8 rotate -z*clock*8
} }
// -------------------------------------------
#local Forme_Cockpit = object
{
difference {
sphere { 0, R_Tube*0.72 }
sphere { 0, R_Tube*0.72 scale 0.99 }
#for (Foo, 0, 359, 36)
cylinder { x, 0, R_Tube*0.15
translate y*(R_Tube*0.32)
rotate y*Foo }
#end
}
scale <1, 0.87, 1>
translate z*L_Tube*1.18
}
#declare Benz_Cylindre = object #declare Benz_Cylindre = object
{ {
difference { difference {
@ -117,9 +136,8 @@ difference {
/* cette sphere devrait devenir /* cette sphere devrait devenir
un vrai cockpit ? */ un vrai cockpit ? */
sphere { z*L_Tube*1.18, R_Tube*0.72 object { Forme_Cockpit
scale <1, 0.73, 1> translate y*R_Tube*0.97}
translate y*R_Tube*0.87}
} }
cylinder { z*4, -z*4, R_Tube*0.95 } cylinder { z*4, -z*4, R_Tube*0.95 }
} }

View File

@ -14,16 +14,6 @@
#include "dynamic.inc" #include "dynamic.inc"
#declare BiBenz = object
{
#local K = 1.41;
union {
object { HexaBenz () rotate y*90 translate <-K, 1.75, 0> }
object { HexaBenz () translate < K, 1.71, 0> }
}
}
object { BiBenz translate Pos_RedB_0 }
// ======================================================= // =======================================================
@ -32,14 +22,14 @@ object { Le_Decor }
// object { Repere scale 2 } // object { Repere scale 2 }
#declare Loc_cam = <0, 2, 1> + (Pos_RedB_0 * 1.33333); #declare Loc_cam = <0, 2, NormClock> + (Pos_RedB_0 * 1.33333);
camera { camera {
location Loc_cam location Loc_cam
look_at Pos_RedB_0 + <0, 1, 0> look_at Pos_RedB_0 + <0, 1.20, 0>
// focal_point <0.37, 0.0, 0> // focal_point <0.37, 0.0, 0>
// aperture 0.046 // aperture 0.046
// blur_samples 30 // blur_samples 30
angle 40 - 15 * Cos_01(NormClock) angle 40 - 14 * Cos_01(NormClock)
} }

View File

@ -154,10 +154,13 @@ merge {
} }
sphere { 0, DTb*1.65 translate -DTa*x } sphere { 0, DTb*1.65 translate -DTa*x }
sphere { 0, DTb*1.65 translate DTa*x } sphere { 0, DTb*1.65 translate DTa*x }
#if (rand(Rng1) < 0.8) #local R = rand(Rng1);
#if (R < 0.4)
texture { Orange_Glass } texture { Orange_Glass }
#else #elseif (R < 0.8)
texture { Dark_Green_Glass } texture { Dark_Green_Glass }
#else
texture { Flashy }
#end #end
} }
#end // macro #end // macro

View File

@ -14,16 +14,6 @@
#include "dynamic.inc" #include "dynamic.inc"
#declare BiCone = object
{
#local K = 1.27;
union {
object { HexaCone () rotate y*90 translate <-K, 1.7, 1> }
object { HexaCone () translate < K, 1.9, 1> }
}
}
object { BiCone translate Pos_RedB_0 }
object { Le_Decor } object { Le_Decor }
@ -38,10 +28,10 @@ object { Le_Decor }
camera { camera {
location Loc_cam location Loc_cam
look_at Pos_RedB_0 + <0.12, 1.10, 0> look_at Pos_RedB_0 + <0.12, 1.16, 0>
// focal_point <0.37, 0.90, 0> // focal_point <0.37, 0.90, 0>
// aperture 0.046 // aperture 0.046
// blur_samples 30 // blur_samples 30
angle 55 - 26 * Cos_01(NormClock) angle 55 - 24 * Cos_01(NormClock)
} }

View File

@ -20,11 +20,11 @@
object { Le_Decor } object { Le_Decor }
object { Repere translate <10, 1, 0> } // object { Repere translate <10, 1, 10> }
camera { camera {
location <40, 2, 15> location <40, 2, 15>
look_at <-20, 1.7, 20> look_at <-20, 1.7, 25.6>
angle 42 angle 26 + NormClock
} }

View File

@ -23,12 +23,12 @@ object { Repere scale 2 translate y*2 }
// ======================================================= // =======================================================
#declare Debut = <-3, 87, 47> ; #declare Debut = <-3, 87, 54> ;
#declare Fin = < 2, 91, 8> ; #declare Fin = < 2, 91, 8> ;
#declare Pos = Cos_01(NormClock); #declare Pos = Cos_01(NormClock);
#declare PosCam = Interpolate(Debut, Fin, Pos); #declare PosCam = Interpolate(Debut, Fin, Pos);
#declare LatCam = PosCam + <-1, -20, -(NormClock+9)>; #declare LatCam = PosCam + <-1, -20, -(NormClock+10)>;
camera { camera {
location PosCam location PosCam

View File

@ -3,7 +3,7 @@
Img_Width=1024 Img_Width=1024
Img_Height=720 Img_Height=720
TEXTCOL="OliveDrab1" TEXTCOL="OliveDrab2"
STROKOL="Black" STROKOL="Gray20"
NBFRAMES=360 NBFRAMES=360

View File

@ -140,7 +140,7 @@ rm -f frames/Spool/*.png
faire_le_titre faire_le_titre
linkfarm hexabenz linkfarm hexabenz
linkfarm hexacone linkfarm hexawood
linkfarm escadrille linkfarm escadrille
linkfarm survol linkfarm survol
linkfarm cutoff linkfarm cutoff
@ -148,6 +148,7 @@ linkfarm topview
linkfarm passage linkfarm passage
linkfarm scene linkfarm scene
linkfarm orbite linkfarm orbite
linkfarm hexacone
linkfarm remote linkfarm remote
linkfarm essai linkfarm essai

View File

@ -55,7 +55,8 @@ merge {
#macro Trid_A_ailette () #macro Trid_A_ailette ()
union { union {
#local E = 0.49; #local E = 0.49;
object { Trid_A_cone () scale 0.7 translate x*E } object { Trid_A_cone () scale 0.7
translate <E, -0.05, 0> }
cylinder { 0, x*E, 0.012 cylinder { 0, x*E, 0.012
scale <1, 4, 1> texture { T_Silver_3A } } scale <1, 4, 1> texture { T_Silver_3A } }
#undef E #undef E