142 lines
2.9 KiB
POVRay
142 lines
2.9 KiB
POVRay
/*
|
|
* H E X A C O N E - E S S A I
|
|
* nouveau projet du Thu Dec 5 11:37:05 AM UTC 2024
|
|
*/
|
|
|
|
#version 3.7;
|
|
|
|
#include "globals.inc"
|
|
|
|
#debug "\n GLOBALS INCLUDED\n"
|
|
|
|
#include "contexte.inc"
|
|
#include "gadgets.inc"
|
|
#include "hexacone.inc"
|
|
#include "hexabenz.inc"
|
|
#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 " ACTION !!!\n"
|
|
|
|
// ------------------------------------------------------ ##
|
|
|
|
|
|
// ------------------------------------------------------ ##
|
|
|
|
#declare Tridents = object
|
|
{
|
|
#local RX = -11 + (80*sin(NormClock*9.81) + 3*sin(NormClock*23));
|
|
#local RZ = 96 - (54*Cos_010(NormClock));
|
|
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_Planete_B) }
|
|
|
|
// =======================================================
|
|
|
|
#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 = 8.6;
|
|
#local CamX = CamX * K;
|
|
#local CamY = CamY * K * 0.5;
|
|
#local CamZ = CamZ * K;
|
|
|
|
camera {
|
|
location <CamX, CamY, CamZ>
|
|
look_at <0, 1.4, 0>
|
|
angle 20 - 3*Cos_01(NormClock)
|
|
}
|