\input $FORMAT/myplain.tex \input macros-doc.tex \bookstyle \def \exemple#1{% \listing 0 {#1.jps}{le fichier $jps$} \epsfxsize = 80mm $$ \boxepsillustrate {#1.ps} $$ } \def \epspath {% camview/}% \def \datapath {% camview/}% \def \listingpath {% camview/}% \long \def \catalogue#1#2{% $$ \vcenter {\hsize .45 \hsize $$\boxepsillustrate {#1}$$ } \hfill \vcenter {\hsize .55 \hsize #2} $$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% sortie de la couverture %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \titre {Extension 3d pour le format jps} \centerline {{\sl par Philippe Saadé}} \centerline {(|psaade.jps@free.fr|)} \centerline {\today } \vskip \titreskip %\vfill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% debut du manuel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \footline = {\hss \folio \hss } \pageno 1 \paragraphe {Général} \syntaxe \longref {$x$ $y$ $z$} {SetCamPos} {$-$} {Positionne la caméra au point $(x, y, z)$} \longref {$-$} {GetCamPos} {$x$ $y$ $z$} {Dépose sur la pile les coordonnées de la caméra} \longref {$V_x$ $V_y$ $V_z$} {SetCamVec} {$-$} {{\sl Set Camera Looking vector}.} \longref {$-$} {GetCamVec} {$V_x$ $V_y$ $V_z$} {{\sl Get Camera Looking vector}.} \longref {$U_x$ $U_y$ $U_z$} {SetCamUp} {$-$} {{\sl Set Camera Up vector}.} \longref {$-$} {GetCamUp} {$U_x$ $U_y$ $U_z$} {{\sl Set Camera Up vector}.} \longref {$-$} {ComputeCamera} {$-$} {{\sl Compute vectors usefull to CamView.}} \longref {$x$ $y$ $z$} {CamView} {$X$ $Y$} {On projete le point 3d sur le plan de représentation de la caméra, selon le mode de représentation} \longref {$array1$} {tab3dto2d} {$array2$} {transforme un tableau de points 3d en tableau de points 2d} \longref {$-$} {qplanxy} {$-$} {Trace un quadrillage du plan XY} \longref {} {getp3d} {} {} \endsyntaxe \Longref {} {representationtype} {Chaîne de caractère spécifiant le type de perspective~: (perspective) ou (ortho)} {(perspective)} \Longref {} {ScreenDist} {Distance par rapport à l'écran} {0.1} \Longref {} {ZoomFactor\_x} {Facteur de zoom en $x$} {100} \Longref {} {ZoomFactor\_y} {Facteur de zoom en $y$} {100} \paragraphe {Les axes et quadrillages} \syntaxe \longref {$xmin$ $xmax$ $ymin$ $ymax$ $zmin$ $zmax$} {quadrilleXYZ} {$-$} {Effectue un quadrillage d'unité $1$ sur le produit $[xmin;xmax] \times [ymin; ymax] \times [zmin; zmax]$} \longref {$xmin$ $xmax$ $\ell $} {axeR} {$-$} {$[xmin; xmax]$ = étendue du pointille, $\ell $ = longueur du vecteur} \longref {$ymin$ $ymax$ $\ell $} {axeV} {$-$} {$[ymin; ymax]$ = étendue du pointille, $\ell $ = longueur du vecteur} \longref {$zmin$ $zmax$ $\ell $} {axeB} {$-$} {$[zmin; zmax]$ = étendue du pointille, $\ell $ = longueur du vecteur} \longref {$min$ $max$ $\ell $} {axeRVB} {$-$} {$[min; max]$ = étendue des pointillés, $\ell $ = longueur des vecteurs} \endsyntaxe \exempledble {exemple_01}{.5}{.4} \exempledble {exemple_02}{.5}{.4} \exempledble {exemple_04}{.5}{.4} \paragraphe {Opérateurs} \sparagraphe {Sur les points} \syntaxe \longref {$A$ $B$} {distance3d} {$d$} {calcule la distance $d = AB$} \longref {$A$} {dupp3d} {$A$ $A$} {Dupplique le point 3d au dessus de la pile} \longref {$x$ $y$ $z$ $lit$} {defpoint3d} {$-$} {Associe le littéral $lit$ au point $(x, y, z)$} %% Projection orthogonale d'un point 3d sur un plan %% Mx My Mz (=le point a projeter) %% Ax Ay Az (=un point du plan) %% Vx Vy Vz (un vecteur normal au plan) \longref {$M$ $A$ $\vec v$} {orthoprojplane3d} {$M'$} {Le point $M'$ est le projeté du point $M$ sur le plan $P$ défini par le point $A$ et le vecteur $\vec v$, normal à $P$.} \longref {$A$ $B$} {milieu3d} {$I$} {$I$ est le milieu de $[AB]$} \endsyntaxe \sparagraphe {Sur les vecteurs} \syntaxe \longref {$A$ $B$} {vecteur3d} {$u$} {$u = \overrightarrow {AB}$} \longref {$\vec u$} {norme3d} {$r$} {$r$ est la norme du vecteur $\vec u$} \longref {$u$} {dupv3d} {$u$ $u$} {Dupplique le vecteur $u$ au dessus de la pile} \longref {$\vec u$ $\vec v$} {addv3d} {$\vec w$} {$\vec w = \vec u + \vec v$} \longref {$\vec u$ $\lambda $} {mulv3d} {$\vec v$} {$\vec v = \lambda \vec u$} \longref {$\lambda $ $\vec u$} {lambdav3d} {$\vec v$} {Le vecteur $\vec v$ vérifie $\vec v = \lambda \vec u$} \longref {$\vec u$ $\vec v$} {vectprod3d} {$\vec w$} {$\vec w = \vec u \wedge \vec v $} \longref {$\vec u$ $\vec v$} {subv3d} {$\vec w$} {$\vec w = \vec u + \vec v$} \longref {$\vec u$} {unitaire3d} {$\vec v$} {Si $\vec u = \vec 0$, alors $\vec v = \vec 0$, sinon $\vec v = \vec u / \Vert \vec u\Vert $} \longref {$\vec u$} {normalize3d} {$\vec v$} {Sinonyme de |unitaire3d|~: si $\vec u = \vec 0$, alors $\vec v = \vec 0$, sinon $\vec v = \vec u / \Vert \vec u\Vert $} \longref {$\vec u$ $\vec v$} {scalprod3d} {$s$} {Produit scalaire~: $s = \vec u \cdot \vec v$} \endsyntaxe \paragraphe {Commandes de tracés} \syntaxe \longref {A} {plus3d} {$-$} {Analogue 3d de la commande |plus|} \longref {$A$} {point3d} {$-$} {Analogue 3d de la commande |point|} \longref {$array$} {points3d} {$-$} {Analogue 3d de la commande |points|} \longref {$array$} {ligne3d} {$-$} {Analogue 3d de la commande |ligne|} \longref {$array$} {polygone3d} {$-$} {Analogue 3d de la commande |polygone|} \longref {$array$} {polygone*3d} {$-$} {Analogue 3d de la commande |polygone*|} \endsyntaxe \paragraphe {Surfaces} \syntaxe \longref {$xmin$ $pas_x$ $xmax$ $ymin$ $pas_y$ $ymax$ $f$} {surfaceparam3d} {$-$} {Dessine la surface $f (x, y) = z$ sur $[xmin; xmax] \times [ymin; ymax]$. $f$ est un éxécutable.} \endsyntaxe \exempledble {exemple_05}{.4}{.5} \paragraphe {Placement de texte ou de labels \TeX} \syntaxe \longref {} {ultext3d} {$-$} {Analogue 3d de la commande |ultext|} \longref {} {dctext3d} {$-$} {Analogue 3d de la commande |dctext|} \longref {} {crtext3d} {$-$} {Analogue 3d de la commande |crtext|} \longref {} {cltext3d} {$-$} {Analogue 3d de la commande |cltext|} \longref {} {bctext3d} {$-$} {Analogue 3d de la commande |bctext|} \longref {} {dbtext3d} {$-$} {Analogue 3d de la commande |dbtext|} \longref {} {ultexlabel3d} {$-$} {Analogue 3d de la commande |ultexlabel|} \longref {} {bctexlabel3d} {$-$} {Analogue 3d de la commande |bctexlabel|} \longref {} {bbtext3d} {$-$} {Analogue 3d de la commande |bbtext|} \longref {} {cctexlabel3d} {$-$} {Analogue 3d de la commande |cctexlabel|} \longref {} {dctexlabel3d} {$-$} {Analogue 3d de la commande |dctexlabel|} \longref {} {urtexlabel3d} {$-$} {Analogue 3d de la commande |urtexlabel|} \longref {} {dltext3d} {$-$} {Analogue 3d de la commande |dltext|} \longref {} {uctext3d} {$-$} {Analogue 3d de la commande |uctext|} \longref {} {bltexlabel3d} {$-$} {Analogue 3d de la commande |bltexlabel|} \longref {} {cctext3d} {$-$} {Analogue 3d de la commande |cctext|} \longref {} {cltexlabel3d} {$-$} {Analogue 3d de la commande |cltexlabel|} \longref {} {brtext3d} {$-$} {Analogue 3d de la commande |brtext|} \longref {} {ubtexlabel3d} {$-$} {Analogue 3d de la commande |ubtexlabel|} \longref {} {bltext3d} {$-$} {Analogue 3d de la commande |bltext|} \longref {} {dltexlabel3d} {$-$} {Analogue 3d de la commande |dltexlabel|} \longref {} {ubtext3d} {$-$} {Analogue 3d de la commande |ubtext|} \longref {} {cbtext3d} {$-$} {Analogue 3d de la commande |cbtext|} \longref {} {brtexlabel3d} {$-$} {Analogue 3d de la commande |brtexlabel|} \longref {} {crtexlabel3d} {$-$} {Analogue 3d de la commande |crtexlabel|} \longref {} {bbtexlabel3d} {$-$} {Analogue 3d de la commande |bbtexlabel|} \longref {} {cbtexlabel3d} {$-$} {Analogue 3d de la commande |cbtexlabel|} \longref {} {uctexlabel3d} {$-$} {Analogue 3d de la commande |uctexlabel|} \longref {} {dbtexlabel3d} {$-$} {Analogue 3d de la commande |dbtexlabel|} \longref {} {urtext3d} {$-$} {Analogue 3d de la commande |urtext|} \endsyntaxe \bye