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
* 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
}

View File

@ -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 <clock/3, clock/6, clock/9>
translate <2, -1.1+1.01*Cos_010(NormClock), 4>
texture { Lightning1 scale 0.44 }
rotate <clock/3, clock/4, clock/9>
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] = <Px, 0, Pz>;
@ -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
*/
}
/* ======================================================= */

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 CamZ = 5.85 + (2.42*NormClock);

View File

@ -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
*/

View File

@ -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 <Rx, Ry, Rz>
translate <posX, posY, posZ> }
#else
@ -46,7 +46,7 @@
#end // if pos...
#end // loop IDX
#end //loop idZ
#end // loop idZ
// =======================================================

112
essai.pov
View File

@ -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 <RX, 0, RZ> translate < -1.4, 3, 0> }
object { Trident_A () rotate <0, clock, 0> translate < 1.4, 1, 0> }
#end
union {
object { Trident_A () rotate <RX, 0, RZ>
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 { 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 {

View File

@ -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));

View File

@ -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
{

View File

@ -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
}

View File

@ -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 <Tx, Ty, 0>
@ -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 <Tx, Ty, 0> }
sphere { Dzb, R*1.8 translate <Tx, Ty, 0> }
#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 <rand(Rng2), rand(Rng2), rand(Rng2)>
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 }
}

View File

@ -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)
}

View File

@ -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

View File

@ -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)
}

View File

@ -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
}

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 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

View File

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

View File

@ -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

View File

@ -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 <E, -0.05, 0> }
cylinder { 0, x*E, 0.012
scale <1, 4, 1> texture { T_Silver_3A } }
#undef E