107 lines
2.4 KiB
PHP
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 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|