HexaCone/dynamic.inc
2025-03-31 03:55:29 +02:00

107 lines
2.4 KiB
PHP

/*
*/
#include "gadgets.inc"
//
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
*/
#declare A = <-SzSol, 22, -10>;
#declare B = < SzSol+4, 18, -11>;
#declare P = Interpolate(A, B, NormClock);
object { HexaCone () rotate y*((12*NormClock)+80) translate P }
/*
* le vaisseau "trident" passe a travers les
* trous de l'underground
*/
// #fopen Trid "WS/tridents.log" write
#for (Foo, 0, 5)
#declare Dy = -3+(11*NormClock);
#declare Tr = UnderHoles[Foo] + <0, Dy, 0>;
// #write (Trid, Foo, " ", NormClock, " ", Dy, " ",
// UnderHoles[Foo], " ", Tr, "\n")
object { Trident_A () rotate y*((rand(Rng1)-NormClock)*77)
translate Tr }
#end
// #fclose Trid
/*
* echange hexacone et hexabenz
*/
#declare HC_A = <0.03, 2.18, 0.17>;
#declare HC_B = <3.00, 11.07, 11.09>;
#declare HC_P = Interpolate(HC_A, HC_B, Cos_01(NormClock));
#declare RX = -9+(NormClock*11);
#declare RY = 122 * (exp(NormClock) - 1.0);
object { HexaCone ()
rotate <RX, RY, -4>
translate HC_P
}
#declare HB_A = <-5.00, 10.0, 6.33>;
#declare HB_B = < 0.03, 2.32, -0.37>;
#declare HB_P = Interpolate(HB_A, HB_B, Cos_01(NormClock));
#declare RY = -75 * (exp(NormClock*1.8) - 1.0);
#declare RZ = -7+(7*NormClock);
object { HexaBenz ()
rotate <6, RY, RZ> translate HB_P }
/*
* passage d'un hexawood près de la base
*/
#declare A = <-21, 0.4, (SzSol/2)+4>;
#declare B = < 24, 0.5, (SzSol/2)+1>;
#declare P = Interpolate(A, B, NormClock);
#local K = NormClock*36;
#local R = 16.64 * cos(K);
#local H = 0.48 * pow(sin(K), 3);
#declare P_hexawood = P + <0, 0.26+H, 0>;
object { HexaWood rotate z*R translate P_hexawood }
/*
* survol par un trident
*/
#declare A = < 2, 49, -20>;
#declare B = <-3, 47, 22>;
#declare P = Interpolate(A, B, NormClock);
object { Trident_A () rotate y*(clock*2.7)
rotate z*80
rotate <2, 94, 0>
translate P }