####################################################################################################################################### # # # 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