#######################################################################################################################################
# #
# P R I N C I P E B I D I M E N S I O N N E L D U ' GPS ' : #
# #
# #
# Author of '$xiirv/.GPS2.11.1.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20160309175336). #
# #
#######################################################################################################################################
$Z SETParam _____TracerTriangle_ABC $EXIST
$Z # Parametre introduit le 20180515095257... #
$Z SETParam _____TracerCercles__ABC $EXIST
$Z # Parametre introduit le 20180515094254... #
$Z SETParam _____TracerSegments_ABC $EXIST
$Z # Parametre introduit le 20180515094254... #
$Z setParam _____Rouge_T $GRIS_8
$Z setParam _____Verte_T $GRIS_8
$Z setParam _____Bleue_T $GRIS_8
$Z setParam _____Rayon_T 0.010
$Z setParam _____Grossissement 3.0
$Z setParam _____DistanceMini 0.002
$Z setParam _____XA -0.3
$Z setParam _____YA +0.8
$Z setParam _____Rouge_PA $GRIS_8
$Z setParam _____Verte_PA $GRIS_0
$Z setParam _____Bleue_PA $GRIS_0
$Z setParam _____NCercle_PA 300
$Z setParam _____Rayon_PA 0.010
$Z setParam _____XB -0.1
$Z setParam _____YB -0.3
$Z setParam _____Rouge_PB $GRIS_0
$Z setParam _____Verte_PB $GRIS_8
$Z setParam _____Bleue_PB $GRIS_0
$Z setParam _____NCercle_PB 300
$Z setParam _____Rayon_PB 0.010
$Z setParam _____XC +0.6
$Z setParam _____YC +0.1
$Z setParam _____Rouge_PC $GRIS_0
$Z setParam _____Verte_PC $GRIS_6
$Z setParam _____Bleue_PC $GRIS_8
$Z setParam _____NCercle_PC 300
$Z setParam _____Rayon_PC 0.010
$Z setParam _____XP 0.9
$Z setParam _____YP 0.9
$Z setParam _____Rouge_P $GRIS_8
$Z setParam _____Verte_P $GRIS_8
$Z setParam _____Bleue_P $GRIS_8
$Z setParam _____Rayon_P 0.010
$Z setParam _____Zoom 0.45
$Z SETParam _____G_K 0.020
$Z set Distance_PA=`calcul sqrt(pow($_____XA-$_____XP,2)+pow($_____YA-$_____YP,2))`
$Z set Distance_PB=`calcul sqrt(pow($_____XB-$_____XP,2)+pow($_____YB-$_____YP,2))`
$Z set Distance_PC=`calcul sqrt(pow($_____XC-$_____XP,2)+pow($_____YC-$_____YP,2))`
$Z set CoOrDoNnEe_Z=0.5
$Z set AXYZ_BXYZ="AXYZ=1 BXYZ=0"
$Z set LiM="@"
$Z execRVB $xci/init$X \
$Z niveau=$NOIR \
$Z R=$_____ImagesR%s \
$Z $formatI
$Z # Introduit le 20180515095257 au cas ou... #
$Z if ($_____TracerTriangle_ABC == $EXIST) then
$Z # Test introduit le 20180515095257... #
$Z FileTmpB Ftriangle
$Z echo "$_____XA$LiM$_____XB$LiM$_____XC$LiM$_____XA" | \
$Z $R "$LiM" "$K_NL" \
$Z > $Ftriangle$COORD_X
$Z echo "$_____YA$LiM$_____YB$LiM$_____YC$LiM$_____YA" | \
$Z $R "$LiM" "$K_NL" \
$Z > $Ftriangle$COORD_Y
$Z set NPoInTsX=`$CA $Ftriangle$COORD_X | $WCl`
$Z set NPoInTsY=`$CA $Ftriangle$COORD_Y | $WCl`
$Z set NPoInTs=`$xcg/MIN2.01$X x=$NPoInTsX y=$NPoInTsY`
$Z if ($_____TracerSegments_ABC == $EXIST) then
$Z set GrOsSiSsEmEnT=1
$Z else
$Z set GrOsSiSsEmEnT=$_____Grossissement
$Z endif
$Z $xrv/particule.10$X \
$Z np=1 \
$Z iterations=$NPoInTs \
$Z $AXYZ_BXYZ \
$Z LISTE_X=$Ftriangle$COORD_X \
$Z LISTE_Y=$Ftriangle$COORD_Y \
$Z LISTE_Z=$CoOrDoNnEe_Z \
$Z grossissement=$GrOsSiSsEmEnT \
$Z LISTE_RAYON=$_____Rayon_T \
$Z LISTE_ROUGE=$_____Rouge_T \
$Z LISTE_VERTE=$_____Verte_T \
$Z LISTE_BLEUE=$_____Bleue_T \
$Z ZOOM=$_____Zoom \
$Z isoles=FAUX chainer=VRAI \
$Z ajuster_points=VRAI \
$Z equidistance=VRAI \
$Z distance_minimale=$_____DistanceMini \
$Z Lz=100 \
$Z editer_extrema_hors=FAUX \
$Z chiffres=0 \
$Z R=$_____ImagesR \
$Z $formatI
$Z # Trace du triangle ABC. #
$Z if ($_____TracerSegments_ABC == $EXIST) then
$Z else
$Z $xrv/particule.10$X \
$Z np=1 \
$Z iterations=2 \
$Z $AXYZ_BXYZ \
$Z LISTE_X=$_____XP \
$Z LISTE_Y=$_____YP \
$Z LISTE_Z=$CoOrDoNnEe_Z \
$Z grossissement=$_____Grossissement \
$Z LISTE_RAYON=$_____Rayon_P \
$Z LISTE_ROUGE=$_____Rouge_P \
$Z LISTE_VERTE=$_____Verte_P \
$Z LISTE_BLEUE=$_____Bleue_P \
$Z ZOOM=$_____Zoom \
$Z isoles=FAUX chainer=VRAI \
$Z Lz=100 \
$Z editer_extrema_hors=FAUX \
$Z chiffres=0 \
$Z fond=VRAI F=$_____ImagesR \
$Z R=$_____ImagesR \
$Z $formatI
$Z # Trace du point P. On notera qu'en fait le point P est visualise sous la forme d'un #
$Z # segment (voir "iterations=2" et "isoles=FAUX chainer=VRAI" de facon a etre sur que #
$Z # le grossissement de son rayon soit le meme que celui des points A, B et C. En effet, #
$Z # "Ar=$_____Grossissement" et "isoles=VRAI chainer=FAUX" n'ont pas donne cela... #
$Z # #
$Z # Le 20180515134240, je comprends l'origine de ce probleme : par defaut "Ar=2" (et non pas #
$Z # "Ar=1"). Ainsi, c'est : #
$Z # #
$Z # Ar=`calcul 2*$_____Grossissement` #
$Z # #
$Z # qui aurait ete necessaire... #
$Z endif
$Z FileTmpE Ftriangle
$Z else
$Z endif
$Z if ($_____TracerCercles__ABC == $EXIST) then
$Z # Test introduit le 20180515094254... #
$Z FileTmpB FPoints
$Z FileTmpB Fcercle_PA
$Z FileTmpB Fcercle_PB
$Z FileTmpB Fcercle_PC
$Z set PaRaMeTrEs1="premiere=1 lineaire=VRAI gamma=0 tD=0"
$Z set PaRaMeTrEs2="premiere=1 lineaire=VRAI"
$Z set NCercle_PA=`calculI $dpi*$Distance_PA*$_____NCercle_PA`
$Z $xci/valeurs_trig$X \
$Z $PaRaMeTrEs1 \
$Z derniere=$NCercle_PA \
$Z rD=$Distance_PA rA=$Distance_PA \
$Z tD=0 tA=$dpi \
$Z translation=$_____XA \
$Z alpha=1 beta=0 \
$Z > $Fcercle_PA$COORD_X
$Z $xci/valeurs_trig$X \
$Z $PaRaMeTrEs1 \
$Z derniere=$NCercle_PA \
$Z rD=$Distance_PA rA=$Distance_PA \
$Z tD=0 tA=$dpi \
$Z translation=$_____YA \
$Z alpha=0 beta=1 \
$Z > $Fcercle_PA$COORD_Y
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PA \
$Z vD=$_____Rayon_PA vA=$_____Rayon_PA \
$Z > $Fcercle_PA$RAYON
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PA \
$Z vD=$_____Rouge_PA vA=$_____Rouge_PA \
$Z > $Fcercle_PA$ROUGE
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PA \
$Z vD=$_____Verte_PA vA=$_____Verte_PA \
$Z > $Fcercle_PA$VERTE
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PA \
$Z vD=$_____Bleue_PA vA=$_____Bleue_PA \
$Z > $Fcercle_PA$BLEUE
$Z # Definition du cercle PA. #
$Z set NCercle_PB=`calculI $dpi*$Distance_PB*$_____NCercle_PB`
$Z $xci/valeurs_trig$X \
$Z $PaRaMeTrEs1 \
$Z derniere=$NCercle_PB \
$Z rD=$Distance_PB rA=$Distance_PB \
$Z tD=0 tA=$dpi \
$Z translation=$_____XB \
$Z alpha=1 beta=0 \
$Z > $Fcercle_PB$COORD_X
$Z $xci/valeurs_trig$X \
$Z $PaRaMeTrEs1 \
$Z derniere=$NCercle_PB \
$Z rD=$Distance_PB rA=$Distance_PB \
$Z tD=0 tA=$dpi \
$Z translation=$_____YB \
$Z alpha=0 beta=1 \
$Z > $Fcercle_PB$COORD_Y
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PB \
$Z vD=$_____Rayon_PB vA=$_____Rayon_PB \
$Z > $Fcercle_PB$RAYON
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PB \
$Z vD=$_____Rouge_PB vA=$_____Rouge_PB \
$Z > $Fcercle_PB$ROUGE
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PB \
$Z vD=$_____Verte_PB vA=$_____Verte_PB \
$Z > $Fcercle_PB$VERTE
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PB \
$Z vD=$_____Bleue_PB vA=$_____Bleue_PB \
$Z > $Fcercle_PB$BLEUE
$Z # Definition du cercle PB. #
$Z set NCercle_PC=`calculI $dpi*$Distance_PC*$_____NCercle_PC`
$Z $xci/valeurs_trig$X \
$Z $PaRaMeTrEs1 \
$Z derniere=$NCercle_PC \
$Z rD=$Distance_PC rA=$Distance_PC \
$Z tD=0 tA=$dpi \
$Z translation=$_____XC \
$Z alpha=1 beta=0 \
$Z > $Fcercle_PC$COORD_X
$Z $xci/valeurs_trig$X \
$Z $PaRaMeTrEs1 \
$Z derniere=$NCercle_PC \
$Z rD=$Distance_PC rA=$Distance_PC \
$Z tD=0 tA=$dpi \
$Z translation=$_____YC \
$Z alpha=0 beta=1 \
$Z > $Fcercle_PC$COORD_Y
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PC \
$Z vD=$_____Rayon_PC vA=$_____Rayon_PC \
$Z > $Fcercle_PC$RAYON
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PC \
$Z vD=$_____Rouge_PC vA=$_____Rouge_PC \
$Z > $Fcercle_PC$ROUGE
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PC \
$Z vD=$_____Verte_PC vA=$_____Verte_PC \
$Z > $Fcercle_PC$VERTE
$Z $xci/valeurs_inte$X \
$Z $PaRaMeTrEs2 \
$Z derniere=$NCercle_PC \
$Z vD=$_____Bleue_PC vA=$_____Bleue_PC \
$Z > $Fcercle_PC$BLEUE
$Z # Definition du cercle PC. #
$Z $CA \
$Z $Fcercle_PA$COORD_X \
$Z $Fcercle_PB$COORD_X \
$Z $Fcercle_PC$COORD_X \
$Z > $FPoints$COORD_X
$Z $CA \
$Z $Fcercle_PA$COORD_Y \
$Z $Fcercle_PB$COORD_Y \
$Z $Fcercle_PC$COORD_Y \
$Z > $FPoints$COORD_Y
$Z $CA \
$Z $Fcercle_PA$RAYON \
$Z $Fcercle_PB$RAYON \
$Z $Fcercle_PC$RAYON \
$Z > $FPoints$RAYON
$Z $CA \
$Z $Fcercle_PA$ROUGE \
$Z $Fcercle_PB$ROUGE \
$Z $Fcercle_PC$ROUGE \
$Z > $FPoints$ROUGE
$Z $CA \
$Z $Fcercle_PA$VERTE \
$Z $Fcercle_PB$VERTE \
$Z $Fcercle_PC$VERTE \
$Z > $FPoints$VERTE
$Z $CA \
$Z $Fcercle_PA$BLEUE \
$Z $Fcercle_PB$BLEUE \
$Z $Fcercle_PC$BLEUE \
$Z > $FPoints$BLEUE
$Z FileTmpE Fcercle_PA
$Z FileTmpE Fcercle_PB
$Z FileTmpE Fcercle_PC
$Z set NPoInTsX=`$CA $FPoints$COORD_X | $WCl`
$Z set NPoInTsY=`$CA $FPoints$COORD_Y | $WCl`
$Z set NPoInTs=`$xcg/MIN2.01$X x=$NPoInTsX y=$NPoInTsY`
$Z $xrv/particule.10$X \
$Z np=1 \
$Z iterations=$NPoInTs \
$Z $AXYZ_BXYZ \
$Z LISTE_X=$FPoints$COORD_X \
$Z LISTE_Y=$FPoints$COORD_Y \
$Z LISTE_Z=$CoOrDoNnEe_Z \
$Z LISTE_RAYON=$FPoints$RAYON \
$Z LISTE_ROUGE=$FPoints$ROUGE \
$Z LISTE_VERTE=$FPoints$VERTE \
$Z LISTE_BLEUE=$FPoints$BLEUE \
$Z ZOOM=$_____Zoom \
$Z isoles=VRAI \
$Z Lz=100 \
$Z editer_extrema_hors=FAUX \
$Z chiffres=0 \
$Z fond=VRAI F=$_____ImagesR \
$Z R=$_____ImagesR \
$Z $formatI
$Z # Trace des trois cercles {PA,PB,PC}. #
$Z FileTmpE FPoints
$Z else
$Z endif
$Z if ($_____TracerSegments_ABC == $EXIST) then
$Z # Test introduit le 20180515095257... #
$Z FileTmpB Fdistances
$Z echo "$_____XP$LiM$_____XA$LiM$_____XP$LiM$_____XB$LiM$_____XP$LiM$_____XC" | \
$Z $R "$LiM" "$K_NL" \
$Z > $Fdistances$COORD_X
$Z echo "$_____YP$LiM$_____YA$LiM$_____YP$LiM$_____YB$LiM$_____YP$LiM$_____YC" | \
$Z $R "$LiM" "$K_NL" \
$Z > $Fdistances$COORD_Y
$Z echo "$_____Rouge_P$LiM$_____Rouge_PA$LiM$_____Rouge_P$LiM$_____Rouge_PB$LiM$_____Rouge_P$LiM$_____Rouge_PC" | \
$Z $R "$LiM" "$K_NL" \
$Z > $Fdistances$ROUGE
$Z echo "$_____Verte_P$LiM$_____Verte_PA$LiM$_____Verte_P$LiM$_____Verte_PB$LiM$_____Verte_P$LiM$_____Verte_PC" | \
$Z $R "$LiM" "$K_NL" \
$Z > $Fdistances$VERTE
$Z echo "$_____Bleue_P$LiM$_____Bleue_PA$LiM$_____Bleue_P$LiM$_____Bleue_PB$LiM$_____Bleue_P$LiM$_____Bleue_PC" | \
$Z $R "$LiM" "$K_NL" \
$Z > $Fdistances$BLEUE
$Z echo "$_____Rayon_P$LiM$_____Rayon_PA$LiM$_____Rayon_P$LiM$_____Rayon_PB$LiM$_____Rayon_P$LiM$_____Rayon_PC" | \
$Z $R "$LiM" "$K_NL" \
$Z > $Fdistances$RAYON
$Z set NPoInTsX=`$CA $Fdistances$COORD_X | $WCl`
$Z set NPoInTsY=`$CA $Fdistances$COORD_Y | $WCl`
$Z set NPoInTs=`$xcg/MIN2.01$X x=$NPoInTsX y=$NPoInTsY`
$Z $xrv/particule.10$X \
$Z np=1 \
$Z iterations=$NPoInTs \
$Z $AXYZ_BXYZ \
$Z LISTE_X=$Fdistances$COORD_X \
$Z LISTE_Y=$Fdistances$COORD_Y \
$Z LISTE_Z=$CoOrDoNnEe_Z \
$Z grossissement=$_____Grossissement \
$Z LISTE_RAYON=$Fdistances$RAYON \
$Z LISTE_ROUGE=$Fdistances$ROUGE \
$Z LISTE_VERTE=$Fdistances$VERTE \
$Z LISTE_BLEUE=$Fdistances$BLEUE \
$Z ZOOM=$_____Zoom \
$Z isoles=FAUX chainer=VRAI \
$Z ajuster_points=VRAI \
$Z equidistance=VRAI \
$Z distance_minimale=$_____DistanceMini \
$Z Lz=100 \
$Z editer_extrema_hors=FAUX \
$Z chiffres=0 \
$Z fond=VRAI F=$_____ImagesR \
$Z R=$_____ImagesR \
$Z $formatI
$Z # Trace des trois segments {PA,PB,PC}. #
$Z FileTmpE Fdistances
$Z else
$Z endif
$Z set GRaYoN=0.010
$Z set Echelle_K=$_____G_K
$Z set TrAnSlAtIoN_X=0.05
$Z set TrAnSlAtIoN_Y=0.05
$Z source $xrd/graph.01$vv$Y
$Z G_Init
$Z set Cursor_RAYON=$GRaYoN
$Z set Echelle_K=$_____G_K
$Z G_Zoom $_____Zoom
$Z set FoNd="fond=VRAI F=$_____ImagesR"
$Z set ZBuFfEr="$K_VIDE"
$Z set GArGuMeNtS="$K_VIDE"
$Z set GArGuMeNtS="$GArGuMeNtS"
$Z set GArGuMeNtS="$GArGuMeNtS"" ajuster_points=VRAI"
$Z set GArGuMeNtS="$GArGuMeNtS"" equidistance=VRAI"
$Z set GArGuMeNtS="$GArGuMeNtS"" distance_minimale=0.02"
$Z set GArGuMeNtS="$GArGuMeNtS"" store_sphere__anti_aliasing_____compatibilite_20060426=VRAI"
$Z G_Cursor1 `calcul $_____XA+$TrAnSlAtIoN_X` `calcul $_____YA+$TrAnSlAtIoN_Y` $Origine_COORD_Z
$Z G_Cursor2 $_____Rouge_PA $_____Verte_PA $_____Bleue_PA
$Z eval `G_Message "A"`
$Z # Marquage du point A. #
$Z G_Cursor1 `calcul $_____XB+$TrAnSlAtIoN_X` `calcul $_____YB+$TrAnSlAtIoN_Y` $Origine_COORD_Z
$Z G_Cursor2 $_____Rouge_PB $_____Verte_PB $_____Bleue_PB
$Z eval `G_Message "B"`
$Z # Marquage du point B. #
$Z G_Cursor1 `calcul $_____XC+$TrAnSlAtIoN_X` `calcul $_____YC+$TrAnSlAtIoN_Y` $Origine_COORD_Z
$Z G_Cursor2 $_____Rouge_PC $_____Verte_PC $_____Bleue_PC
$Z eval `G_Message "C"`
$Z # Marquage du point C. #
$Z G_Cursor1 `calcul $_____XP+$TrAnSlAtIoN_X` `calcul $_____YP+$TrAnSlAtIoN_Y` $Origine_COORD_Z
$Z G_Cursor2 $_____Rouge_P $_____Verte_P $_____Bleue_P
$Z eval `G_Message "P"`
$Z # Marquage du point P. #
$Z G_Genere $_____ImagesR $FoNd $ZBuFfEr $AXYZ_BXYZ $GArGuMeNtS