#######################################################################################################################################
# #
# D E F I N I T I O N S U T I L E S A #
# U N E D E M O N S T R A T I O N D U T H E O R E M E D E P Y T H A G O R E : #
# #
# #
# Author of '$xiirv/.PYTH.31.2.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20170426090526). #
# #
#######################################################################################################################################
$Z set CoTeX=0.5
$Z set CoTeY=0.3
$Z # Definition des deux cotes de l'angle droit ('X' et 'Y', habituellement 'Z' denote #
$Z # l'hypotenuse). #
$Z set CoTe=`calcul $CoTeX+$CoTeY`
$Z # Calcul du cote du grand carre. #
$Z set X_PointD=0.1
$Z set Y_PointD=0.1
$Z set X_PointC=`calcul $X_PointD+$CoTe`
$Z set Y_PointC=$Y_PointD
$Z set X_PointB=$X_PointC
$Z set Y_PointB=`calcul $Y_PointC+$CoTe`
$Z set X_PointA=`calcul $X_PointB-$CoTe`
$Z set Y_PointA=$Y_PointB
$Z # Definition du grand carre. #
$Z set X_PointG0=`calcul $X_PointD+$CoTeX`
$Z set Y_PointG0=$Y_PointD
$Z set X_PointF0=$X_PointC
$Z set Y_PointF0=`calcul $Y_PointC+$CoTeX`
$Z set X_PointE0=`calcul $X_PointB-$CoTeX`
$Z set Y_PointE0=$Y_PointB
$Z set X_PointH0=$X_PointA
$Z set Y_PointH0=`calcul $Y_PointA-$CoTeX`
$Z # Definition des quatre points {E0,F0,G0,H0} sur les quatre cotes du grand carre. #
$Z set X_PointD4=`calcul $X_PointD+$DeCaLaGe1`
$Z set Y_PointD4=`calcul $Y_PointD+$DeCaLaGe1`
$Z set X_PointC3=`calcul $X_PointC-$DeCaLaGe1`
$Z set Y_PointC3=`calcul $Y_PointC+$DeCaLaGe1`
$Z set X_PointB2=`calcul $X_PointB-$DeCaLaGe1`
$Z set Y_PointB2=`calcul $Y_PointB-$DeCaLaGe1`
$Z set X_PointA1=`calcul $X_PointA+$DeCaLaGe1`
$Z set Y_PointA1=`calcul $Y_PointA-$DeCaLaGe1`
$Z set X_PointG4=`calcul $X_PointG0-$DeCaLaGe1`
$Z set Y_PointG4=`calcul $Y_PointG0+$DeCaLaGe1`
$Z set X_PointG3=`calcul $X_PointG0+$DeCaLaGe1`
$Z set Y_PointG3=`calcul $Y_PointG0+$DeCaLaGe1`
$Z set X_PointF3=`calcul $X_PointF0-$DeCaLaGe1`
$Z set Y_PointF3=`calcul $Y_PointF0-$DeCaLaGe1`
$Z set X_PointF2=`calcul $X_PointF0-$DeCaLaGe1`
$Z set Y_PointF2=`calcul $Y_PointF0+$DeCaLaGe1`
$Z set X_PointE2=`calcul $X_PointE0+$DeCaLaGe1`
$Z set Y_PointE2=`calcul $Y_PointE0-$DeCaLaGe1`
$Z set X_PointE1=`calcul $X_PointE0-$DeCaLaGe1`
$Z set Y_PointE1=`calcul $Y_PointE0-$DeCaLaGe1`
$Z set X_PointH1=`calcul $X_PointH0+$DeCaLaGe1`
$Z set Y_PointH1=`calcul $Y_PointH0+$DeCaLaGe1`
$Z set X_PointH4=`calcul $X_PointH0+$DeCaLaGe1`
$Z set Y_PointH4=`calcul $Y_PointH0-$DeCaLaGe1`
$Z # Definition des quatre triangles rectangles. #
$Z set X_PointG5=$X_PointG0
$Z set Y_PointG5=`calcul $Y_PointG0+$DeCaLaGe2`
$Z set X_PointF5=`calcul $X_PointF0-$DeCaLaGe2`
$Z set Y_PointF5=$Y_PointF0
$Z set X_PointE5=$X_PointE0
$Z set Y_PointE5=`calcul $Y_PointE0-$DeCaLaGe2`
$Z set X_PointH5=`calcul $X_PointH0+$DeCaLaGe2`
$Z set Y_PointH5=$Y_PointH0
$Z # Definition du petit carre interieur. #
$Z # Definition de la geometrie : #
$Z # #
$Z # A E B #
$Z # #
$Z # * Y Y Y Y Y Y Y * X X X X X X X X X X X X X X * #
$Z # X Z 5 Z Y #
$Z # X 11111111111 Z 55555 Z 222222222222222222222 Y #
$Z # X 1111111111 Z 555555555 Z 222222222222222222 Y #
$Z # X 111111111 Z 5555555555555 Z 222222222222222 Y #
$Z # X 11111111 Z 55555555555555555 Z 222222222222 Y #
$Z # X 1111111 Z 555555555555555555555 Z 222222222 Y #
$Z # X 111111 Z 5555555555555555555555555 Z 222222 Y #
$Z # X 11111 Z 55555555555555555555555555555 Z 222 Y #
$Z # X 1111 Z 555555555555555555555555555555555 Z Y #
$Z # X 111 Z 5555555555555555555555555555555555555 * F #
$Z # X 11 Z 5555555555555555555555555555555555555 Z #
$Z # X 1 Z 5555555555555555555555555555555555555 Z X #
$Z # X Z 5555555555555555555555555555555555555 Z X #
$Z # X Z 5555555555555555555555555555555555555 Z 3 X #
$Z # Z 5555555555555555555555555555555555555 Z 33 X #
$Z # H * 5555555555555555555555555555555555555 Z 333 X #
$Z # Y Z 555555555555555555555555555555555 Z 3333 X #
$Z # Y 444 Z 55555555555555555555555555555 Z 33333 X #
$Z # Y 444444 Z 5555555555555555555555555 Z 333333 X #
$Z # Y 444444444 Z 555555555555555555555 Z 3333333 X #
$Z # Y 444444444444 Z 55555555555555555 Z 33333333 X #
$Z # Y 444444444444444 Z 5555555555555 Z 333333333 X #
$Z # Y 444444444444444444 Z 555555555 Z 3333333333 X #
$Z # Y 444444444444444444444 Z 55555 Z 33333333333 X #
$Z # Y Z 5 Z X #
$Z # * X X X X X X X X X X X X X X * Y Y Y Y Y Y Y * #
$Z # #
$Z # D G C #
$Z # #
$Z alias Gsegment 'set CoO_X=\!:1 ; set CoO_Y=\!:2 ; set RoUgE=\!:3 ; set VeRtE=\!:4 ; set BlUeE=\!:5 ; \\
$Z echo $CoO_X >>! $FCoOrDoNnEes$COORD_X ; \\
$Z echo $CoO_Y >>! $FCoOrDoNnEes$COORD_Y ; \\
$Z echo $RoUgE >>! $FCoOrDoNnEes$ROUGE ; \\
$Z echo $VeRtE >>! $FCoOrDoNnEes$VERTE ; \\
$Z echo $BlUeE >>! $FCoOrDoNnEes$BLEUE ; \\
$Z unset CoO_X CoO_Y RoUgE VeRtE BlUeE'
$Z # Procedure de generation d'un segment... #