####################################################################################################################################### # # # I N T E R S E C T I O N D E D E U X S U R F A C E S : # # # # # # Author of '$xiirs/.PROK.Q1.1.$U' : # # # # Jean-Francois COLONNA (LACTAMME, 20200801105432). # # # ####################################################################################################################################### $Z setParam _____Epsilon 0.010 $Z setParam _____Zoom 1.0 $Z setParam _____NAuCarre VRAI $Z setParam _____RayonI 0.025 $Z setParam _____RougeI $GRIS_8 $Z setParam _____VerteI $GRIS_6 $Z setParam _____BleueI $GRIS_0 $Z SETParam _____Display1 $EXIST $Z setParam _____Rayon1 0.010 $Z setParam _____Rouge1 $GRIS_6 $Z setParam _____Verte1 $GRIS_6 $Z setParam _____Bleue1 $GRIS_6 $Z setParam _____Nip1 10 $Z setParam _____Npp1 20 $Z setParam _____Nim1 40 $Z setParam _____Npm1 20 $Z setParam _____Normalise1 $NEXIST $Z # Parametre introduit le 20200803124238... # $Z SETParam _____Display2 $EXIST $Z setParam _____Rayon2 0.010 $Z setParam _____Rouge2 $GRIS_0 $Z setParam _____Verte2 $GRIS_4 $Z setParam _____Bleue2 $GRIS_4 $Z setParam _____Nip2 20 $Z setParam _____Npp2 20 $Z setParam _____Nim2 20 $Z setParam _____Npm2 20 $Z setParam _____Normalise2 $NEXIST $Z # Parametre introduit le 20200803124238... # $Z FilSTmpB FSuRfAcE1 $Z $xrs/project2D.01$Z $_____Surface1 \ $Z $FSuRfAcE1 \ $Z "$_____ASurface1" \ $Z $COORD_X $COORD_Y $COORD_Z \ $Z FAUX \ $Z $_____Normalise1 $Z # Projection e la surface 1. # $Z FilSTmpB FSuRfAcE2 $Z $xrs/project2D.01$Z $_____Surface2 \ $Z $FSuRfAcE2 \ $Z "$_____ASurface2" \ $Z $COORD_X $COORD_Y $COORD_Z \ $Z FAUX \ $Z $_____Normalise2 $Z # Projection e la surface 2. # $Z FilSTmpB FInTeRsEcTiOn $Z $xrs/intersection3D.11$X \ $Z Progression=VRAI \ $Z PP1X=$FSuRfAcE1$COORD_X \ $Z PP1Y=$FSuRfAcE1$COORD_Y \ $Z PP1Z=$FSuRfAcE1$COORD_Z \ $Z PP2X=$FSuRfAcE2$COORD_X \ $Z PP2Y=$FSuRfAcE2$COORD_Y \ $Z PP2Z=$FSuRfAcE2$COORD_Z \ $Z ponderation_MOYE=0 \ $Z ponderation_MIN2=0 \ $Z ponderation_MAX2=0 \ $Z ponderation_SE12=1 \ $Z ponderation_SE22=0 \ $Z epsilon=$_____Epsilon \ $Z $formatI \ $Z >> $FInTeRsEcTiOn $Z # Intersection des surfaces 1 et 2. La ponderation 'SE12' est selectionnee afin que les # $Z # points de l'intersection appartiennent bien (visuellement...) a la surface 1... # $Z $CA $FInTeRsEcTiOn | \ $Z $AW ' { print $1 } ' | \ $Z $SE -e "s/^.*=//" \ $Z > $FInTeRsEcTiOn$COORD_X $Z $CA $FInTeRsEcTiOn | \ $Z $AW ' { print $2 } ' | \ $Z $SE -e "s/^.*=//" \ $Z > $FInTeRsEcTiOn$COORD_Y $Z $CA $FInTeRsEcTiOn | \ $Z $AW ' { print $3 } ' | \ $Z $SE -e "s/^.*=//" \ $Z > $FInTeRsEcTiOn$COORD_Z $Z set NPoInTsX=`$CA $FInTeRsEcTiOn$COORD_X | $WCl` $Z set NPoInTsY=`$CA $FInTeRsEcTiOn$COORD_Y | $WCl` $Z set NPoInTsZ=`$CA $FInTeRsEcTiOn$COORD_Z | $WCl` #20220615104915____:$Z set NPoInTs_=`$xcg/MAX3.01$X x=$NPoInTsX y=$NPoInTsY z=$NPoInTsZ` # $Z set NPoInTs_=`$xcg/MIN3.01$X x=$NPoInTsX y=$NPoInTsY z=$NPoInTsZ` $Z set EcLaIrAgE="Lz=100 DepthCueingMinimal=0.2 DepthCueingMaximal=1" $Z set LiStEr="lister_les_points=VRAI lister_les_points_apres=VRAI" $Z FilSTmpB FLiStE_PoInTs $Z $xrv/particule.10$X \ $Z nombre_points=$NPoInTs_ \ $Z nombre_periodes=1 \ $Z LISTE_X=$FInTeRsEcTiOn$COORD_X \ $Z LISTE_Y=$FInTeRsEcTiOn$COORD_Y \ $Z LISTE_Z=$FInTeRsEcTiOn$COORD_Z \ $Z AXYZ=1 BXYZ=0 \ $Z LISTE_ROUGE=$_____RougeI \ $Z LISTE_VERTE=$_____VerteI \ $Z LISTE_BLEUE=$_____BleueI \ $Z N_au_carre=$_____NAuCarre \ $Z ZOOM=$_____Zoom \ $Z rayon_de_visualisation=$_____RayonI \ $Z Z-Buffer=VRAI Z=$xTV/Z_BUFFER message_brume_ZB=FAUX \ $Z chiffres=0 \ $Z $LiStEr \ $Z editer_extrema_hors=FAUX \ $Z R=$xTV/INTERSECTION \ $Z $formatI \ $Z >> $FLiStE_PoInTs $Z # Trace de l'intersection des surfaces 1 et 2. # $Z FilSTmpE FInTeRsEcTiOn $Z if ($_____Display1 == $EXIST) then $Z set ArGuMeNtS="$K_VIDE" $Z set ArGuMeNtS="$ArGuMeNtS"" N_au_carre=$_____NAuCarre" $Z set ArGuMeNtS="$ArGuMeNtS"" nombre_inter_paralleles=$_____Nip1" $Z set ArGuMeNtS="$ArGuMeNtS"" nombre_points_entre_deux_paralleles=$_____Npp1" $Z set ArGuMeNtS="$ArGuMeNtS"" nombre_inter_meridiens=$_____Nim1" $Z set ArGuMeNtS="$ArGuMeNtS"" nombre_points_entre_deux_meridiens=$_____Npm1" $Z set ArGuMeNtS="$ArGuMeNtS"" faciliter_parametrage_u_v=VRAI" $Z set ArGuMeNtS="$ArGuMeNtS"" RVB=FAUX" $Z set ArGuMeNtS="$ArGuMeNtS"" $LiStEr" $Z $xrs/project2D.02$Z \ $Z $FSuRfAcE1 \ $Z $xTV/SURFACE1 \ $Z "$ArGuMeNtS" \ $Z $COORD_X $COORD_Y $COORD_Z \ $Z $_____Zoom \ $Z 0 0 0 \ $Z FAUX \ $Z "$K_VIDE" "$K_VIDE" \ $Z $NEXIST | \ $Z $SE -e "s/\( ROUGE=\)[^ ][^ ]*\( \)/\1$_____Rouge1\2/" \ $Z -e "s/\( VERTE=\)[^ ][^ ]*\( \)/\1$_____Verte1\2/" \ $Z -e "s/\( BLEUE=\)[^ ][^ ]*\( \)/\1$_____Bleue1\2/" \ $Z >> $FLiStE_PoInTs $Z # Trace de la surface 1. # $Z else $Z endif $Z FilSTmpE FSuRfAcE1 $Z if ($_____Display2 == $EXIST) then $Z set ArGuMeNtS="$K_VIDE" $Z set ArGuMeNtS="$ArGuMeNtS"" N_au_carre=$_____NAuCarre" $Z set ArGuMeNtS="$ArGuMeNtS"" nombre_inter_paralleles=$_____Nip2" $Z set ArGuMeNtS="$ArGuMeNtS"" nombre_points_entre_deux_paralleles=$_____Npp2" $Z set ArGuMeNtS="$ArGuMeNtS"" nombre_inter_meridiens=$_____Nim2" $Z set ArGuMeNtS="$ArGuMeNtS"" nombre_points_entre_deux_meridiens=$_____Npm2" $Z set ArGuMeNtS="$ArGuMeNtS"" faciliter_parametrage_u_v=VRAI" $Z set ArGuMeNtS="$ArGuMeNtS"" RVB=FAUX" $Z set ArGuMeNtS="$ArGuMeNtS"" $LiStEr" $Z $xrs/project2D.02$Z \ $Z $FSuRfAcE2 \ $Z $xTV/SURFACE2 \ $Z "$ArGuMeNtS" \ $Z $COORD_X $COORD_Y $COORD_Z \ $Z $_____Zoom \ $Z 0 0 0 \ $Z FAUX \ $Z "$K_VIDE" "$K_VIDE" \ $Z $NEXIST | \ $Z $SE -e "s/\( ROUGE=\)[^ ][^ ]*\( \)/\1$_____Rouge2\2/" \ $Z -e "s/\( VERTE=\)[^ ][^ ]*\( \)/\1$_____Verte2\2/" \ $Z -e "s/\( BLEUE=\)[^ ][^ ]*\( \)/\1$_____Bleue2\2/" \ $Z >> $FLiStE_PoInTs $Z # Trace de la surface 2. # $Z else $Z endif $Z FilSTmpE FSuRfAcE2 $Z FilSTmpB FSuRfAcE12 $Z $CA $FLiStE_PoInTs | \ $Z $SE -e "s/^.* X=//" \ $Z -e 's/^\([^ ][^ ]*\) .*$/\1/' \ $Z > $FSuRfAcE12$COORD_X $Z $CA $FLiStE_PoInTs | \ $Z $SE -e "s/^.* Y=//" \ $Z -e 's/^\([^ ][^ ]*\) .*$/\1/' \ $Z > $FSuRfAcE12$COORD_Y $Z $CA $FLiStE_PoInTs | \ $Z $SE -e "s/^.* Z=//" \ $Z -e 's/^\([^ ][^ ]*\) .*$/\1/' \ $Z > $FSuRfAcE12$COORD_Z $Z $CA $FLiStE_PoInTs | \ $Z $SE -e "s/^.* RAYON=//" \ $Z -e 's/^\([^ ][^ ]*\) .*$/\1/' \ $Z > $FSuRfAcE12$RAYON $Z $CA $FLiStE_PoInTs | \ $Z $SE -e "s/^.* ROUGE=//" \ $Z -e 's/^\([^ ][^ ]*\) .*$/\1/' \ $Z > $FSuRfAcE12$ROUGE $Z $CA $FLiStE_PoInTs | \ $Z $SE -e "s/^.* VERTE=//" \ $Z -e 's/^\([^ ][^ ]*\) .*$/\1/' \ $Z > $FSuRfAcE12$VERTE $Z $CA $FLiStE_PoInTs | \ $Z $SE -e "s/^.* BLEUE=//" \ $Z -e 's/^\([^ ][^ ]*\) .*$/\1/' \ $Z > $FSuRfAcE12$BLEUE $Z set NPoInTsX=`$CA $FSuRfAcE12$COORD_X | $WCl` $Z set NPoInTsY=`$CA $FSuRfAcE12$COORD_Y | $WCl` $Z set NPoInTsZ=`$CA $FSuRfAcE12$COORD_Z | $WCl` #20220615104915____:$Z set NPoInTs_=`$xcg/MAX3.01$X x=$NPoInTsX y=$NPoInTsY z=$NPoInTsZ` # $Z set NPoInTs_=`$xcg/MIN3.01$X x=$NPoInTsX y=$NPoInTsY z=$NPoInTsZ` $Z $xrv/particule.10$X \ $Z nombre_points=$NPoInTs_ \ $Z nombre_periodes=1 \ $Z LISTE_X=$FSuRfAcE12$COORD_X \ $Z LISTE_Y=$FSuRfAcE12$COORD_Y \ $Z LISTE_Z=$FSuRfAcE12$COORD_Z \ $Z LISTE_RAYON=$FSuRfAcE12$RAYON \ $Z LISTE_ROUGE=$FSuRfAcE12$ROUGE \ $Z LISTE_VERTE=$FSuRfAcE12$VERTE \ $Z LISTE_BLEUE=$FSuRfAcE12$BLEUE \ $Z N_au_carre=$_____NAuCarre \ $Z ZOOM=$_____Zoom \ $Z chiffres=0 \ $Z $EcLaIrAgE \ $Z couronne=2 \ $Z editer_extrema_hors=FAUX \ $Z R=$_____ImageR \ $Z $formatI $Z # Trace des surfaces 1 et 2 (chacune en option) et de leur intersection. # $Z FilSTmpE FSuRfAcE12