Changeset 88

Show
Ignore:
Timestamp:
07/11/08 16:51:15 (6 months ago)
Author:
herbert
Message:

hv: \gridIIID and \axesIIID modification
M trunk/pst-solides3d.tex

Files:

Legend:

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

    r87 r88  
    307307    drawn}{}% 
    308308 \fi} 
    309 %% Ajout de solides à la liste des objets 
     309%% Ajout de solides la liste des objets 
    310310\def\addtosolideslistobject#1{% 
    311 % ajouter les nouveaux objets à la liste 
     311% ajouter les nouveaux objets la liste 
    312312\expandafter\def\expandafter\pst@solides@list@object\expandafter% 
    313313 {\pst@solides@list@object,#1}% 
     
    339339  \begingroup% 
    340340  \use@par% 
    341 \psSolid[object=parallelepiped, 
    342    intersectiontype=-1, 
    343    a={#2 #1 sub},b={#4 #3 sub},c={\pst@solides@@Zmax\space \pst@solides@@Zmin\space sub},action=draw](0,0,\pst@solides@@QZ) 
    344 \pst@cnta=#2 % 
    345 \advance\pst@cnta by -#1 \advance\pst@cnta by 1 
    346 \multido{\ix=#1+1}{\pst@cnta}{% 
     341  \psSolid[object=parallelepiped, 
     342    intersectiontype=-1, 
     343    a={#2 #1 sub},b={#4 #3 sub}, 
     344    c={\pst@solides@@Zmax\space \pst@solides@@Zmin\space sub}, 
     345    action=draw](0,0,\pst@solides@@Zmax\space \pst@solides@@Zmin\space add 2 div ) 
     346%    (0,0,\pst@solides@@QZ) 
     347  \pst@cnta=#2 % 
     348  \advance\pst@cnta by -#1 \advance\pst@cnta by \@ne 
     349  \multido{\ix=#1+1}{\pst@cnta}{% 
    347350    \psPoint(\ix\space,#4,\pst@solides@@Zmin){X1} 
    348351    \psPoint(\ix\space,#4 .2 add,\pst@solides@@Zmin){X2} 
    349352    \psline(X1)(X2) 
    350353    \uput[\pst@solides@@spotX](X1){\small\ix}} 
    351 \pst@cnta=#4 % 
    352 \advance\pst@cnta by -#3 \advance\pst@cnta by 1
    353 \multido{\iy=#3+1}{\pst@cnta}{% 
     354  \pst@cnta=#4 % 
     355  \advance\pst@cnta by -#3 \advance\pst@cnta by \@ne
     356  \multido{\iy=#3+1}{\pst@cnta}{% 
    354357    \psPoint(#2,\iy\space,\pst@solides@@Zmin){Y1} 
    355358    \psPoint(#2 .2 add,\iy\space,\pst@solides@@Zmin){Y2} 
    356359    \psline(Y1)(Y2) 
    357360    \uput[\pst@solides@@spotY](Y1){\small\iy}} 
    358 \pst@cnta=\pst@solides@@Zmax % 
    359 \advance\pst@cnta by -\pst@solides@@Zmin \advance\pst@cnta by 1 
    360 \multido{\iz=\pst@solides@@Zmin+1}{\pst@cnta}{% 
    361     \psPoint(#2,#3,\iz\space){Z1} 
    362     \psPoint(#2,#3 .2 sub,\iz\space){Z2} 
    363     \psline(Z1)(Z2) 
    364     \uput[\pst@solides@@spotZ](Z1){\small\iz}} 
    365 \psPoint(0,0,\pst@solides@@Zmax\space 3 add){Z'} 
    366 \psPoint(#2 2 add,0,0){X'} 
    367 \psPoint(0,#4 2 add, 0){Y'} 
    368 \psPoint(0,0,\pst@solides@@Zmax){Z} 
    369 \psPoint(#2,0,0){X} 
    370 \psPoint(0,#4,0){Y} 
    371 \psPoint(0,0,0){O} 
    372 \uput[\pst@solides@@spotY](X'){$x$} 
    373 \uput[\pst@solides@@spotX](Y'){$y$} 
    374 \uput[u](Z'){$z$} 
    375 \psline[linestyle=dashed](O)(X) 
    376 \psline[linestyle=dashed](O)(Y) 
    377 \psline[linestyle=dashed](O)(Z) 
     361  \pst@cnta=\pst@solides@@Zmax % 
     362  \pst@cntb=\pst@solides@@Zmin % 
     363  \ifnum\pst@cnta=\pst@cntb\else% same z values? 
     364    \advance\pst@cnta by -\pst@solides@@Zmin \advance\pst@cnta by \@ne 
     365    \multido{\iz=\pst@solides@@Zmin+1}{\pst@cnta}{% 
     366      \psPoint(#2,#3,\iz\space){Z1} 
     367      \psPoint(#2,#3 .2 sub,\iz\space){Z2} 
     368      \psline(Z1)(Z2) 
     369      \uput[\pst@solides@@spotZ](Z1){\small\iz}} 
     370  \fi% 
     371  \psPoint(0,0,\pst@solides@@Zmax\space 3 add){Z'} 
     372  \psPoint(#2 2 add,0,0){X'} 
     373  \psPoint(0,#4 2 add, 0){Y'} 
     374  \psPoint(0,0,\pst@solides@@Zmax){Z} 
     375  \psPoint(#2,0,0){X} 
     376  \psPoint(0,#4,0){Y} 
     377  \psPoint(0,0,0){O} 
     378  \uput[\pst@solides@@spotY](X'){$x$} 
     379  \uput[\pst@solides@@spotX](Y'){$y$} 
     380  \uput[u](Z'){$z$} 
     381  \ifPst@showOrigin 
     382    \psline[linestyle=dashed](O)(X) 
     383    \psline[linestyle=dashed](O)(Y) 
     384    \psline[linestyle=dashed](O)(Z) 
     385  \fi 
    378386%\psset{linewidth=2\pslinewidth} 
    379 \psline{->}(Z)(Z')\psline{->}(Y)(Y')\psline{->}(X)(X') 
     387  \psline{->}(Z)(Z')\psline{->}(Y)(Y')\psline{->}(X)(X') 
    380388  \endgroup% 
    381389  \ignorespaces% 
     
    810818 
    811819\def\axesIIID{\pst@object{axesIIID}} 
    812 \def\axesIIID@i(#1,#2,#3)(#4,#5,#6){% axes 3d 
     820\def\axesIIID@i(#1,#2,#3){% 
     821\@ifnextchar({\axesIIID@ii(#1,#2,#3)}{\axesIIID@ii(0,0,0)(#1,#2,#3)}} 
     822\def\axesIIID@ii(#1,#2,#3)(#4,#5,#6){% axes 3d  
    813823  \pst@killglue% 
    814824  \begingroup% 
     
    829839  {Zname} 
    830840  \ifPst@showOrigin 
    831   \psline[linestyle=dashed,arrows=-](O)(X) 
    832   \psline[linestyle=dashed,arrows=-](O)(Y) 
    833   \psline[linestyle=dashed,arrows=-](O)(Z) 
     841    \psline[linestyle=dashed,arrows=-](O)(X) 
     842    \psline[linestyle=dashed,arrows=-](O)(Y) 
     843    \psline[linestyle=dashed,arrows=-](O)(Z) 
    834844  \fi 
    835845  \psline(X)(X') 
     
    11111121%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    11121122%% \psLineIIID est 
    1113 %% adapté de la macro \pstThreeDLine du package pst-3dplot (H.Voss) 
     1123%% adapt de la macro \pstThreeDLine du package pst-3dplot (H.Voss) 
    11141124%% http://tug.ctan.org/tex-archive/graphics/pstricks/contrib/pst-3dplot 
    11151125%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%