commit du dimanche soir de la flemme
This commit is contained in:
		
							parent
							
								
									095dfbdd39
								
							
						
					
					
						commit
						c03f402b4c
					
				
							
								
								
									
										11
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								README.md
									
									
									
									
									
								
							@ -9,14 +9,15 @@ et vous pouvez
 | 
				
			|||||||
suivre son évolution par l'intermédiaire de
 | 
					suivre son évolution par l'intermédiaire de
 | 
				
			||||||
[Mastodon](https://mastodon.tetaneutral.net/@tth)
 | 
					[Mastodon](https://mastodon.tetaneutral.net/@tth)
 | 
				
			||||||
avec le croisimot `#hexacone`.
 | 
					avec le croisimot `#hexacone`.
 | 
				
			||||||
Quelques images sont disponibles sur mon serveur
 | 
					Quelques images sont disponibles sur mon serveur de
 | 
				
			||||||
de [cuisine](http://maison.tth.netlib.re/p/hexacone.html).
 | 
					[cuisine](http://maison.tth.netlib.re/pov/hexacone.html).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Prérequis
 | 
					## Prérequis
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Avant toute chose, il faut avoir installé les logiciels
 | 
					Avant toute chose, il faut avoir installé les logiciels
 | 
				
			||||||
suivants : bash, awk, gnuplot, imagemagick, et, bien
 | 
					suivants : bash, awk, gnuplot, imagemagick, et, bien
 | 
				
			||||||
entendu, [povray](https://povray.org/).
 | 
					entendu, [povray](https://povray.org/).
 | 
				
			||||||
 | 
					Une bonne maitrise des scripts shell sera un plus.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Utilisation
 | 
					## Utilisation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -26,8 +27,8 @@ par un classique [`Makefile`](./Makefile) et les séquences animées
 | 
				
			|||||||
produites par un [script shell](./mkloop.sh).
 | 
					produites par un [script shell](./mkloop.sh).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Avant toute chose, vous devrez vérifier la présence de plusieurs
 | 
					Avant toute chose, vous devrez vérifier la présence de plusieurs
 | 
				
			||||||
répertoires : d'un coté `./frames/<name>` pour stocker les images calculées :
 | 
					répertoires : d'un coté `./frames/<name>` pour stocker les images calculées et `./frames/Spool` pour l'assemblage
 | 
				
			||||||
 | 
					de la vidéo intégrale :
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
    frames/
 | 
					    frames/
 | 
				
			||||||
@ -41,6 +42,8 @@ répertoires : d'un coté `./frames/<name>` pour stocker les images calculées :
 | 
				
			|||||||
```
 | 
					```
 | 
				
			||||||
et de l'autre coté `./WS/` pour ranger les fichiers de travail.
 | 
					et de l'autre coté `./WS/` pour ranger les fichiers de travail.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					À vous de jouer maintenant.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Contact
 | 
					## Contact
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* La [mailing-list du tetalab](https://lists.tetalab.org/postorius/lists/tetalab.tetalab.org/) ;
 | 
					* La [mailing-list du tetalab](https://lists.tetalab.org/postorius/lists/tetalab.tetalab.org/) ;
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										60
									
								
								contexte.inc
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								contexte.inc
									
									
									
									
									
								
							@ -8,8 +8,34 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include  "groundbase.inc"
 | 
					#include  "groundbase.inc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* ======================================================= */
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 *	essai du 12 mars 2025
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#declare RedB_0_X = 18;
 | 
				
			||||||
 | 
					#declare RedB_0_Z = 28;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#declare RedB_1_X = -24;
 | 
				
			||||||
 | 
					#declare RedB_1_Z =   4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#declare Pos_RedB_0 = <RedB_0_X, 0, RedB_0_Z>;
 | 
				
			||||||
 | 
					#declare Pos_RedB_1 = <RedB_1_X, 0, RedB_1_Z>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#macro RedBase_0 ( T )
 | 
				
			||||||
 | 
					difference {
 | 
				
			||||||
 | 
					#local R = 2.46;
 | 
				
			||||||
 | 
						cylinder { 0,      y*0.40,     R      }
 | 
				
			||||||
 | 
						cone { y*0.37, R*0.78, y*0.42,          R*0.83 }
 | 
				
			||||||
 | 
						#for (Foo, 20, 339, 10)
 | 
				
			||||||
 | 
						  #local Dx = R * sin(radians(Foo));
 | 
				
			||||||
 | 
						  #local Dz = R * cos(radians(Foo));
 | 
				
			||||||
 | 
						  cone { 0, 0.01, y*0.41, 0.10 translate <Dx, 0, Dz> }
 | 
				
			||||||
 | 
						#end
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					// pigment { color Red*0.8 }
 | 
				
			||||||
 | 
					texture { T }
 | 
				
			||||||
 | 
					#end    // macro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ======================================================= */
 | 
					/* ======================================================= */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -34,7 +60,7 @@ union	{
 | 
				
			|||||||
	difference {
 | 
						difference {
 | 
				
			||||||
		cylinder { 0, y*H_gylampe,    R_gyro }
 | 
							cylinder { 0, y*H_gylampe,    R_gyro }
 | 
				
			||||||
		cylinder { y*0.01, y*(H_gylampe-0.01), R_gyro*0.97 }
 | 
							cylinder { y*0.01, y*(H_gylampe-0.01), R_gyro*0.97 }
 | 
				
			||||||
		#local WB = 0.015;
 | 
							#local WB = 0.017;
 | 
				
			||||||
		box { <-1, 0.03, -WB>, <1, (H_gylampe-0.03), WB> }
 | 
							box { <-1, 0.03, -WB>, <1, (H_gylampe-0.03), WB> }
 | 
				
			||||||
		box { <-WB, 0.03, -1>, <WB, (H_gylampe-0.03), 1> }
 | 
							box { <-WB, 0.03, -1>, <WB, (H_gylampe-0.03), 1> }
 | 
				
			||||||
		#undef WB
 | 
							#undef WB
 | 
				
			||||||
@ -65,15 +91,13 @@ union	{
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#macro Les_GyroPhares ()
 | 
					#macro Les_GyroPhares ()
 | 
				
			||||||
union	{
 | 
					union	{
 | 
				
			||||||
	#local E = SzSol * 0.488;
 | 
						#local E = SzSol * 0.431;
 | 
				
			||||||
	object { GyroPhare ()	translate <-E, 0, -E> }
 | 
						#for (Idx, 0, 360, 60)
 | 
				
			||||||
	object { GyroPhare ()	translate < E, 0, -E> }
 | 
						  #local Ang = radians(Idx+7.33);
 | 
				
			||||||
	object { GyroPhare ()	translate <-E, 0,  E> }
 | 
						  #local Dx  = E * sin(Ang);
 | 
				
			||||||
	object { GyroPhare ()	translate < E, 0,  E> }
 | 
						  #local Dz  = E * cos(Ang);
 | 
				
			||||||
	object { GyroPhare ()	translate <-E, 0,  0> }
 | 
						  object { GyroPhare ()	 translate <Dx, H_sol, Dz> }
 | 
				
			||||||
	object { GyroPhare ()	translate < E, 0,  0> }
 | 
						#end
 | 
				
			||||||
	object { GyroPhare ()	translate < 0, 0, -E> }
 | 
					 | 
				
			||||||
	object { GyroPhare ()	translate < 0, 0,  E> }
 | 
					 | 
				
			||||||
	#undef E
 | 
						#undef E
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#end
 | 
					#end
 | 
				
			||||||
@ -136,16 +160,15 @@ blob			{
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* ======================================================= */
 | 
					/* ======================================================= */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
/* ======================================================= */
 | 
					/* ======================================================= */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare UnderHoles = array[6]
 | 
					#declare UnderHoles = array[6]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#fopen Holes "WS/holes.log" write
 | 
					#fopen Holes "WS/holes.log" write
 | 
				
			||||||
#for (Idx, 0, 5)
 | 
					#for (Idx, 0, 5)
 | 
				
			||||||
  #local Angle = Idx* 1.07825;
 | 
					  #local Angle = Idx* 1.090;
 | 
				
			||||||
  #local Px = sin(Angle) * (SzSol * 1.21);
 | 
					  #local Px = sin(Angle) * (SzSol * 1.21);
 | 
				
			||||||
  #local Pz = cos(Angle) * (SzSol * 1.21);
 | 
					  #local Pz = cos(Angle) * (SzSol * 1.23);
 | 
				
			||||||
  #declare UnderHoles[Idx] = <Px, 0, Pz>;
 | 
					  #declare UnderHoles[Idx] = <Px, 0, Pz>;
 | 
				
			||||||
  #write (Holes, Idx, "  ", Angle, "  ", UnderHoles[Idx], "\n")
 | 
					  #write (Holes, Idx, "  ", Angle, "  ", UnderHoles[Idx], "\n")
 | 
				
			||||||
#end
 | 
					#end
 | 
				
			||||||
@ -156,15 +179,15 @@ blob			{
 | 
				
			|||||||
difference {
 | 
					difference {
 | 
				
			||||||
	// plane { y, 0 }
 | 
						// plane { y, 0 }
 | 
				
			||||||
	#local Big = 300;
 | 
						#local Big = 300;
 | 
				
			||||||
	box { <-Big, -0.10, -Big>, < Big, 0.01,  Big> }
 | 
						box { <-Big, -0.15, -Big>, < Big, 0.0000,  Big> }
 | 
				
			||||||
	#undef Big
 | 
						#undef Big
 | 
				
			||||||
	#for (Foo, 0, 5)
 | 
						#for (Foo, 0, 5)
 | 
				
			||||||
	  cylinder { -y*5, y*5, 4 translate UnderHoles[Foo] }
 | 
						  cylinder { -y*5, y*5, 3.4 translate UnderHoles[Foo] }
 | 
				
			||||||
	#end
 | 
						#end
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
texture {
 | 
					texture {
 | 
				
			||||||
	pigment { color Gray20 }
 | 
						pigment { color Gray20 }
 | 
				
			||||||
	normal { bumps 0.38 scale 3 }
 | 
						normal { bumps 0.38 scale 2.6 }
 | 
				
			||||||
	finish  { phong 0.125 }
 | 
						finish  { phong 0.125 }
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
// translate -y*1.55
 | 
					// translate -y*1.55
 | 
				
			||||||
@ -292,7 +315,7 @@ sky_sphere {
 | 
				
			|||||||
			[ 1.0  color Gray10		]
 | 
								[ 1.0  color Gray10		]
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		turbulence 3.14159 + 0.74 * Cos_010(NormClock)
 | 
							turbulence 3.14159 + 0.74 * Cos_010(NormClock)
 | 
				
			||||||
		scale 1.620
 | 
							scale 1.600
 | 
				
			||||||
		// translate -1
 | 
							// translate -1
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	#local Kem = 0.09;
 | 
						#local Kem = 0.09;
 | 
				
			||||||
@ -318,7 +341,8 @@ sky_sphere {
 | 
				
			|||||||
union	{
 | 
					union	{
 | 
				
			||||||
	object { Underground }
 | 
						object { Underground }
 | 
				
			||||||
	object { La_GroundBase }
 | 
						object { La_GroundBase }
 | 
				
			||||||
	// object { Les_Bibelots }
 | 
						object { RedBase_0 (T_Beton_1)	translate <RedB_0_X, 0, RedB_0_Z> }
 | 
				
			||||||
 | 
						object { RedBase_0 (T_Beton_2)	translate <RedB_1_X, 0, RedB_1_Z> }
 | 
				
			||||||
	// object { Les_Lumieres }
 | 
						// object { Les_Lumieres }
 | 
				
			||||||
	object { QuadriLight }
 | 
						object { QuadriLight }
 | 
				
			||||||
	object { Les_GyroPhares () }
 | 
						object { Les_GyroPhares () }
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										18
									
								
								cutoff.pov
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								cutoff.pov
									
									
									
									
									
								
							@ -10,6 +10,10 @@
 | 
				
			|||||||
#include  "contexte.inc"
 | 
					#include  "contexte.inc"
 | 
				
			||||||
#include  "hexacone.inc"
 | 
					#include  "hexacone.inc"
 | 
				
			||||||
#include  "hexabenz.inc"
 | 
					#include  "hexabenz.inc"
 | 
				
			||||||
 | 
					#include  "hexawood.inc"
 | 
				
			||||||
 | 
					#include  "trident.inc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include  "dynamic.inc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// =======================================================
 | 
					// =======================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -17,24 +21,26 @@
 | 
				
			|||||||
difference {
 | 
					difference {
 | 
				
			||||||
	object { HexaCone () }
 | 
						object { HexaCone () }
 | 
				
			||||||
	box { -1, 1  translate z*Kbox }
 | 
						box { -1, 1  translate z*Kbox }
 | 
				
			||||||
	translate y*2.5
 | 
						translate y*1.5 + Pos_RedB_1
 | 
				
			||||||
	} 
 | 
						} 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					object { Repere  translate y*1.5 + Pos_RedB_1 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* this one is for debugging */
 | 
					/* this one is for debugging */
 | 
				
			||||||
// object { OpenBox translate <0, 1.5, Kbox>  }
 | 
					// object { OpenBox translate <0, 1.5, Kbox>  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// =======================================================
 | 
					// =======================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
object { Le_Decor }
 | 
					object { Le_Decor }
 | 
				
			||||||
// object { Repere }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// =======================================================
 | 
					// =======================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#local CamX = -2.7 + (1.8*Cos_01(NormClock));
 | 
					#local CamX = -33.4  + (2.83*Cos_01(NormClock));
 | 
				
			||||||
#local CamY = 2.58  + (0.034*sqrt(NormClock));
 | 
					#local CamY =   2.5  + (0.24*sqrt(NormClock));
 | 
				
			||||||
#local CamZ = 5.35;
 | 
					#local CamZ =   5.85 + (2.42*NormClock);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
camera	{
 | 
					camera	{
 | 
				
			||||||
	location	<CamX, CamY, CamZ>
 | 
						location	<CamX, CamY, CamZ>
 | 
				
			||||||
	look_at		<0, 2.6, 0>
 | 
						look_at		<0, 1.5, 0> + Pos_RedB_1
 | 
				
			||||||
	angle		39 - 5*Cos_01(NormClock)
 | 
						angle		39 - 5*Cos_01(NormClock)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
object { Les_Bibelots rotate y*clock translate <28, -1, -32> }
 | 
					object { Les_Bibelots rotate y*clock translate <28, -1, -27> }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 *	on fait passer un hexatruc dans le ciel
 | 
					 *	on fait passer un hexatruc dans le ciel
 | 
				
			||||||
@ -56,7 +56,7 @@ object { HexaBenz ()
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 *	passage d'un hexawood près de la base
 | 
					 *	passage d'un hexawood près de la base
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#declare A = <-21, 1.1, (SzSol/2)+8>;
 | 
					#declare A = <-21, 1.7, (SzSol/2)+8>;
 | 
				
			||||||
#declare B = < 24, 1.1, (SzSol/2)+5>;
 | 
					#declare B = < 24, 1.6, (SzSol/2)+5>;
 | 
				
			||||||
#declare P = Interpolate(A, B, NormClock);
 | 
					#declare P = Interpolate(A, B, NormClock);
 | 
				
			||||||
object { HexaWood translate P }
 | 
					object { HexaWood translate P }
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										22
									
								
								essai.pov
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								essai.pov
									
									
									
									
									
								
							@ -7,6 +7,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include  "globals.inc"
 | 
					#include  "globals.inc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#debug "\n GLOBALS INCLUDED\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include  "contexte.inc"
 | 
					#include  "contexte.inc"
 | 
				
			||||||
#include  "gadgets.inc"
 | 
					#include  "gadgets.inc"
 | 
				
			||||||
#include  "hexacone.inc"
 | 
					#include  "hexacone.inc"
 | 
				
			||||||
@ -16,36 +18,36 @@
 | 
				
			|||||||
// =======================================================
 | 
					// =======================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// #include  "dynamic.inc"
 | 
					// #include  "dynamic.inc"
 | 
				
			||||||
 | 
					/* ======================================================= */
 | 
				
			||||||
// =======================================================
 | 
					// =======================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include  "trident.inc"
 | 
					#include  "trident.inc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#debug "\n ACTION !!!\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if (1)
 | 
					#if (1)
 | 
				
			||||||
#local RX = -11 + (80*sin(NormClock*9.81) + 3*sin(NormClock*23));
 | 
					#local RX = -11 + (80*sin(NormClock*9.81) + 3*sin(NormClock*23));
 | 
				
			||||||
#local RZ =  96 - (54*Cos_010(NormClock));
 | 
					#local RZ =  96 - (54*Cos_010(NormClock));
 | 
				
			||||||
object { Trident_A () rotate <RX, 0, RZ>  translate < -1.5, 0, 0> }
 | 
					object { Trident_A () rotate <RX, 0,     RZ>  translate < -1.4, 3, 0> }
 | 
				
			||||||
object { Trident_A () rotate <RZ, 0, RX>  translate <  1.5, 0, 0> }
 | 
					object { Trident_A () rotate <0, clock, 0>  translate <  1.4, 1, 0> }
 | 
				
			||||||
#end
 | 
					#end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					object { Repere  translate y*0.6 }
 | 
				
			||||||
object { Repere   }
 | 
					object { RedBase_0 (T_Grnt27) }
 | 
				
			||||||
//.object { Le_Decor }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// =======================================================
 | 
					// =======================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#local CamX = -2.7   + (2.8*Cos_010(NormClock));
 | 
					#local CamX = -2.7   + (2.8*Cos_010(NormClock));
 | 
				
			||||||
#local CamY = 0.21  + (2.3*exp(NormClock));
 | 
					#local CamY = -0.91  + (2.3*exp(NormClock));
 | 
				
			||||||
#local CamZ = 5.777  - (0.8*Cos_010(NormClock));
 | 
					#local CamZ = 5.777  - (0.8*Cos_010(NormClock));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#local K = 3.4;
 | 
					#local K = 4.7;
 | 
				
			||||||
#local CamX = CamX * K;
 | 
					#local CamX = CamX * K;
 | 
				
			||||||
#local CamY = CamY * K;
 | 
					#local CamY = CamY * K;
 | 
				
			||||||
#local CamZ = CamZ * K;
 | 
					#local CamZ = CamZ * K;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
camera	{
 | 
					camera	{
 | 
				
			||||||
	location	<CamX, CamY, CamZ>
 | 
						location	<CamX, CamY, CamZ>
 | 
				
			||||||
	look_at		<0, 0, 0>
 | 
						look_at		<0, 1.4, 0>
 | 
				
			||||||
	angle		20 - 5*Cos_01(NormClock)
 | 
						angle		20 - 3*Cos_01(NormClock)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										33
									
								
								globals.inc
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								globals.inc
									
									
									
									
									
								
							@ -11,7 +11,7 @@ global_settings	{
 | 
				
			|||||||
#include  "stones.inc"
 | 
					#include  "stones.inc"
 | 
				
			||||||
#include  "woods.inc"
 | 
					#include  "woods.inc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare Rng1 = seed(1664);
 | 
					#declare Rng1 = seed(1789);
 | 
				
			||||||
#declare foo  = rand(Rng1);
 | 
					#declare foo  = rand(Rng1);
 | 
				
			||||||
#declare Rng2 = seed(now*24*60*60);
 | 
					#declare Rng2 = seed(now*24*60*60);
 | 
				
			||||||
#declare bar  = rand(Rng2);
 | 
					#declare bar  = rand(Rng2);
 | 
				
			||||||
@ -24,10 +24,10 @@ global_settings	{
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare SzSol      = 34;
 | 
					#declare SzSol      = 34;
 | 
				
			||||||
#declare H_sol      = 0.100;
 | 
					#declare H_sol      = 0.000;	// c'est quoi exactement ?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare SzBase     = 2.90;
 | 
					#declare SzBase     = 2.90;
 | 
				
			||||||
#declare H_base     = 0.50;
 | 
					#declare H_base     = 0.23;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare R_basecone = 0.117;
 | 
					#declare R_basecone = 0.117;
 | 
				
			||||||
#declare H_cone     = 0.97;
 | 
					#declare H_cone     = 0.97;
 | 
				
			||||||
@ -36,7 +36,7 @@ global_settings	{
 | 
				
			|||||||
#declare H_gyro     = 2.10;
 | 
					#declare H_gyro     = 2.10;
 | 
				
			||||||
#declare H_gylampe  = 0.25;
 | 
					#declare H_gylampe  = 0.25;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare H_QuadriLight = 36;
 | 
					#declare H_QuadriLight = 34;
 | 
				
			||||||
#declare E_QuadriLight = SzSol * 1.35;
 | 
					#declare E_QuadriLight = SzSol * 1.35;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ------------------------------------------------------------ */
 | 
					/* ------------------------------------------------------------ */
 | 
				
			||||||
@ -53,7 +53,7 @@ finish  { phong 0.01 }
 | 
				
			|||||||
#declare T_WIP_alert = texture
 | 
					#declare T_WIP_alert = texture
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
pigment { color Red }
 | 
					pigment { color Red }
 | 
				
			||||||
finish { specular 0.90 }
 | 
					finish { ambient 1 specular 0.90 }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare T_Planete_A = texture
 | 
					#declare T_Planete_A = texture
 | 
				
			||||||
@ -69,22 +69,39 @@ finish { metallic 0.50 reflection 0.55 }
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 *	deux textures
 | 
					 *	deux textures pour faire des batiments
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#declare T_Beton_1 = texture
 | 
					#declare T_Beton_1 = texture
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
pigment { color <0.9, 0.8, 0.8> }
 | 
					pigment { color <0.9, 0.8, 0.7> }
 | 
				
			||||||
normal { dents 0.75 scale 0.3 }
 | 
					normal { dents 0.75 scale 0.3 }
 | 
				
			||||||
finish { roughness 1.00 }
 | 
					finish { roughness 1.00 }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare T_Beton_2 = texture
 | 
					#declare T_Beton_2 = texture
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
pigment { color <0.7, 0.6, 0.6> }
 | 
					pigment { color <0.7, 0.6, 0.5> }
 | 
				
			||||||
normal { dents 0.25 scale 2 }
 | 
					normal { dents 0.25 scale 2 }
 | 
				
			||||||
finish { roughness 1.00 }
 | 
					finish { roughness 1.00 }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#declare Flashy = texture {
 | 
				
			||||||
 | 
					pigment {
 | 
				
			||||||
 | 
						onion
 | 
				
			||||||
 | 
						colour_map {
 | 
				
			||||||
 | 
							[0.00,  Red	]
 | 
				
			||||||
 | 
							[0.40,  Gray50	]
 | 
				
			||||||
 | 
							[1.00,  Blue	]
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						turbulence 3.14159
 | 
				
			||||||
 | 
						scale	0.50
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					finish {
 | 
				
			||||||
 | 
						emission 0 ambient 1 diffuse 0 specular 0
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ------------------------------------------------------------ */
 | 
					/* ------------------------------------------------------------ */
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 *	Usefull macros
 | 
					 *	Usefull macros
 | 
				
			||||||
 | 
				
			|||||||
@ -46,13 +46,14 @@ intersection {
 | 
				
			|||||||
	height_field {
 | 
						height_field {
 | 
				
			||||||
		png "datas/hf.png"	smooth
 | 
							png "datas/hf.png"	smooth
 | 
				
			||||||
		translate <-.5, 0, -.5>
 | 
							translate <-.5, 0, -.5>
 | 
				
			||||||
		scale <SzSol, 1, SzSol>
 | 
							#local SC = SzSol * 1.130;
 | 
				
			||||||
 | 
							scale <SC, 0.90, SC>
 | 
				
			||||||
		texture {
 | 
							texture {
 | 
				
			||||||
			pigment {
 | 
								pigment {
 | 
				
			||||||
				image_map { png "datas/cmap.png" }
 | 
									image_map { png "datas/cmap.png" }
 | 
				
			||||||
				rotate x*90
 | 
									rotate x*90
 | 
				
			||||||
				translate <-.5, 0, -.5>
 | 
									translate <-.5, 0, -.5>
 | 
				
			||||||
				scale <SzSol, 1, SzSol>
 | 
									scale <SC, 1, SC>
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -65,6 +66,9 @@ translate y*H_sol
 | 
				
			|||||||
/* ======================================================= */
 | 
					/* ======================================================= */
 | 
				
			||||||
#declare GroundBase_a = object
 | 
					#declare GroundBase_a = object
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
								C'est quoi ce truc ?
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
union	{
 | 
					union	{
 | 
				
			||||||
	#local Dx = 1.5;
 | 
						#local Dx = 1.5;
 | 
				
			||||||
	#local Dz = 1.0;
 | 
						#local Dz = 1.0;
 | 
				
			||||||
@ -92,18 +96,20 @@ merge	{
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare GroundBase_b = object
 | 
					#declare GroundBase_estrade = object
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
#local Sz = SzBase - 0.14;
 | 
					#local Sz = SzBase - 0.14;
 | 
				
			||||||
 | 
					#local Hc = H_base;
 | 
				
			||||||
union {	
 | 
					union {	
 | 
				
			||||||
	box { <-SzBase, 0, -SzBase>, <SzBase, H_base, SzBase> }
 | 
						box { <-SzBase, 0, -SzBase>, <SzBase, H_base, SzBase> }
 | 
				
			||||||
	object { GroudBase_coin translate <-Sz, 0, -Sz> }
 | 
						object { GroudBase_coin translate <-Sz, Hc, -Sz> }
 | 
				
			||||||
	object { GroudBase_coin translate < Sz, 0, -Sz> }
 | 
						object { GroudBase_coin translate < Sz, Hc, -Sz> }
 | 
				
			||||||
	object { GroudBase_coin translate <-Sz, 0,  Sz> }
 | 
						object { GroudBase_coin translate <-Sz, Hc,  Sz> }
 | 
				
			||||||
	object { GroudBase_coin translate < Sz, 0,  Sz> }
 | 
						object { GroudBase_coin translate < Sz, Hc,  Sz> }
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
texture { T_Grnt27 rotate 9 scale 0.32 }
 | 
					texture { T_Grnt27 rotate 9 scale 0.32 }
 | 
				
			||||||
#undef Sz
 | 
					#undef Sz
 | 
				
			||||||
 | 
					#undef Hc
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ------------------------------------------------------------ */
 | 
					/* ------------------------------------------------------------ */
 | 
				
			||||||
@ -112,13 +118,14 @@ texture { T_Grnt27 rotate 9 scale 0.32 }
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
union	{
 | 
					union	{
 | 
				
			||||||
	object { GroundBase_Sol }
 | 
						object { GroundBase_Sol }
 | 
				
			||||||
	object { GroundBase_b translate y*H_sol }
 | 
						object { GroundBase_estrade translate y*H_sol }
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 *	ici, mettre la cabane
 | 
						 *	ici, mettre la cabane
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	#local Dz = <0, 0, -7>;
 | 
						#local Dz = <0, 0, -7>;
 | 
				
			||||||
	// object { GroundBase_a               translate Dz }
 | 
						object { GroundBase_a               translate Dz }
 | 
				
			||||||
	object { Cabane_Base_2 rotate y*180 translate Dz }
 | 
						object { Cabane_Base_2 rotate y*180 translate Dz }
 | 
				
			||||||
 | 
						#undef Dz
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
translate y*(H_sol+H_base)
 | 
					translate y*(H_sol+H_base)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										24
									
								
								hexabenz.pov
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								hexabenz.pov
									
									
									
									
									
								
							@ -9,11 +9,21 @@
 | 
				
			|||||||
#include  "contexte.inc"
 | 
					#include  "contexte.inc"
 | 
				
			||||||
#include  "hexacone.inc"
 | 
					#include  "hexacone.inc"
 | 
				
			||||||
#include  "hexabenz.inc"
 | 
					#include  "hexabenz.inc"
 | 
				
			||||||
 | 
					#include  "hexawood.inc"
 | 
				
			||||||
 | 
					#include  "trident.inc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include  "dynamic.inc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#local K = 1.48;
 | 
					#declare BiBenz = object
 | 
				
			||||||
object { HexaBenz () rotate y*90	translate <-K, 2.85, 0> }
 | 
					{
 | 
				
			||||||
object { HexaBenz ()			translate < K, 2.67, 0> }
 | 
					#local K = 1.41;
 | 
				
			||||||
 | 
					union	{
 | 
				
			||||||
 | 
						object { HexaBenz () rotate y*90	translate <-K, 1.75, 0> }
 | 
				
			||||||
 | 
						object { HexaBenz ()			translate < K, 1.71, 0> }
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					object { BiBenz translate Pos_RedB_0 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// =======================================================
 | 
					// =======================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -22,12 +32,14 @@ object { Le_Decor            }
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// object { Repere scale 2 }
 | 
					// object { Repere scale 2 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#declare Loc_cam = <0, 2, 1> + (Pos_RedB_0 * 1.33333);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
camera	{
 | 
					camera	{
 | 
				
			||||||
	location	<-3.9+(11*NormClock), 1.90, 7.59-NormClock>
 | 
						location	Loc_cam
 | 
				
			||||||
	look_at		<0.17, 1.47, 0>
 | 
						look_at		Pos_RedB_0 + <0, 1, 0>
 | 
				
			||||||
	// focal_point	<0.37, 0.0, 0>
 | 
						// focal_point	<0.37, 0.0, 0>
 | 
				
			||||||
	// aperture	0.046
 | 
						// aperture	0.046
 | 
				
			||||||
	// blur_samples	30
 | 
						// blur_samples	30
 | 
				
			||||||
	angle		60 - 28 * Cos_01(NormClock)
 | 
						angle		40 - 15 * Cos_01(NormClock)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										25
									
								
								hexacone.pov
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								hexacone.pov
									
									
									
									
									
								
							@ -9,11 +9,21 @@
 | 
				
			|||||||
#include  "contexte.inc"
 | 
					#include  "contexte.inc"
 | 
				
			||||||
#include  "hexacone.inc"
 | 
					#include  "hexacone.inc"
 | 
				
			||||||
#include  "hexabenz.inc"
 | 
					#include  "hexabenz.inc"
 | 
				
			||||||
// #include  "trident.inc"
 | 
					#include  "hexawood.inc"
 | 
				
			||||||
 | 
					#include  "trident.inc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#local K = 1.48;
 | 
					#include  "dynamic.inc"
 | 
				
			||||||
object { HexaCone () rotate y*90	translate <-K, 2.7, 1> }
 | 
					
 | 
				
			||||||
object { HexaCone ()			translate < K, 2.6, 1> }
 | 
					#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 translate Pos_RedB_0 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
object { Le_Decor            }
 | 
					object { Le_Decor            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -24,10 +34,11 @@ object { Le_Decor            }
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// object { Repere scale 2 }
 | 
					// object { Repere scale 2 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#declare Loc_cam = <2, 2, -1> + (Pos_RedB_0 * 1.263);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
camera	{
 | 
					camera	{
 | 
				
			||||||
	location
 | 
						location	Loc_cam
 | 
				
			||||||
	  <-1.9+(8*NormClock), 0.70+NormClock, 7.59-NormClock>
 | 
						look_at		Pos_RedB_0 + <0.12, 1.10, 0>
 | 
				
			||||||
	look_at		<0.07, 1.55, 0>
 | 
					 | 
				
			||||||
	// focal_point	<0.37, 0.90, 0>
 | 
						// focal_point	<0.37, 0.90, 0>
 | 
				
			||||||
	// aperture	0.046
 | 
						// aperture	0.046
 | 
				
			||||||
	// blur_samples	30
 | 
						// blur_samples	30
 | 
				
			||||||
 | 
				
			|||||||
@ -59,13 +59,13 @@ union	{
 | 
				
			|||||||
#declare PosY = 0;
 | 
					#declare PosY = 0;
 | 
				
			||||||
#declare PosZ = RO * cos(CK);
 | 
					#declare PosZ = RO * cos(CK);
 | 
				
			||||||
object { HexaBenz ()
 | 
					object { HexaBenz ()
 | 
				
			||||||
	rotate -y*CK*42.3 translate <PosX, PosY, PosZ>
 | 
						rotate -y*CK*62.3 translate <PosX, PosY, PosZ>
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#declare PosX = RO * sin(CK+2.12);
 | 
					#declare PosX = RO * sin(CK+2.12);
 | 
				
			||||||
#declare PosY = 0;
 | 
					#declare PosY = 0;
 | 
				
			||||||
#declare PosZ = RO * cos(CK+2.23);
 | 
					#declare PosZ = RO * cos(CK+2.23);
 | 
				
			||||||
object { HexaCone ()
 | 
					object { HexaCone ()
 | 
				
			||||||
	rotate  y*CK*49.22 translate <PosX, PosY, PosZ>
 | 
						rotate  y*CK*79.22 translate <PosX, PosY, PosZ>
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
object { Planete rotate (-clock*0.21)*y }
 | 
					object { Planete rotate (-clock*0.21)*y }
 | 
				
			||||||
 | 
				
			|||||||
@ -17,9 +17,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include  "dynamic.inc"
 | 
					#include  "dynamic.inc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare PosX = 2.95;
 | 
					#declare PosX = 3.95;
 | 
				
			||||||
#declare PosY = 2.60 + (NormClock*0.28);
 | 
					#declare PosY = 2.60 + (NormClock*0.28);
 | 
				
			||||||
#declare PosZ = (NormClock-0.5) * 41.27;
 | 
					#declare PosZ = (NormClock-0.5) * 44.27;
 | 
				
			||||||
object { HexaCone () translate <PosX, PosY, PosZ> }
 | 
					object { HexaCone () translate <PosX, PosY, PosZ> }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
object { HexaCone () translate <PosX+2.96, PosY+1.82, PosZ-15.5> }
 | 
					object { HexaCone () translate <PosX+2.96, PosY+1.82, PosZ-15.5> }
 | 
				
			||||||
 | 
				
			|||||||
@ -19,14 +19,14 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
object { Le_Decor }
 | 
					object { Le_Decor }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare CK = 144 + (clock * 0.36);
 | 
					#declare CK = 144 + (clock * 0.27);
 | 
				
			||||||
#declare Dcam = 3.65;
 | 
					#declare Dcam = 3.95;
 | 
				
			||||||
#declare CamX = Dcam *        sin(radians(CK));
 | 
					#declare CamX = Dcam *        sin(radians(CK));
 | 
				
			||||||
#declare CamZ = Dcam * 1.20 * cos(radians(CK));
 | 
					#declare CamZ = Dcam * 1.20 * cos(radians(CK));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare Lat  = <0.03, 1.48, 0.17>;
 | 
					#declare Lat  = <0.03, 1.58, 0.17>;
 | 
				
			||||||
camera	{
 | 
					camera	{
 | 
				
			||||||
	location	<CamX, 1.87, CamZ>
 | 
						location	<CamX, 1.97, CamZ>
 | 
				
			||||||
	look_at		Lat
 | 
						look_at		Lat
 | 
				
			||||||
	// focal_point	Lat
 | 
						// focal_point	Lat
 | 
				
			||||||
	// aperture	0.046
 | 
						// aperture	0.046
 | 
				
			||||||
 | 
				
			|||||||
@ -24,7 +24,7 @@ object { Repere scale 2 translate y*2 }
 | 
				
			|||||||
// =======================================================
 | 
					// =======================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare  Debut  = <-3, 87,  47>	;
 | 
					#declare  Debut  = <-3, 87,  47>	;
 | 
				
			||||||
#declare  Fin    = < 2, 99,  7>	;
 | 
					#declare  Fin    = < 2, 91,  7>	;
 | 
				
			||||||
#declare  Pos    = Cos_01(NormClock);
 | 
					#declare  Pos    = Cos_01(NormClock);
 | 
				
			||||||
#declare  PosCam = Interpolate(Debut, Fin, Pos);
 | 
					#declare  PosCam = Interpolate(Debut, Fin, Pos);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
Img_Width=1024
 | 
					Img_Width=1024
 | 
				
			||||||
Img_Height=720
 | 
					Img_Height=720
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEXTCOL="PowderBlue"
 | 
					TEXTCOL="CornflowerBlue"
 | 
				
			||||||
STROKOL="RosyBrown"
 | 
					STROKOL="RosyBrown"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NBFRAMES=360
 | 
					NBFRAMES=360
 | 
				
			||||||
 | 
				
			|||||||
@ -39,7 +39,7 @@ object { HexaWood translate P }
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
object { Le_Decor }
 | 
					object { Le_Decor }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#declare CamY = 31 + (13.37*Cos_01(NormClock));
 | 
					#declare CamY = 31 + (12.34 * Cos_01(NormClock));
 | 
				
			||||||
#declare LatY = -3 + ( 1.12 * NormClock);
 | 
					#declare LatY = -3 + ( 1.12 * NormClock);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
camera	{
 | 
					camera	{
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										70
									
								
								trident.inc
									
									
									
									
									
								
							
							
						
						
									
										70
									
								
								trident.inc
									
									
									
									
									
								
							@ -10,14 +10,16 @@ cone { 0, R_basecone, y*0.89, 0.0001 }
 | 
				
			|||||||
#macro Trid_A_cone ()
 | 
					#macro Trid_A_cone ()
 | 
				
			||||||
difference {
 | 
					difference {
 | 
				
			||||||
	object { Trid_cone }
 | 
						object { Trid_cone }
 | 
				
			||||||
	object { Trid_cone }
 | 
						object { Trid_cone translate -y*0.001 }
 | 
				
			||||||
	#local Foo = rand(Rng1);
 | 
						#local Foo = rand(Rng1);
 | 
				
			||||||
	#if (Foo < 0.333)
 | 
						#if (Foo < 0.25)
 | 
				
			||||||
	  pigment { color Red }
 | 
						  texture { T_Brass_2C }
 | 
				
			||||||
	#elseif (Foo < 0.666)
 | 
						#elseif (Foo < 0.50)
 | 
				
			||||||
	  pigment { color Green }
 | 
						  texture { T_Silver_3A }
 | 
				
			||||||
 | 
						#elseif (Foo < 0.75)
 | 
				
			||||||
 | 
						  texture { T_Chrome_3A }
 | 
				
			||||||
	#else
 | 
						#else
 | 
				
			||||||
	  pigment { color Blue }
 | 
						  texture { Flashy 	 }
 | 
				
			||||||
	#end  // else
 | 
						#end  // else
 | 
				
			||||||
	#undef Foo
 | 
						#undef Foo
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -26,35 +28,55 @@ difference {
 | 
				
			|||||||
#macro Trid_A_head ()
 | 
					#macro Trid_A_head ()
 | 
				
			||||||
union {
 | 
					union {
 | 
				
			||||||
	#for (A, 0, 360, 120)
 | 
						#for (A, 0, 360, 120)
 | 
				
			||||||
	#local E  = 0.44;
 | 
						  #local E  = 0.21;
 | 
				
			||||||
	  #local Tx = E * sin(radians(A));
 | 
						  #local Tx = E * sin(radians(A));
 | 
				
			||||||
	#local Ty =  0;
 | 
					 | 
				
			||||||
	  #local Tz = E * cos(radians(A));
 | 
						  #local Tz = E * cos(radians(A));
 | 
				
			||||||
	object { Trid_A_cone () translate <Tx, Ty, Tz> }
 | 
						    object { Trid_A_cone () translate <Tx*2, 0, Tz> }
 | 
				
			||||||
 | 
						#end  // for
 | 
				
			||||||
	#undef Tx
 | 
						#undef Tx
 | 
				
			||||||
	#undef Ty
 | 
					 | 
				
			||||||
	#undef Tz
 | 
						#undef Tz
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					#end
 | 
				
			||||||
 | 
					//	------------------------------------------------------
 | 
				
			||||||
 | 
					#macro Trid_A_body ()
 | 
				
			||||||
 | 
					#local L = Trid_length / 2;
 | 
				
			||||||
 | 
					merge	{
 | 
				
			||||||
 | 
						cylinder { <0, -L, 0>, <0, L, 0>, 0.065 }
 | 
				
			||||||
 | 
						sphere { 0, 0.065 scale <1, 6, 1> translate y*L }
 | 
				
			||||||
 | 
						#if (rand(Rng1) < 0.50)
 | 
				
			||||||
 | 
						  texture { T_Silver_2C }
 | 
				
			||||||
 | 
						#else
 | 
				
			||||||
 | 
						  texture { T_Copper_1E }
 | 
				
			||||||
 | 
						#end
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					#undef L
 | 
				
			||||||
 | 
					#end   // macro
 | 
				
			||||||
 | 
					//	------------------------------------------------------
 | 
				
			||||||
 | 
					#macro Trid_A_ailette ()
 | 
				
			||||||
 | 
					union	{
 | 
				
			||||||
 | 
						#local E = 0.46;
 | 
				
			||||||
 | 
						object { Trid_A_cone () scale 0.7 translate x*E }
 | 
				
			||||||
 | 
						cylinder { 0, x*E, 0.014
 | 
				
			||||||
 | 
								scale <1, 3, 1> texture { T_Silver_3A } }
 | 
				
			||||||
 | 
						#undef E
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					#end
 | 
				
			||||||
 | 
					//	------------------------------------------------------
 | 
				
			||||||
 | 
					#macro Trid_A_tail ()
 | 
				
			||||||
 | 
					union {
 | 
				
			||||||
 | 
						#for (A, 0, 360, 120)
 | 
				
			||||||
 | 
						  object { Trid_A_ailette () rotate (A+270)*y }
 | 
				
			||||||
	#end  // for
 | 
						#end  // for
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#end
 | 
					#end
 | 
				
			||||||
//	------------------------------------------------------
 | 
					//	------------------------------------------------------
 | 
				
			||||||
#declare Trid_A_body = object
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
#local L = Trid_length / 2;
 | 
					 | 
				
			||||||
merge	{
 | 
					 | 
				
			||||||
	cylinder { <0, -L, 0>, <0, L, 0>, 0.065 }
 | 
					 | 
				
			||||||
	sphere { 0, 0.065 scale <1, 4, 1> translate y*L }
 | 
					 | 
				
			||||||
	texture { WIP_color }
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
#undef L
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
//	------------------------------------------------------
 | 
					 | 
				
			||||||
//	------------------------------------------------------
 | 
					//	------------------------------------------------------
 | 
				
			||||||
#macro Trident_A ()
 | 
					#macro Trident_A ()
 | 
				
			||||||
union	{
 | 
					union	{
 | 
				
			||||||
	object { Trid_A_head () translate y*0.95 }
 | 
						object { Trid_A_head () translate y*0.85 }
 | 
				
			||||||
	object { Trid_A_body }
 | 
						object { Trid_A_body () }
 | 
				
			||||||
	// object { Trid_A_tail }
 | 
						object { Trid_A_tail () translate -y*0.6 }
 | 
				
			||||||
 | 
						// object { Repere translate <0.1, 0, 0.1> }
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#end
 | 
					#end
 | 
				
			||||||
//	------------------------------------------------------
 | 
					//	------------------------------------------------------
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user