enhanced hexapole

This commit is contained in:
Tonton Th 2025-05-04 18:36:13 +02:00
parent c2731bbfc2
commit 3143bb87ba
3 changed files with 35 additions and 8 deletions

View File

@ -118,7 +118,7 @@ union {
union { union {
#for (Ang, 0, 359, 15) #for (Ang, 0, 359, 15)
#local E = (SzSol * 1.40) + (6*rand(Rng1)); #local E = (SzSol * 1.40) + (8*rand(Rng1));
#local Ra = radians(Ang); #local Ra = radians(Ang);
#local Xp = E * cos(Ra); #local Xp = E * cos(Ra);
#local Zp = E * sin(Ra); #local Zp = E * sin(Ra);

View File

@ -39,8 +39,6 @@ translate <-4.5, 0.02, 0>
#debug " ACTION !!!\n" #debug " ACTION !!!\n"
// ------------------------------------------------------ ## // ------------------------------------------------------ ##
// ------------------------------------------------------ ## // ------------------------------------------------------ ##
#declare Tridents = object #declare Tridents = object
@ -82,7 +80,7 @@ object { Gyros }
#debug " Cabane+Compteur !!!\n" #debug " Cabane+Compteur !!!\n"
#break #break
#case (1) #case (1)
object { HexaPole () } object { HexaPole }
#debug " Hexapole !!!\n" #debug " Hexapole !!!\n"
#break #break
#case (2) #case (2)
@ -124,6 +122,7 @@ object { Repere translate y*0.6 }
#local CamZ = CamZ * K; #local CamZ = CamZ * K;
camera { camera {
orthographic
location <CamX, CamY, CamZ> location <CamX, CamY, CamZ>
look_at <0, 1.4, 0> look_at <0, 1.4, 0>
angle 26 - 3*Cos_01(NormClock) angle 26 - 3*Cos_01(NormClock)

View File

@ -3,12 +3,29 @@
* nouveau projet du Thu Dec 5 11:37:05 AM UTC 2024 * nouveau projet du Thu Dec 5 11:37:05 AM UTC 2024
*/ */
#version 3.7;
// ======================================================= // =======================================================
#macro HexaPole ()
#macro Base_hexapole ()
prism {
linear_sweep
linear_spline
0, // sweep the following shape from here ...
1, // ... up through here
7, // the number of points making up the shape ...
<3,5>, <-3,5>, <-5,0>, <-3,-5>, <3, -5>, <5,0>, <3,5>
#if (rand(Rng1) < 0.5)
texture { T_Beton_1 }
#else
texture { T_Beton_2 }
#end // if
}
#end // macro
// ------------------------------------------------------ ##
#macro HexaPole_tubes ()
#local R = 0.06; #local R = 0.06;
#local E = 0.61; #local E = 0.666666;
#local H = H_cone*4; #local H = H_cone*4;
union { union {
#for (A, 0, 359, 60) #for (A, 0, 359, 60)
@ -37,6 +54,17 @@ union {
#undef H #undef H
#undef R #undef R
#end #end
// ------------------------------------------------------ ##
#macro HexaPole ()
union {
object { Base_hexapole () scale <0.33, 0.2, 0.33> }
object { HexaPole_tubes () translate y*0.2 }
rotate y*(33*rand(Rng1))
}
#end // macro
// ======================================================= // =======================================================
#declare OpenBox = object #declare OpenBox = object
{ {