Changeset 22

Show
Ignore:
Timestamp:
05/09/08 01:20:12 (7 months ago)
Author:
jpv
Message:

Interfaçage des plans affines

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/pst-solides3d.tex

    r21 r22  
    1111\ifx\MultidoLoaded\endinput\else\input multido.tex \fi 
    1212% JPV & ML & AS 
    13 \def\fileversion{3.08
     13\def\fileversion{3.09
    1414\def\filedate{2008/05/08} 
    1515\message{`PSTSOLIDESIIID' v\fileversion, \filedate} 
     
    216216grille,prisme,anneau,parallelepiped,prismecreux,ruban,calottesphere,face,% 
    217217surface,calottespherecreuse,polygoneregulier,fusion,new,chemin,courbeR2,courbe,% 
    218 surfaceparametree,texte,trigospherique,vecteur,ligne,objfile,datfile,surface*} 
     218surfaceparametree,texte,trigospherique,vecteur,ligne,objfile,datfile,surface*,% 
     219plan} 
    219220%% Reservation de macros correspondants aux objects 
    220221\pst@solides@reservednames{object} 
     
    345346/axe  { \pst@solides@axe } def 
    346347/function  (\pst@solides@function) def 
    347 /definition  { \pst@solides@definition } def 
     348/definition  (\pst@solides@definition) def 
    348349/args  { \pst@solides@args} def 
    349350/Mode \pst@solides@mode\space def % resolution du trace 
     
    411412/solidinhue [\pst@solides@inhue] def 
    412413\fi 
     414/origin {\pst@solides@origin} def 
    413415% 
    414416%% \ifPst@hue 
  • trunk/solides.pro

    r20 r22  
    11%! 
    22% PostScript prologue for pst-solides3d.tex. 
    3 % Version 3.11, 2008/05/08 
     3% Version 3.12, 2008/05/08 
    44% 
    55%% COPYRIGHT 2008 by Jean-Paul Vignault, Manuel Luque 
     
    47904790   /imJ defpoint3d 
    47914791   /imI defpoint3d 
    4792    resultat [imI imJ imK] planputbase 
     4792   resultat [imI imJ] planputbase 
    47934793   currentdict /origine known { 
    47944794      origine /z exch def /y exch def /x exch def 
     
    48814881   /xmin exch def 
    48824882   xmin truncate cvi xmkstep xmax truncate cvi { 
    4883       dup 0 ne { 
    4884          dup chaine cvs exch 0 leplan dctextp3d 
    4885       } { 
    4886          pop 
    4887       } ifelse 
     4883      dup chaine cvs exch 0 leplan dctextp3d 
    48884884   } for 
    48894885end 
     
    78357831} def 
    78367832 
     7833/pst-plan { 
     7834%   args definition 
     7835   args (pst-plan-) definition append cvx exec 
     7836   dup base planputrange 
     7837   origin eqpl@n pointeqplan 0 eq { 
     7838      dup origin planputorigine 
     7839   } if 
     7840   ngrid length 0 ne { 
     7841      dup ngrid planputngrid 
     7842   } if 
     7843   /l@pl@n exch def 
     7844   l@pl@n newplan 
     7845   gere_pstricks_opt 
     7846   noir 
     7847   setTimes  
     7848%   (Test) 0 0 l@pl@n cctextp3d 
     7849   l@pl@n planmarks 
     7850} def 
     7851 
     7852/plan2eq { 
     78536 dict begin 
     7854   /leplan exch def 
     7855   leplan plangetbase aload pop vectprod3d 
     7856   /c exch def 
     7857   /b exch def 
     7858   /a exch def 
     7859   leplan plangetorigine 
     7860   /z0 exch def 
     7861   /y0 exch def 
     7862   /x0 exch def 
     7863   [a b c a x0 mul b y0 mul add c z0 mul add neg] 
     7864end 
     7865} def 
     7866 
     7867%x0 y0 z0 [normalvect] norm2plan 
     7868/pst-plan-normalpoint { 
     7869   norm2plan 
     7870   dup plan2eq /eqpl@n exch def 
     7871} def 
     7872 
     7873/pst-plan-equation { 
     7874   dup isarray { 
     7875      dup /eqpl@n exch def 
     7876   } { 
     7877      2 copy pop /eqpl@n exch def 
     7878   } ifelse 
     7879   eq2plan  
     7880} def 
     7881 
    78377882%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    78387883%%%%         procedures pour \psProjection              %%%% 
     
    79007945   linecolor 
    79017946   linestyle 
    7902    args definition 
     7947   args definition cvx exec 
    79037948grestore 
    79047949end 
  • trunk/tests/test_11.tex

    r20 r22  
    1616 
    1717%\psset{lightsrc=10 20 30,SphericalCoor=true,viewpoint=50 20 30} 
    18 \psset{SphericalCoor=true,viewpoint=50 20 30} 
    19  
    20 \section {Test equations de plans} 
     18%\psset{SphericalCoor=true,viewpoint=50 20 40} 
     19 
     20\section {Plan défini par son équation} 
     21 
     22Avec l'équation $z=0$ 
     23\begin{center} 
     24%\psset{unit=0.75} 
     25\psset{SphericalCoor=true,viewpoint=10 18 60,Decran=10,fontsize=10} 
     26\begin{pspicture*}(-5,-4)(6,4) 
     27\psframe(-5,-4)(6,9) 
     28\psSolid[object=plan, 
     29   definition=equation, 
     30   args={[0 0 1 0]}, 
     31   fillcolor=yellow, 
     32   base=-2 2 -3 3, 
     33   ngrid=1. 1., 
     34
     35\end{pspicture*} 
     36\end{center} 
     37 
     38Avec l'équation $z=0$ et en prenant $(0,3,0)$ comme origine. Si 
     39l'origine fournie ne vérifie pas l'équation du plan, alors on ne tient 
     40pas compte de l'origine proposée 
     41\begin{center} 
     42%\psset{unit=0.75} 
     43\psset{SphericalCoor=true,viewpoint=10 18 60,Decran=10,fontsize=10} 
     44\begin{pspicture*}(-5,-4)(8,4) 
     45\psframe(-5,-4)(6,9) 
     46\psSolid[object=plan, 
     47   definition=equation, 
     48   args={[0 0 1 0]}, 
     49   fillcolor=yellow, 
     50   origine=0 3 0, 
     51   base=-2 2 -3 3, 
     52   ngrid=1. 1., 
     53
     54\end{pspicture*} 
     55\end{center} 
     56 
     57\newpage 
     58 
     59Avec l'équation $z=0$ et une rotation de $90^\circ $ autour de la normale 
     60\begin{center} 
     61%\psset{unit=0.75} 
     62\psset{SphericalCoor=true,viewpoint=10 18 60,Decran=10,fontsize=10} 
     63\begin{pspicture*}(-5,-4)(6,4) 
     64\psframe(-5,-4)(6,9) 
     65\psSolid[object=plan, 
     66   definition=equation, 
     67   args={[0 0 1 0] 90}, 
     68   fillcolor=yellow, 
     69   base=-2 2 -3 3, 
     70   ngrid=1. 1., 
     71
     72\end{pspicture*} 
     73\end{center} 
     74 
     75\newpage 
     76\section {Plan défini par sa normale et un point} 
     77 
     78\texttt{args={0 0 -2 [0 0 1]}} 
     79 
     80\texttt{args={0 0 1 [0 0 1]}} 
     81\begin{center} 
     82%\psset{unit=0.75} 
     83\psset{SphericalCoor=true,viewpoint=10 18 60,Decran=10,fontsize=10} 
     84\begin{pspicture*}(-5,-4)(6,4) 
     85\psframe(-5,-4)(6,9) 
     86\psSolid[object=plan, 
     87   definition=normalpoint, 
     88   args={0 0 -2 [0 0 1]}, 
     89   fillcolor=cyan, 
     90   base=-2 2 -3 3, 
     91   ngrid=1. 1., 
     92
     93\psSolid[object=plan, 
     94   definition=normalpoint, 
     95   args={0 0 1 [0 0 1]}, 
     96   fillcolor=yellow, 
     97   base=-2 2 -3 3, 
     98   ngrid=1. 1., 
     99
     100\end{pspicture*} 
     101\end{center} 
     102 
     103\texttt{args={0 0 1 [0 0 1 90]}} 
     104\begin{center} 
     105%\psset{unit=0.75} 
     106\psset{SphericalCoor=true,viewpoint=10 18 60,Decran=10,fontsize=10} 
     107\begin{pspicture*}(-5,-4)(6,4) 
     108\psframe(-5,-4)(6,9) 
     109\psSolid[object=plan, 
     110   definition=normalpoint, 
     111   args={0 0 1 [0 0 1 90]}, 
     112   fillcolor=yellow, 
     113   base=-2 2 -3 3, 
     114   ngrid=1. 1., 
     115
     116\end{pspicture*} 
     117\end{center} 
     118 
     119\newpage 
     120 
     121\texttt{args={0 0 0 [1 0 0 0 0 1]}} 
     122\begin{center} 
     123%\psset{unit=0.75} 
     124\psset{SphericalCoor=true,viewpoint=10 18 60,Decran=10,fontsize=10} 
     125\begin{pspicture*}(-5,-4)(6,4) 
     126\psframe(-5,-4)(6,9) 
     127\psSolid[object=plan, 
     128   definition=normalpoint, 
     129   args={0 0 0 [1 0 0 0 0 1]}, 
     130   fillcolor=yellow, 
     131   base=-2 2 -3 3, 
     132   ngrid=1. 1., 
     133
     134\end{pspicture*} 
     135\end{center} 
     136 
     137\texttt{args={0 0 0 [1 1 0 0 0 1]}} 
     138\begin{center} 
     139%\psset{unit=0.75} 
     140\psset{SphericalCoor=true,viewpoint=10 18 60,Decran=10,fontsize=10} 
     141\begin{pspicture*}(-5,-4)(6,4) 
     142\psframe(-5,-4)(6,9) 
     143\psSolid[object=plan, 
     144   definition=normalpoint, 
     145   args={0 0 0 [1 1 0 0 0 1]}, 
     146   fillcolor=yellow, 
     147   base=-2 2 -3 3, 
     148   ngrid=1. 1., 
     149
     150\end{pspicture*} 
     151\end{center} 
     152 
     153\newpage 
     154 
     155\begin{center} 
     156%\psset{unit=0.75} 
     157\psset{SphericalCoor=true,viewpoint=10 18 60,Decran=10,fontsize=10} 
     158\begin{pspicture*}(-5,-4)(6,9) 
     159\psSolid[object=plan, 
     160   definition=equation, 
     161   args={[0 0 1 -1]}, 
     162   fillcolor=red, 
     163   origine=-3 0 1, 
     164   base=-2 2 -2 2, 
     165   incolor=orange, 
     166
     167\psSolid[object=plan, 
     168   definition=equation, 
     169   args={[0 0 1 -2]}, 
     170   fillcolor=cyan, 
     171   origine=2 0 2, 
     172   base=-2 2 -2 2, 
     173   incolor=pink, 
     174
     175%% \codejps{ 
     176%% /eq1 {[1 0 -2 0]} def   %% equation plan 1 
     177%% eq1 -30 eq2plan 
     178%% {dup [-3 3 -3 3] planputrange 
     179%% dup [1. dup] planputngrid} exec 
     180%% newplan 
     181%% dup videsolid 
     182%% dup (jaune) (jaune) solidputcolors 
     183%% dup videsolid 
     184%% drawsolid* 
     185%% } 
     186\end{pspicture*} 
     187\end{center} 
     188 
     189\newpage 
     190 
     191\section {Avec du code jps} 
    21192 
    22193\begin{center}