Changeset 122

Show
Ignore:
Timestamp:
10/30/08 16:18:09 (2 months ago)
Author:
jpv
Message:

Suppression du clipping lors des projections. Ajout p3dtoplane et pplaneto3d

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/solides.pro

    r120 r122  
    11%! 
    22% PostScript prologue for pst-solides3d.tex. 
    3 % Version 4.12, 2008/10/21 
     3% Version 4.13, 2008/10/30 
    44% 
    55%% COPYRIGHT 2008 by Jean-Paul Vignault 
     
    33573357%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    33583358 
     3359%%%%% ### p3dtoplane ### 
     3360%% syntaxe : x y z P p3dtoplan --> X Y 
     3361/p3dtoplane { 
     33625 dict begin 
     3363   /leplan exch def 
     3364   /M defpoint3d 
     3365   leplan plangetbase 0 getp3d /U defpoint3d 
     3366   leplan plangetbase 1 getp3d /V defpoint3d 
     3367   leplan plangetorigine /I defpoint3d 
     3368   I M vecteur3d U scalprod3d 
     3369   I M vecteur3d V scalprod3d 
     3370end 
     3371} def 
     3372 
     3373%%%%% ### pplaneto3d ### 
     3374%% syntaxe : x y P pplaneto3d --> X Y Z 
     3375/pplaneto3d { 
     33766 dict begin 
     3377   /leplan exch def 
     3378   /y exch def 
     3379   /x exch def 
     3380   leplan plangetbase 0 getp3d /U defpoint3d 
     3381   leplan plangetbase 1 getp3d /V defpoint3d 
     3382   leplan plangetorigine /I defpoint3d 
     3383   U x mulv3d 
     3384   V y mulv3d addv3d 
     3385   I addv3d 
     3386end 
     3387} def 
     3388 
    33593389%%%%% ### orthoprojplane3d ###  
    33603390%% Projection orthogonale d'un point 3d sur un plan 
     
    33643394/orthoprojplane3d {  
    336533954 dict begin 
    3366         /V defpoint3d 
    3367         /A defpoint3d 
    3368         /M defpoint3d 
    3369         /VN {V unitaire3d} def 
    3370         VN M A vecteur3d VN scalprod3d mulv3d 
    3371         M addv3d 
     3396   dup isplan { 
     3397      /monplan exch def 
     3398      monplan plangetorigine 
     3399      monplan plangetbase aload pop vectprod3d 
     3400   } if 
     3401   /V defpoint3d 
     3402   /A defpoint3d 
     3403   /M defpoint3d 
     3404   /VN {V unitaire3d} def 
     3405   VN M A vecteur3d VN scalprod3d mulv3d 
     3406   M addv3d 
    33723407end 
    33733408} def 
     
    62476282} def 
    62486283 
    6249 %% syntaxe : plantype getbase --> [u v w
     6284%% syntaxe : plantype getbase --> [u v
    62506285%% ou u, v et w vecteurs de R^3 
    62516286/plangetbase { 
     
    1106611101      l@pl@n plangetrange aload pop  
    1106711102      setyrange setxrange 
    11068       newpath 
    11069          xmin ymin l@pl@n pointplan smoveto 
    11070          xmin ymax l@pl@n pointplan slineto 
    11071          xmax ymax l@pl@n pointplan slineto 
    11072          xmax ymin l@pl@n pointplan slineto 
    11073          xmin ymin l@pl@n pointplan slineto 
    11074        planprojpst projpath 
    11075       clip 
     11103%%       newpath 
     11104%%          xmin ymin l@pl@n pointplan smoveto 
     11105%%          xmin ymax l@pl@n pointplan slineto 
     11106%%          xmax ymax l@pl@n pointplan slineto 
     11107%%          xmax ymin l@pl@n pointplan slineto 
     11108%%          xmin ymin l@pl@n pointplan slineto 
     11109%%     planprojpst projpath 
     11110%%       clip 
    1107611111      solidlinewidth setlinewidth 
    1107711112      linestyle 
     
    1108811123      l@pl@n plangetrange aload pop  
    1108911124      setyrange setxrange 
    11090       newpath 
    11091          xmin ymin l@pl@n pointplan smoveto 
    11092          xmin ymax l@pl@n pointplan slineto 
    11093          xmax ymax l@pl@n pointplan slineto 
    11094          xmax ymin l@pl@n pointplan slineto 
    11095          xmin ymin l@pl@n pointplan slineto 
    11096          planprojpst projpath 
    11097       clip 
     11125%%       newpath 
     11126%%          xmin ymin l@pl@n pointplan smoveto 
     11127%%          xmin ymax l@pl@n pointplan slineto 
     11128%%          xmax ymax l@pl@n pointplan slineto 
     11129%%          xmax ymin l@pl@n pointplan slineto 
     11130%%          xmin ymin l@pl@n pointplan slineto 
     11131%%          planprojpst projpath 
     11132%%       clip 
    1109811133      planprojpst bprojscene 
    1109911134      solidlinewidth setlinewidth