Retour

doc-3d.tex

Télécharger le fichier Fichier PDF
\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