From 363274e273d0194b3464641c265fa85484056a87 Mon Sep 17 00:00:00 2001 From: Tonton Th Date: Mon, 31 Mar 2025 03:55:29 +0200 Subject: [PATCH] premier commit du printemps --- carto.pov | 6 ++- contexte.inc | 22 +++++---- cutoff.pov | 2 +- dynamic.inc | 23 +++++++++ escadrille.pov | 6 +-- essai.pov | 112 +++++++++++++++++++++++++++++++++++++++----- gadgets.inc | 7 +-- globals.inc | 4 +- groundbase.inc | 25 ++++++++-- hexabenz.inc | 36 ++++++++++---- hexabenz.pov | 16 ++----- hexacone.inc | 7 ++- hexacone.pov | 14 +----- hexawood.pov | 6 +-- survol.pov | 4 +- tools/config.sh | 4 +- tools/linkfarmer.sh | 3 +- trident.inc | 3 +- 18 files changed, 221 insertions(+), 79 deletions(-) diff --git a/carto.pov b/carto.pov index 9e595c8..12a27be 100644 --- a/carto.pov +++ b/carto.pov @@ -1,6 +1,8 @@ /* * H E X A C O N E * nouveau projet Thu Dec 5 11:37:05 AM UTC 2024 + * + * cartographie de l'hexamonde */ #version 3.7; @@ -25,12 +27,12 @@ // --------------------------------------------------------- -object { Repere scale 15 translate y*5 } +object { Repere scale 10 translate y*7 } object { Le_Decor } camera { location <45, 126, 18> - look_at <0, 1.18, 0.17 + NormClock> + look_at <0, 1.18, 0.17 + (1.9*NormClock)> angle 49 } diff --git a/contexte.inc b/contexte.inc index 85f4698..9abe1da 100644 --- a/contexte.inc +++ b/contexte.inc @@ -25,8 +25,9 @@ #macro RedBase_0 ( T ) difference { #local R = 2.46; - cylinder { 0, y*0.40, R } - cone { y*0.37, R*0.78, y*0.42, R*0.83 } + cylinder { 0, y*0.40, R } + 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) #local Dx = R * sin(radians(Foo)); #local Dz = R * cos(radians(Foo)); @@ -127,15 +128,15 @@ merge { { union { object { HexaBalls - texture { Lightning1 scale 0.33 } - rotate - translate <2, -1.1+1.01*Cos_010(NormClock), 4> + texture { Lightning1 scale 0.44 } + rotate + translate <2, 1.11*Cos_010(NormClock), 4> } object { HexaBalls texture { Lightning2 scale 0.56 } 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] +/* + * on rempli le tableau avec la place des trous + */ #fopen Holes "WS/holes.log" write #for (Idx, 0, 5) - #local Angle = Idx* 1.090; + #local Angle = (Idx + 0.17) * 1.090; #local Px = sin(Angle) * (SzSol * 1.21); #local Pz = cos(Angle) * (SzSol * 1.23); #declare UnderHoles[Idx] = ; @@ -187,12 +191,14 @@ difference { cylinder { -y*5, y*5, 3.4 translate UnderHoles[Foo] } #end } + texture { T_Planete_A scale 0.3333 } +/* texture { pigment { color Gray20 } normal { bumps 0.38 scale 2.6 } finish { phong 0.125 } } -// translate -y*1.55 +*/ } /* ======================================================= */ diff --git a/cutoff.pov b/cutoff.pov index 470e6d0..8f50d40 100644 --- a/cutoff.pov +++ b/cutoff.pov @@ -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 CamZ = 5.85 + (2.42*NormClock); diff --git a/dynamic.inc b/dynamic.inc index b1e6efa..1154a87 100644 --- a/dynamic.inc +++ b/dynamic.inc @@ -7,6 +7,29 @@ object { Les_Bibelots rotate y*clock translate UnderHoles[2] } 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 */ diff --git a/escadrille.pov b/escadrille.pov index e9d48f8..9b96897 100644 --- a/escadrille.pov +++ b/escadrille.pov @@ -31,9 +31,9 @@ // #debug concat("X ", str(posX,7,3), " 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 translate } #else @@ -46,7 +46,7 @@ #end // if pos... #end // loop IDX -#end //loop idZ +#end // loop idZ // ======================================================= diff --git a/essai.pov b/essai.pov index 1d0010a..9dcd937 100644 --- a/essai.pov +++ b/essai.pov @@ -16,34 +16,122 @@ #include "hexawood.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" -#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 RZ = 96 - (54*Cos_010(NormClock)); -object { Trident_A () rotate translate < -1.4, 3, 0> } -object { Trident_A () rotate <0, clock, 0> translate < 1.4, 1, 0> } -#end +union { + object { Trident_A () rotate + 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 } + // #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 { RedBase_0 (T_Grnt27) } +// object { RedBase_0 (T_Planete_B) } // ======================================================= -#local CamX = -2.7 + (2.8*Cos_010(NormClock)); -#local CamY = -0.91 + (2.3*exp(NormClock)); -#local CamZ = 5.777 - (0.8*Cos_010(NormClock)); +#local CamX = -2.7 + (1.8*Cos_010(NormClock)); +#local CamY = 0.91 + (1.3*exp(NormClock)); +#local CamZ = -5.777 + (0.8*Cos_01(NormClock)); -#local K = 4.7; +#local K = 8.6; #local CamX = CamX * K; -#local CamY = CamY * K; +#local CamY = CamY * K * 0.5; #local CamZ = CamZ * K; camera { diff --git a/gadgets.inc b/gadgets.inc index 0b24193..0086f0f 100644 --- a/gadgets.inc +++ b/gadgets.inc @@ -29,7 +29,7 @@ texture { WIP_color } */ #macro Bubble () sphere { - 0, 0.065 + 0, 0.070 #local R = rand(Rng1); #if ( R < 0.333 ) texture { Ruby_Glass } @@ -39,13 +39,14 @@ sphere { texture { Gold_Nugget } #end #undef R + scale <1.414, 1.000, 1.414> } #end #macro Un_Machin () union { #for (Y, 1, 8, 1) - object { Bubble() translate y*Y*0.1 } + object { Bubble() translate y*Y*0.11 } #end } #end @@ -53,7 +54,7 @@ union { #declare Les_Machins = object { union { - #local Rk = 3.95 + NormClock; + #local Rk = 3.90 + NormClock; #for (foo, 0, 359, 45) #local Xpos = Rk * sin(radians(foo)); #local Zpos = Rk * cos(radians(foo)); diff --git a/globals.inc b/globals.inc index 297528c..6768eae 100644 --- a/globals.inc +++ b/globals.inc @@ -32,7 +32,7 @@ global_settings { #declare R_basecone = 0.117; #declare H_cone = 0.97; -#declare R_gyro = 0.09; +#declare R_gyro = 0.08; #declare H_gyro = 2.10; #declare H_gylampe = 0.25; @@ -60,7 +60,7 @@ finish { ambient 1 specular 0.90 } { pigment { color rgb <0.20, 0.30, 0.10> } 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 { diff --git a/groundbase.inc b/groundbase.inc index 4338ae1..aa40053 100644 --- a/groundbase.inc +++ b/groundbase.inc @@ -38,6 +38,25 @@ texture { T_Beton_1 } object { Base_cabane_forme } 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 @@ -59,7 +78,7 @@ intersection { } cylinder { -y*5, y*5, SzSol*0.45 } } -finish { phong 0.105 } +finish { phong 0.096 } translate y*H_sol } @@ -92,7 +111,7 @@ texture { T_Grnt7 rotate 49 scale 0.333 } #declare GroudBase_coin = object { 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 } } } @@ -125,7 +144,7 @@ union { */ #local Dz = <0, 0, -7>; object { GroundBase_a translate Dz } - object { Cabane_Base_2 rotate y*180 + object { Cabane_Compteur rotate y*180 translate Dz + y*H_base } #undef Dz } diff --git a/hexabenz.inc b/hexabenz.inc index 2afaaed..321d079 100644 --- a/hexabenz.inc +++ b/hexabenz.inc @@ -24,10 +24,13 @@ union { #local Ty = E * cos(radians(foo)); object { Benz_Cone_Base () - #if ( rand(Rng1) < 0.5 ) + #local R = rand(Rng1); + #if ( R < 0.3333 ) texture { T_Silver_2C scale 11.50 } - #else + #elseif ( R < 0.6666 ) texture { T_Brass_2C scale 13.50 } + #else + texture { T_Brass_4A scale 13.50 } #end rotate -z*foo translate @@ -47,7 +50,7 @@ union { // ------------------------------------------------------ -#declare R_Tube = 0.18; +#declare R_Tube = 0.17; #local L_Tube = 0.54; #macro Benz_Tubules () @@ -63,7 +66,7 @@ merge { sphere { -Dza, R*1.8 translate } sphere { Dzb, R*1.8 translate } #end - #if ( rand(Rng1) < 0.360) + #if ( rand(Rng1) < 0.520) texture { Orange_Glass } #else texture { Yellow_Glass } @@ -84,7 +87,7 @@ scale <1, 1, 4.4> #if ( rand(Rng1) < 0.360) texture { Shadow_Clouds scale 0.56 } #else - texture { WIP_color } + texture { Flashy } #end #end // end macro @@ -98,12 +101,28 @@ union { rgb fade_distance 0.96 fade_power 1.95 - } } 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 { difference { @@ -117,9 +136,8 @@ difference { /* cette sphere devrait devenir un vrai cockpit ? */ - sphere { z*L_Tube*1.18, R_Tube*0.72 - scale <1, 0.73, 1> - translate y*R_Tube*0.87} + object { Forme_Cockpit + translate y*R_Tube*0.97} } cylinder { z*4, -z*4, R_Tube*0.95 } } diff --git a/hexabenz.pov b/hexabenz.pov index 019c5a6..6db9df8 100644 --- a/hexabenz.pov +++ b/hexabenz.pov @@ -14,16 +14,6 @@ #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 } -#declare Loc_cam = <0, 2, 1> + (Pos_RedB_0 * 1.33333); +#declare Loc_cam = <0, 2, NormClock> + (Pos_RedB_0 * 1.33333); camera { 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> // aperture 0.046 // blur_samples 30 - angle 40 - 15 * Cos_01(NormClock) + angle 40 - 14 * Cos_01(NormClock) } diff --git a/hexacone.inc b/hexacone.inc index 8ee3854..58fd336 100644 --- a/hexacone.inc +++ b/hexacone.inc @@ -154,10 +154,13 @@ merge { } 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 } - #else + #elseif (R < 0.8) texture { Dark_Green_Glass } + #else + texture { Flashy } #end } #end // macro diff --git a/hexacone.pov b/hexacone.pov index 6387221..843e7dd 100644 --- a/hexacone.pov +++ b/hexacone.pov @@ -14,16 +14,6 @@ #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 } @@ -38,10 +28,10 @@ object { Le_Decor } camera { 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> // aperture 0.046 // blur_samples 30 - angle 55 - 26 * Cos_01(NormClock) + angle 55 - 24 * Cos_01(NormClock) } diff --git a/hexawood.pov b/hexawood.pov index c7386c4..f21fa63 100644 --- a/hexawood.pov +++ b/hexawood.pov @@ -20,11 +20,11 @@ object { Le_Decor } -object { Repere translate <10, 1, 0> } +// object { Repere translate <10, 1, 10> } camera { location <40, 2, 15> - look_at <-20, 1.7, 20> - angle 42 + look_at <-20, 1.7, 25.6> + angle 26 + NormClock } diff --git a/survol.pov b/survol.pov index d08b19f..9bbc077 100644 --- a/survol.pov +++ b/survol.pov @@ -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 Pos = Cos_01(NormClock); #declare PosCam = Interpolate(Debut, Fin, Pos); -#declare LatCam = PosCam + <-1, -20, -(NormClock+9)>; +#declare LatCam = PosCam + <-1, -20, -(NormClock+10)>; camera { location PosCam diff --git a/tools/config.sh b/tools/config.sh index a3fdd23..cdf87d6 100644 --- a/tools/config.sh +++ b/tools/config.sh @@ -3,7 +3,7 @@ Img_Width=1024 Img_Height=720 -TEXTCOL="OliveDrab1" -STROKOL="Black" +TEXTCOL="OliveDrab2" +STROKOL="Gray20" NBFRAMES=360 diff --git a/tools/linkfarmer.sh b/tools/linkfarmer.sh index 2992f88..afded84 100755 --- a/tools/linkfarmer.sh +++ b/tools/linkfarmer.sh @@ -140,7 +140,7 @@ rm -f frames/Spool/*.png faire_le_titre linkfarm hexabenz -linkfarm hexacone +linkfarm hexawood linkfarm escadrille linkfarm survol linkfarm cutoff @@ -148,6 +148,7 @@ linkfarm topview linkfarm passage linkfarm scene linkfarm orbite +linkfarm hexacone linkfarm remote linkfarm essai diff --git a/trident.inc b/trident.inc index 76cd8e0..621dc37 100644 --- a/trident.inc +++ b/trident.inc @@ -55,7 +55,8 @@ merge { #macro Trid_A_ailette () union { #local E = 0.49; - object { Trid_A_cone () scale 0.7 translate x*E } + object { Trid_A_cone () scale 0.7 + translate } cylinder { 0, x*E, 0.012 scale <1, 4, 1> texture { T_Silver_3A } } #undef E