#!/bin/csh
#######################################################################################################################################
# #
# C O N S T R U C T I O N D ' U N E V A R I E T E T R I D I M E N S I O N N E L L E A P A R T I R #
# D E S E S T R O I S P S E U D O - P R O J E C T I O N S F L O T T A N T E S : #
# #
# #
# Utilisation : #
# #
# $xrs/project3D.02$Z <Proj> <ImR> [<Args> [<CR1> [<CR2> [<CR3> [<Zoo> [<Rx> [<Ry> [<Rz> [<Mode3D> [<DivPw>]]]]]]]]]] #
# #
# #
# Author of '$xrs/project3D.02$Z' : #
# #
# Jean-Francois Colonna (LACTAMME, 20090722104845). #
# #
#######################################################################################################################################
set Projection=$1
# Les pseudo-projections auront pu etre generees par 'v $xrs/project2D.01$Z' par exemple... #
set ImageR=$2
set Arguments=($3)
# Ce parametre permet d'introduire une liste quelconque de parametres de la commande #
# '$xrs/project2D.11$X' (a condition de la "quoter") et par exemple : #
# #
# "dpu=10 dpv=10 N_AU_CARRE=FAUX" #
# #
# qui permet d'accelerer le calcul... #
set ComposR1=$4
set ComposR2=$5
set ComposR3=$6
set Zoom=$7
set RotationX=$8
set RotationY=$9
set RotationZ=$10
set Mode3D=$11
# Parametre introduit le 20090727094505... #
set DivPw=$12
# Parametre introduit le 20090727100121... #
setArgum ComposR1 $COORD_X
setArgum ComposR2 $COORD_Y
setArgum ComposR3 $COORD_Z
setArgum Zoom 0.8
setArgum RotationX 0
setArgum RotationY 0
setArgum RotationZ 0
setArgum Mode3D FAUX
setArgum DivPw 1
if ($Mode3D == FAUX) then
set DivPw=1
# Forcage introduit le 20090727101749... #
else
endif
set Zmin=0
set Zmax1=`ls $Projection.*$ComposR1 | $WCl | $AW ' { print $1 } '`
set Zmax2=`ls $Projection.*$ComposR2 | $WCl | $AW ' { print $1 } '`
set Zmax3=`ls $Projection.*$ComposR3 | $WCl | $AW ' { print $1 } '`
set Zmax=`$xcg/MIN3.01$X x=$Zmax1 y=$Zmax2 z=$Zmax3 entier=VRAI`
set Zmax=`calcul $Zmax-1+$Zmin`
set Pw=`calcul (1/($Zmax-$Zmin))/$DivPw`
set Parametres="$K_VIDE"
set Parametres="$Parametres"" Zmin=$Zmin Zmax=$Zmax ValiderAxes=FAUX"
set Parametres="$Parametres"" brume=FAUX"
set Parametres="$Parametres"" mu=0 Mu=1"
set Parametres="$Parametres"" mv=0 Mv=1"
set Parametres="$Parametres"" mw=0 Mw=1"
set Parametres="$Parametres"" pu=0.02 pv=0.02 pw=$Pw"
set Parametres="$Parametres"" eu=20 ev=20"
set Parametres="$Parametres"" dpu=40 dpv=40"
set Parametres="$Parametres"" Fx_periodiser_u=FAUX Fy_periodiser_u=FAUX Fz_periodiser_u=FAUX"
set Parametres="$Parametres"" Fx_symetriser_u=FAUX Fy_symetriser_u=FAUX Fz_symetriser_u=FAUX"
set Parametres="$Parametres"" Fx_prolonger_u=VRAI Fy_prolonger_u=VRAI Fz_prolonger_u=VRAI"
set Parametres="$Parametres"" Fx_periodiser_v=FAUX Fy_periodiser_v=FAUX Fz_periodiser_v=FAUX"
set Parametres="$Parametres"" Fx_symetriser_v=FAUX Fy_symetriser_v=FAUX Fz_symetriser_v=FAUX"
set Parametres="$Parametres"" Fx_prolonger_v=VRAI Fy_prolonger_v=VRAI Fz_prolonger_v=VRAI"
set Parametres="$Parametres"" interpoler2D=VRAI bilineaire2D=VRAI"
set Parametres="$Parametres"" ddu=0.01 ddv=0.01 ddw=0.01"
set Parametres="$Parametres"" ZOOM=$Zoom"
set Parametres="$Parametres"" ROTATION_OX=$RotationX"
set Parametres="$Parametres"" ROTATION_OY=$RotationY"
set Parametres="$Parametres"" ROTATION_OZ=$RotationZ"
set Parametres="$Parametres"" Lz=100"
set Parametres="$Parametres"" rayon_de_visualisation=0.015"
set Parametres="$Parametres"" N_AU_CARRE=VRAI"
set Parametres="$Parametres"" edc=VRAI"
set Parametres="$Parametres"" $Arguments"
set NombreImagesX=1
set NombreImagesY=1
set NombreImagesZ=1
# A priori, une seule image va etre generee... #
if ($RotationX != 0) then
if (-e $RotationX) then
set NombreImagesX=`$CA $RotationX | $WCl | $AW ' { print $1 } '`
else
endif
else
endif
if ($RotationY != 0) then
if (-e $RotationY) then
set NombreImagesY=`$CA $RotationY | $WCl | $AW ' { print $1 } '`
else
endif
else
endif
if ($RotationZ != 0) then
if (-e $RotationZ) then
set NombreImagesZ=`$CA $RotationZ | $WCl | $AW ' { print $1 } '`
else
endif
else
endif
set NombreImages=`$xcg/MAX3.01$X x=$NombreImagesX y=$NombreImagesY z=$NombreImagesZ entier=VRAI signe="$K_VIDE"`
if ($NombreImages == 1) then
set NombreChiffres=0
else
set NombreChiffres=`GetParam $xrs/project2D.11$X chiffres`
endif
set Premiere1=`ls $Projection.*$ComposR1 | $HEA -1 | $SE -e "s+^$Projection\.++" -e "s/\""$ComposR1"'$//'`
set Premiere2=`ls $Projection.*$ComposR2 | $HEA -1 | $SE -e "s+^$Projection\.++" -e "s/\""$ComposR2"'$//'`
set Premiere3=`ls $Projection.*$ComposR3 | $HEA -1 | $SE -e "s+^$Projection\.++" -e "s/\""$ComposR3"'$//'`
$xrs/project3D.11$X \
np=$NombreImages \
Fx=$Projection. postfixeFx=$ComposR1 premiereFx=$Premiere1 \
Fy=$Projection. postfixeFy=$ComposR2 premiereFy=$Premiere2 \
Fz=$Projection. postfixeFz=$ComposR3 premiereFz=$Premiere3 \
3D=$Mode3D \
$Parametres \
R=$ImageR \
chiffres=$NombreChiffres \
$formatI
# Visualisation de la variete tridimensionnelle. #
Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.