Changeset 70
- Timestamp:
- 06/26/08 22:37:48 (7 months ago)
- Files:
-
- trunk/doc/par-axes3D.tex (modified) (1 diff)
- trunk/doc/par-parametres.tex (modified) (1 diff)
- trunk/doc/pst-solides3d-doc.pdf (modified) (previous)
- trunk/doc/pst-solides3d-doc.tex (modified) (2 diffs)
- trunk/solides.pro (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/doc/par-axes3D.tex
r66 r70 7 7 points $(x_2,0,0)$, $(0,y_2,0)$ et $(0,0,z_2)$. 8 8 9 Les options sont la couleur, l'épaisseur du trait, ainsi que les caractéristiques des flèches. 9 Les options sont les suivantes : 10 \begin{itemize} 11 \item toutes les options de couleur, d'épaisseur du trait, ainsi que des caractéristiques des flèches. 12 \item \Cadre{labelsep=valeur} qui permet de placer à la distance souhaitée de l'extrémité de la flèche, l'étiquette de l'axe, sa valeur par défaut est \Cadre{labelsep=5pt}, il s'agit de la distance réelle en trois dimensions et non sur l'écran. 13 \item Le choix des étiquettes(\textit{labels}) de chaque axe avec l'option \Cadre{axisnames={a,b,c}}, avec par défaut \Cadre{axisnames={x,y,z}}. 14 \item La possibilité de spécifier, le style de ces étiquettes avec l'option : \Cadre{axisemph={\boldmath\Large\color{red}}}, par défaut il n'y a pas de style prédéfini, c'est-à-dire que si l'on ne précise rien on aura \Cadre{$x,y,z$}. 15 \item \Cadre{showOrigin} est un booléen, \texttt{true} par défaut, s'il est positionné à \Cadre{showOrigin=false} les pointillés ne seront plus tracés depuis l'origine. 16 \item \Cadre{mathLabel} est un booléen, \texttt{true} par défaut, qui dans ce cas écrit les étiquettes en mode mathématique, positionné à \Cadre{mathLabel=false} on passe dans le mode usuel. 17 \end{itemize} 18 \encadre{Les étiquettes sont placées aux extrémités des axes dans leur prolongement.} 19 20 \begin{LTXexample}[width=5cm] 21 \begin{pspicture}(-2,-2)(3,3) 22 \psset{viewpoint=100 30 20,Decran=100} 23 \psframe(-2,-2)(3,3) 24 \psSolid[object=cube,a=2, 25 action=draw*, 26 fillcolor=magenta!20] 27 \axesIIID[showOrigin=false](1,1,1)(3,2,2.5) 28 \end{pspicture} 29 \end{LTXexample} 30 31 \begin{LTXexample}[width=5cm] 32 \begin{pspicture}(-2,-1)(3,4) 33 \psset{viewpoint=100 45 20,Decran=100} 34 \psframe(-2,-1)(3,4) 35 \psSolid[object=cylindre,h=2,r=1, 36 action=draw*,mode=4, 37 fillcolor=green!20] 38 \axesIIID[linewidth=1pt,linecolor=red,arrowsize=5pt, 39 arrowinset=0,axisnames={a,b,c}, 40 axisemph={\boldmath\Large\color{red}}, 41 labelsep=10pt] 42 (1,1,2)(2,2,3) 43 \end{pspicture} 44 \end{LTXexample} trunk/doc/par-parametres.tex
r66 r70 94 94 deactivatecolor&false&désactive la gestion des couleurs par PSTricks\\ \hline 95 95 transform&&formule(s) à appliquer aux sommets d'un solide pour le transformer\\ \hline 96 axisnames&\{x,y,z\}& étiquettes des axes en 3D\\ \hline 97 axisemph&&style des étiquettes des axes en 3D\\ \hline 98 showOrigin&true&trace les axes à partir de l'origine ou non si false\\ \hline 99 mathLabel&true&écriture des étiquettes des axes en mode mathématique ou non\\ \hline 96 100 \end{longtable} 97 101 trunk/doc/pst-solides3d-doc.tex
r66 r70 176 176 Jürgen \textsc{Gilg}\url{<gilg@acrotex.net>}, 177 177 Jean-Michel \textsc{Sarlat}\url{<jm.sarlat@gmail.com>}.}} 178 \date{2 4juin 2\,008}178 \date{26 juin 2\,008} 179 179 \begin{document} 180 180 \maketitle … … 215 215 \input \datapath par-choixpointdevue 216 216 \input \datapath par-axes3D 217 \newpage 217 218 \input \datapath par-solidespredefinis 218 219 \input \datapath par-positionnersolide trunk/solides.pro
r67 r70 1 1 %! 2 2 % PostScript prologue for pst-solides3d.tex. 3 % Version 3.3 7, 2008/06/253 % Version 3.38, 2008/06/26 4 4 % 5 5 %% COPYRIGHT 2008 by Jean-Paul Vignault … … 1063 1063 1064 1064 %%%%% ### projscene ### 1065 %% syntaxe : plantype b projscene ... eprojscene1065 %% syntaxe : plantype bool bprojscene ... eprojscene 1066 1066 /bprojscene { 1067 1067 10 dict begin … … 1077 1077 /savefill {SolidesDict /fill get exec} def 1078 1078 /fill {l@pl@n mybool projpath savefill} def 1079 /masque {} def 1080 % l@pl@n plangetrange aload pop 1081 % setyrange setxrange 1079 1082 } def 1080 1083 /eprojscene { … … 1479 1482 /startest {true} def 1480 1483 Cercle 1484 end 1485 } def 1486 1487 %%%%% ### drawvecteur ### 1488 %% syntaxe : A B drawvecteur 1489 /drawvecteur { 1490 2 dict begin 1491 /B defpoint 1492 /A defpoint 1493 [A B] ligne 1494 A B oldarrow 1481 1495 end 1482 1496 } def … … 3323 3337 candidat 1 get isarray and 3324 3338 candidat 2 get isarray and 3325 candidat 3 get isarray and 3339 candidat 2 get isarray and 3340 /IO candidat 3 get def 3341 IO length 4 eq and 3342 IO 0 get isnum and 3343 IO 1 get isnum and 3344 IO 2 get isnum and 3345 IO 3 get isnum and 3326 3346 } { 3327 3347 false … … 3790 3810 [ 3791 3811 0 0 3792 alpha cos r mul alpha sin r mul3812 % alpha cos r mul alpha sin r mul 3793 3813 alpha beta {1 dict begin /t exch def t cos r mul t sin r mul end} CourbeR2+ 3794 3814 ] 0 h [nbetages] newprismedroit … … 5827 5847 %%%% operations sur des solides particuliers %%%% 5828 5848 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5849 5850 /piedist { 5851 4 dict begin 5852 /mypie exch def 5853 mypie 0 solidgetface length /n exch def 5854 mypie n 2 idiv solidgetsommet /A defpoint3d 5855 mypie n 2 idiv 1 add solidgetsommet /B defpoint3d 5856 A B milieu3d GetCamPos distance3d 5857 end 5858 } def 5859 5860 /sortpieset { 5861 5 dict begin 5862 dup issolid { 5863 ] 5864 } if 5865 /table exch def 5866 [ 5867 0 1 table length 1 sub { 5868 /i exch def 5869 table i get piedist 5870 } for 5871 ] 5872 doublequicksort pop reverse 5873 /result exch def 5874 [ 5875 0 1 result length 1 sub { 5876 /i exch def 5877 table result i get get 5878 } for 5879 ] 5880 end 5881 } def 5882 5883 /drawpieset { 5884 sortpieset {drawsolid**} apply 5885 } def 5829 5886 5830 5887 %%%%% ### solidchanfreine ### … … 7771 7828 7772 7829 S F generesolid 7773 dup videsolid7830 % dup videsolid 7774 7831 } { 7775 7832 %% cylindre de revolution … … 7991 8048 7992 8049 S F generesolid 7993 dup videsolid8050 % dup videsolid 7994 8051 } { 7995 8052 %% cylindre de revolution … … 9218 9275 9219 9276 /pst-cylindre { 9277 /save-cylinderhollow solidhollow def 9220 9278 tx@Dict /function known { 9221 9279 range aload pop function cvx {axe} h ngrid newcylindre 9280 tx@Dict /function undef 9281 /solidhollow true def 9222 9282 } { 9223 9283 % rayon … … 9235 9295 } ifelse 9236 9296 gere_pstricks_opt 9297 /solidhollow save-cylinderhollow store 9237 9298 } def 9238 9299 … … 9252 9313 9253 9314 /pst-cone { 9315 /save-conehollow solidhollow def 9254 9316 tx@Dict /function known { 9255 9317 range aload pop function cvx {origin} ngrid newcone 9318 tx@Dict /function undef 9319 /solidhollow true def 9256 9320 } { 9257 9321 % rayon … … 9270 9334 } ifelse 9271 9335 gere_pstricks_opt 9336 /solidhollow save-conehollow store 9272 9337 } def 9273 9338 … … 9703 9768 /proj-pst-chemin { 9704 9769 solidlinewidth setlinewidth 9770 1 dict begin 9705 9771 newpath 9772 /cercle {cercle_} def 9706 9773 path 9707 9774 linecolor 9708 9775 gere_pstricks_proj_opt 9776 end 9709 9777 } def 9710 9778 … … 9728 9796 solidlinewidth setlinewidth 9729 9797 % newpath 9730 linecolor 9731 xorigine yorigine point_ 9732 % gere_pstricks_proj_opt 9733 % linecolor 9734 planprojpst projectionsifacevisible projpath 9798 linecolor 9799 xorigine yorigine point_ 9800 gere_pstricks_proj_opt 9735 9801 stroke 9802 } def 9803 9804 /proj-pst-vecteur { 9805 planprojpst bprojscene 9806 solidlinewidth setlinewidth 9807 linestyle 9808 linecolor 9809 xorigine yorigine 2 copy origin addv drawvecteur 9810 eprojscene 9811 % newpath 9736 9812 } def 9737 9813
