#######################################################################################################################################
# #
# G E N E R A T I O N D ' U N H Y P E R - C U B E : #
# #
# #
# Author of '$xiirv/.CUBE.11.1.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20130524100408). #
# #
#######################################################################################################################################
$Z SETParam _____GCube5 $EXIST
$Z # Parametre introduit le 20200429103749... #
$Z SETParam _____GCube4 $EXIST
$Z # Parametre introduit le 20140308105607... #
$Z SETParam _____GCube3 $EXIST
$Z # Parametre introduit le 20140308105607... #
$Z SETParam _____GCube2 $EXIST
$Z # Parametre introduit le 20140308105607... #
$Z SETParam _____GCube1 $EXIST
$Z # Parametre introduit le 20140308105607... #
$Z SETParam _____GCube0 $EXIST
$Z # Parametre introduit le 20140308105607... #
$Z setParam _____Echelle 0.1
$Z setParam _____RAYON_Cube 0.01
$Z setParam _____ROUGE_Cube $GRIS_8
$Z setParam _____VERTE_Cube $GRIS_8
$Z setParam _____BLEUE_Cube $GRIS_8
$Z setParam _____RAYON_Lien 0.005
$Z setParam _____ROUGE_Lien $GRIS_8
$Z setParam _____VERTE_Lien $GRIS_4
$Z setParam _____BLEUE_Lien $GRIS_0
$Z setParam _____Argument0 "$K_VIDE"
$Z # Parametre introduit le 20140318152603... #
$Z setParam _____Argument1 "$K_VIDE"
$Z # Parametre introduit le 20140318152603... #
$Z setParam _____Argument2 "$K_VIDE"
$Z # Parametre introduit le 20140318152603... #
$Z setParam _____Argument3 "$K_VIDE"
$Z setParam _____Argument4 "$K_VIDE"
$Z setParam _____Argument5 "$K_VIDE"
$Z # Parametre introduit le 20200428174454... #
$Z alias GC_A 'set Cursor_ROUGE=\!:1 ; \\
$Z set Cursor_VERTE=\!:2 ; \\
$Z set Cursor_BLEUE=\!:3 ; \\
$Z set Cursor_RAYON=\!:4 ; \\
$Z G_A'
$Z alias GC_B 'set Cursor_ROUGE=\!:1 ; \\
$Z set Cursor_VERTE=\!:2 ; \\
$Z set Cursor_BLEUE=\!:3 ; \\
$Z set Cursor_RAYON=\!:4 ; \\
$Z G_B'
$Z set Sommet1=1
$Z set Sommet2=2
$Z set Sommet3=3
$Z set Sommet4=4
$Z set ListeSommet=($Sommet1 $Sommet2 $Sommet3 $Sommet4)
$Z set Face1=1
$Z set Face2=2
$Z set ListeFace=($Face1 $Face2)
$Z set Cube1=1
$Z set Cube2=2
$Z set ListeCube=($Cube1 $Cube2)
$Z set HyperCube1=1
$Z set HyperCube2=2
$Z set ListeHyperCube=($HyperCube1 $HyperCube2)
$Z source $xrd/graph.01$vv$Y
$Z G_Init
$Z G_MIC HyperCube_Origine
$Z set Echelle_K=$_____Echelle
$Z foreach HyperCube ($ListeHyperCube)
$Z G_MOC HyperCube_Origine
$Z switch ("$HyperCube")
$Z case "$HyperCube1":
$Z set Echelle_K=`$xcg/MUL2.01$X a=1.10 b=$_____Echelle`
$Z G_1
$Z # Definition de la position et de l'echelle du 4-cube de droite... #
$Z breaksw
$Z case "$HyperCube2":
$Z set Echelle_K=`$xcg/MUL2.01$X a=0.38 b=$_____Echelle`
$Z G_3 ; G_3 ; G_3 ; G_3 ; G_3 ; G_3 ; G_3 ; G_3 ; G_3
$Z G_2 ; G_2
$Z # Definition de la position et de l'echelle du 4-cube de gauche... #
$Z breaksw
$Z default:
$Z set Echelle_K=`$xcg/MUL2.01$X a=1.0 b=$_____Echelle`
$Z breaksw
$Z endsw
$Z G_MIC Cube_Origine
$Z foreach Cube ($ListeCube)
$Z G_MOC Cube_Origine
$Z G_1
$Z G_4
$Z G_5
$Z foreach Face ($ListeFace)
$Z G_MIC HyperCube_$Sommet1$Face$Cube$HyperCube
$Z G_2 ; G_2
$Z G_MIC HyperCube_$Sommet2$Face$Cube$HyperCube
$Z G_3 ; G_3
$Z G_MIC HyperCube_$Sommet3$Face$Cube$HyperCube
$Z G_4 ; G_4
$Z G_MIC HyperCube_$Sommet4$Face$Cube$HyperCube
$Z G_MOC HyperCube_$Sommet1$Face$Cube$HyperCube
$Z G_6 ; G_6
$Z end
$Z set Echelle_K=`$xcg/MUL2.01$X a=2 b=$Echelle_K`
$Z end
$Z end
$Z # Definition de l'ensemble des sommets du 5-cube (c'est-a-dire un hyper-hyper-cube...). #
$Z foreach HyperCube ($ListeHyperCube)
$Z foreach Cube ($ListeCube)
$Z foreach Face ($ListeFace)
$Z G_MOC HyperCube_$Sommet1$Face$Cube$HyperCube
$Z GC_A $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC HyperCube_$Sommet2$Face$Cube$HyperCube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC HyperCube_$Sommet3$Face$Cube$HyperCube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC HyperCube_$Sommet4$Face$Cube$HyperCube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC HyperCube_$Sommet1$Face$Cube$HyperCube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z end
$Z # Trace d'un des deux hyper-cubes faits de deux cubes imbriques. #
$Z end
$Z end
$Z foreach HyperCube ($ListeHyperCube)
$Z foreach Cube ($ListeCube)
$Z foreach Sommet ($ListeSommet)
$Z G_MOC HyperCube_$Sommet$Face1$Cube$HyperCube
$Z GC_A $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC HyperCube_$Sommet$Face2$Cube$HyperCube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z end
$Z # Trace des liens entre les deux cubes composant un hyper-cube... #
$Z end
$Z end
$Z foreach HyperCube ($ListeHyperCube)
$Z foreach Cube ($ListeCube)
$Z foreach Sommet ($ListeSommet)
$Z foreach Face ($ListeFace)
$Z G_MOC HyperCube_$Sommet$Face$Cube1$HyperCube
$Z GC_A $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC HyperCube_$Sommet$Face$Cube2$HyperCube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z end
$Z # Trace des liens entre les deux cubes composant un hyper-cube... #
$Z end
$Z end
$Z end
$Z foreach Cube ($ListeCube)
$Z foreach Sommet ($ListeSommet)
$Z foreach Face ($ListeFace)
$Z G_MOC HyperCube_$Sommet$Face$Cube$HyperCube1
$Z GC_A $_____ROUGE_Lien $_____VERTE_Lien $_____BLEUE_Lien $_____RAYON_Lien
$Z G_MOC HyperCube_$Sommet$Face$Cube$HyperCube2
$Z GC_B $_____ROUGE_Lien $_____VERTE_Lien $_____BLEUE_Lien $_____RAYON_Lien
$Z # Trace des liens entre le 4-cube de gauche et le 4-cube de droite du 5-cube... #
$Z end
$Z end
$Z end
$Z if ($_____GCube5 == $EXIST) then
$Z G_Genere $_____ImageR.5 $_____Argument5
$Z # Generation du 5-cube (c'est-a-dire un hyper-hyper-cube...). #
$Z else
$Z endif
$Z source $xrd/graph.01$vv$Y
$Z G_Init
$Z set Echelle_K=$_____Echelle
$Z G_MIC Cube_Origine
$Z foreach Cube ($ListeCube)
$Z G_MOC Cube_Origine
$Z G_1
$Z G_4
$Z G_5
$Z foreach Face ($ListeFace)
$Z G_MIC Cube_$Sommet1$Face$Cube
$Z G_2 ; G_2
$Z G_MIC Cube_$Sommet2$Face$Cube
$Z G_3 ; G_3
$Z G_MIC Cube_$Sommet3$Face$Cube
$Z G_4 ; G_4
$Z G_MIC Cube_$Sommet4$Face$Cube
$Z G_MOC Cube_$Sommet1$Face$Cube
$Z G_6 ; G_6
$Z end
$Z set Echelle_K=`$xcg/MUL2.01$X a=2 b=$Echelle_K`
$Z # Ainsi, le cube exterieur sera deux fois plus grand que le cube interieur... #
$Z end
$Z # Definition de l'ensemble des sommets du 4-cube (c'est-a-dire un hyper-cube...). #
$Z foreach Cube ($ListeCube)
$Z foreach Face ($ListeFace)
$Z G_MOC Cube_$Sommet1$Face$Cube
$Z GC_A $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC Cube_$Sommet2$Face$Cube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC Cube_$Sommet3$Face$Cube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC Cube_$Sommet4$Face$Cube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC Cube_$Sommet1$Face$Cube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z # Trace de chacune des six faces des 3-cubes interieur et exterieur du 4-cube... #
$Z end
$Z # Trace du 3-cube interieur et du 3-cube exterieur du 4-cube... #
$Z end
$Z foreach Cube ($ListeCube)
$Z foreach Sommet ($ListeSommet)
$Z G_MOC Cube_$Sommet$Face1$Cube
$Z GC_A $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC Cube_$Sommet$Face2$Cube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z end
$Z end
$Z foreach Sommet ($ListeSommet)
$Z foreach Face ($ListeFace)
$Z G_MOC Cube_$Sommet$Face$Cube1
$Z GC_A $_____ROUGE_Lien $_____VERTE_Lien $_____BLEUE_Lien $_____RAYON_Lien
$Z G_MOC Cube_$Sommet$Face$Cube2
$Z GC_B $_____ROUGE_Lien $_____VERTE_Lien $_____BLEUE_Lien $_____RAYON_Lien
$Z # Trace des liens entre le 3-cube interieur et le 3-cube exterieur du 4-cube... #
$Z end
$Z end
$Z if ($_____GCube4 == $EXIST) then
$Z G_Genere $_____ImageR.4 $_____Argument4
$Z # Generation du 4-cube (c'est-a-dire un hyper-cube...). #
$Z else
$Z endif
$Z source $xrd/graph.01$vv$Y
$Z G_Init
$Z set Echelle_K=`$xcg/MUL2.01$X a=2 b=$_____Echelle`
$Z G_MIC Carre_Origine
$Z set Carre1=1
$Z set Carre2=2
$Z set ListeCarre=($Carre1 $Carre2)
$Z G_1
$Z G_4
$Z G_5
$Z foreach Carre ($ListeCarre)
$Z G_MIC Carre_$Sommet1$Carre
$Z G_2 ; G_2
$Z G_MIC Carre_$Sommet2$Carre
$Z G_3 ; G_3
$Z G_MIC Carre_$Sommet3$Carre
$Z G_4 ; G_4
$Z G_MIC Carre_$Sommet4$Carre
$Z G_MOC Carre_$Sommet1$Carre
$Z G_6 ; G_6
$Z end
$Z # Definition de l'ensemble des sommets du 3-cube (c'est-a-dire un cube...). #
$Z foreach Carre ($ListeCarre)
$Z G_MOC Carre_$Sommet1$Carre
$Z GC_A $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC Carre_$Sommet2$Carre
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC Carre_$Sommet3$Carre
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC Carre_$Sommet4$Carre
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC Carre_$Sommet1$Carre
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z # Trace des 2-cubes (de devant et de derriere) comme un contour ferme (d'ou le {A,B,B,B,B}). #
$Z end
$Z foreach Sommet ($ListeSommet)
$Z G_MOC Carre_$Sommet$Carre1
$Z GC_A $_____ROUGE_Lien $_____VERTE_Lien $_____BLEUE_Lien $_____RAYON_Lien
$Z G_MOC Carre_$Sommet$Carre2
$Z GC_B $_____ROUGE_Lien $_____VERTE_Lien $_____BLEUE_Lien $_____RAYON_Lien
$Z # Trace des liens entre le 2-cube de devant et le 2-cube de derriere du 3-cube... #
$Z end
$Z if ($_____GCube3 == $EXIST) then
$Z G_Genere $_____ImageR.3 $_____Argument3
$Z # Generation du 3-cube (c'est-a-dire un cube...). #
$Z else
$Z endif
$Z source $xrd/graph.01$vv$Y
$Z G_Init
$Z set Echelle_K=`$xcg/MUL2.01$X a=2 b=$_____Echelle`
$Z G_MIC Segment_Origine
$Z set ListeSommet=($Sommet1 $Sommet2)
$Z set Segment1=1
$Z set Segment2=2
$Z set ListeSegment=($Segment1 $Segment2)
$Z G_1
$Z G_4
$Z foreach Segment ($ListeSegment)
$Z G_MIC Segment_$Sommet1$Segment
$Z G_2 ; G_2
$Z G_MIC Segment_$Sommet2$Segment
$Z G_MOC Segment_$Sommet1$Segment
$Z G_3 ; G_3
$Z end
$Z # Definition de l'ensemble des sommets du 2-cube (c'est-a-dire un carre...). #
$Z foreach Segment ($ListeSegment)
$Z G_MOC Segment_$Sommet1$Segment
$Z GC_A $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC Segment_$Sommet2$Segment
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z G_MOC Segment_$Sommet1$Segment
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z # Trace des 1-cubes (de gauche et de droite) comme un contour ferme (d'ou le {A,B,B}). #
$Z end
$Z foreach Sommet ($ListeSommet)
$Z G_MOC Segment_$Sommet$Segment1
$Z GC_A $_____ROUGE_Lien $_____VERTE_Lien $_____BLEUE_Lien $_____RAYON_Lien
$Z G_MOC Segment_$Sommet$Segment2
$Z GC_B $_____ROUGE_Lien $_____VERTE_Lien $_____BLEUE_Lien $_____RAYON_Lien
$Z # Trace des liens entre le 1-cube de gauche et le 1-cube de droite du 2-cube... #
$Z end
$Z if ($_____GCube2 == $EXIST) then
#20140318152603____:$Z G_Genere $_____ImageR.2 #
$Z G_Genere $_____ImageR.2 $_____Argument2
$Z # Generation du 2-cube (c'est-a-dire un carre...). #
$Z else
$Z endif
$Z source $xrd/graph.01$vv$Y
$Z G_Init
$Z set Echelle_K=`$xcg/MUL2.01$X a=2 b=$_____Echelle`
$Z G_4
$Z GC_A $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z # Trace du 0-cube du bas du 1-cube... #
$Z G_2 ; G_2
$Z GC_A $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z # Trace du 0-cube du haut du 1-cube... #
$Z GC_A $_____ROUGE_Lien $_____VERTE_Lien $_____BLEUE_Lien $_____RAYON_Lien
$Z G_4 ; G_4
$Z GC_B $_____ROUGE_Lien $_____VERTE_Lien $_____BLEUE_Lien $_____RAYON_Lien
$Z # Trace des liens entre le 0-cube du bas et le 0-cube du haut du 1-cube... #
$Z if ($_____GCube1 == $EXIST) then
#20140318152603____:$Z G_Genere $_____ImageR.1 #
$Z G_Genere $_____ImageR.1 $_____Argument1
$Z # Generation du 1-cube (c'est-a-dire un segment...). #
$Z else
$Z endif
$Z source $xrd/graph.01$vv$Y
$Z G_Init
$Z set Echelle_K=`$xcg/MUL2.01$X a=2 b=$_____Echelle`
$Z GC_A $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z GC_B $_____ROUGE_Cube $_____VERTE_Cube $_____BLEUE_Cube $_____RAYON_Cube
$Z if ($_____GCube0 == $EXIST) then
#20140318152603____:$Z G_Genere $_____ImageR.0 #
$Z G_Genere $_____ImageR.0 $_____Argument0
$Z # Generation du 0-cube (c'est-a-dire un point...). #
$Z else
$Z endif