/* */ #include "gadgets.inc" // object { Les_Bibelots rotate y*clock translate UnderHoles[2] } object { Les_Machins rotate -y*clock translate UnderHoles[3] } /* * 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 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)+6>; #declare B = < 24, 0.5, (SzSol/2)+3>; #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 }