Changeset 23
- Timestamp:
- 05/09/08 15:47:22 (8 months ago)
- Files:
-
- trunk/pst-solides3d.tex (modified) (9 diffs)
- trunk/solides.pro (modified) (6 diffs)
- trunk/tests/test_01.pdf (modified) (previous)
- trunk/tests/test_01.tex (modified) (1 diff)
- trunk/tests/test_02.pdf (modified) (previous)
- trunk/tests/test_02.tex (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/pst-solides3d.tex
r22 r23 11 11 \ifx\MultidoLoaded\endinput\else\input multido.tex \fi 12 12 % JPV & ML & AS 13 \def\fileversion{3. 09}14 \def\filedate{2008/05/0 8}13 \def\fileversion{3.10} 14 \def\filedate{2008/05/09} 15 15 \message{`PSTSOLIDESIIID' v\fileversion, \filedate} 16 16 % … … 52 52 \define@key[psset]{pst-solides3d}{c}{\def\pst@solides@c{#1}} % arete 3 du parallelepipede 53 53 \define@key[psset]{pst-solides3d}{h}{\def\pst@solides@h{#1}} % hauteur du cylindre, du cone, du prisme 54 \define@key[psset]{pst-solides3d}{trunccoeff}{\def\pst@solides@trunccoeff{#1}} % coeff de troncature 55 \define@key[psset]{pst-solides3d}{chanfreincoeff}{\def\pst@solides@chanfreincoeff{#1}} % coeff de chanfrein 54 56 \define@key[psset]{pst-solides3d}{base}{\def\pst@solides@base{#1}} % base du prisme 55 57 \psset[pst-solides3d]{base=-1 -1 1 -1 0 1}% coordonnees d'un triangle, base triangulaire par defaut 56 58 \define@key[psset]{pst-solides3d}{axe}{\def\pst@solides@axe{#1}} % axe du prisme 57 59 \psset[pst-solides3d]{axe=0 0 1}% vecteur definissant la direction de l'axe du prisme 58 \psset[pst-solides3d]{R=4,r1=4,r0=1.5,r=2,no=0,a=4,b=a,c=a,h=6,phi=0,theta=90,resolution=36} 60 \psset[pst-solides3d]{R=4,r1=4,r0=1.5,r=2,no=0,a=4,b=a,c=a,h=6,phi=0,theta=90,resolution=36,% 61 trunccoeff=.25,chanfreincoeff=.8} 59 62 \define@key[psset]{pst-solides3d}{hauteurlignedeniveau}{\def\psk@solides@hauteurlignedeniveau{#1}} 60 63 \psset[pst-solides3d]{hauteurlignedeniveau=0}% … … 120 123 \define@boolkey[psset]{pst-solides3d}[Pst@]{SphericalCoor}[true]{} 121 124 \psset{SphericalCoor=false} 125 126 \define@boolkey[psset]{pst-solides3d}[Pst@]{chanfreinrm}[false]{} 127 \psset{chanfreinrm=true} 122 128 123 129 \define@boolkey[psset]{pst-solides3d}[Pst@]{grid}[false]{} … … 148 154 \define@key[psset]{pst-solides3d}{file}{\def\pst@solides@file{#1}} 149 155 \psset[pst-solides3d]{file=}% pas de fichier par defaut 156 %% couleur face pour chanfrein 157 \define@key[psset]{pst-solides3d}{fcolor}{\def\pst@solides@fcolor{#1}} 158 \psset[pst-solides3d]{fcolor=}% pas de couleur par defaut 150 159 %% couleurs de faces isolees 151 160 \define@key[psset]{pst-solides3d}{fcol}{\def\pst@solides@fcol{#1}} … … 167 176 %% numerotation des faces 168 177 \define@key[psset]{pst-solides3d}{numfaces}{\def\pst@solides@numfaces{#1}} 169 \psset[pst-solides3d]{numfaces=}% pas de numerotation defaut 178 \psset[pst-solides3d]{numfaces=}% pas de numerotation pra defaut 179 %% troncature des sommets 180 \define@key[psset]{pst-solides3d}{trunc}{\def\pst@solides@trunc{#1}} 181 \psset[pst-solides3d]{trunc=}% pas de troncature pra defaut 182 %% chanfreinage des faces 183 \define@key[psset]{pst-solides3d}{chanfrein}{\def\pst@solides@chanfrein{#1}} 184 \psset[pst-solides3d]{chanfrein=}% pas de chanfrein par defaut 170 185 %% numerotation des sommets 171 186 \define@key[psset]{pst-solides3d}{num}{\def\pst@solides@num{#1}} … … 342 357 /c \pst@solides@c\space def % arete 3 du parallelepipede 343 358 /h \pst@solides@h\space def % hauteur du cylindre, du cone, du prisme 359 /trunccoeff \pst@solides@trunccoeff\space def % coeff de troncature 360 /chanfreincoeff \pst@solides@chanfreincoeff\space def % coeff de chanfrein 344 361 /section {\pst@solides@section} def % section de l'objet de revolution 345 362 /base [ \pst@solides@base ] def … … 391 408 \fi 392 409 % 410 \ifx\pst@solides@fcolor\@empty 411 \else 412 /solidfcolor (\pst@solides@fcolor) def 413 \fi 414 % 393 415 \ifx\pst@solides@fcol\@empty 394 416 /fcol [] def … … 450 472 \fi 451 473 % 474 \ifx\pst@solides@trunc\@empty 475 /solidtrunc [] def 476 \else 477 /solidtrunc [\pst@solides@trunc] def 478 \fi 479 \ifx\pst@solides@chanfrein\@empty 480 /solidchanfrein [] def 481 \else 482 /solidchanfrein [\pst@solides@chanfrein] def 483 \fi 484 % 452 485 \ifx\pst@solides@ngrid\@empty 453 486 /ngrid [] def … … 460 493 \else 461 494 /tracelignedeniveau? false def 495 \fi 496 % 497 \ifPst@chanfreinrm 498 /chanfreinrm true def 499 \else 500 /chanfreinrm false def 462 501 \fi 463 502 % trunk/solides.pro
r22 r23 1 1 %! 2 2 % PostScript prologue for pst-solides3d.tex. 3 % Version 3.1 2, 2008/05/083 % Version 3.13, 2008/05/09 4 4 % 5 5 %% COPYRIGHT 2008 by Jean-Paul Vignault, Manuel Luque … … 5345 5345 solid coeff table i get 5346 5346 currentdict /couleurface known { 5347 couleurface 5347 couleurface 5348 5348 } if 5349 5349 rmfacecentrale s@lidchampfreineface … … 5416 5416 solid N 5417 5417 currentdict /couleurface known { 5418 couleurface 5418 couleurface 5419 5419 } { 5420 5420 couleurfaceorigine … … 7362 7362 linecolor 7363 7363 solidlinewidth setlinewidth 7364 solidtrunc length 0 ne { 7365 solidtrunc 0 get isstring { 7366 dup trunccoeff solidtronque 7367 } { 7368 dup solidtrunc trunccoeff solidtronque 7369 } ifelse 7370 } if 7364 7371 RotX 0 ne RotY 0 ne or RotZ 0 ne or { 7365 7372 {RotX RotY RotZ rotateOpoint3d} solidtransform … … 7373 7380 dup rmfaces i get solidrmface 7374 7381 } for 7375 solidhollow {7376 dup videsolid7377 } if7378 7382 activationgestioncouleurs { 7379 7383 dup solidwithinfaces { … … 7401 7405 } if 7402 7406 } ifelse 7407 solidchanfrein length 0 ne { 7408 solidchanfrein 0 get isstring { 7409 dup chanfreincoeff 7410 /solidfcolor where { 7411 pop 7412 solidfcolor 7413 } if 7414 chanfreinrm solidchampfreine 7415 } { 7416 dup chanfreincoeff solidchanfrein 7417 /solidfcolor where { 7418 pop 7419 solidfcolor 7420 } if 7421 chanfreinrm solidchampfreine 7422 } ifelse 7423 } if 7424 solidhollow { 7425 dup videsolid 7426 } if 7403 7427 dup action 7404 7428 noir trunk/tests/test_01.tex
r6 r23 15 15 \maketitle 16 16 17 \section {Test tronquesolid avec PSTricks} 18 19 On tronque quelques sommets 17 20 %\psset{lightsrc=10 20 30,SphericalCoor=true,viewpoint=50 20 30} 18 21 \psset{SphericalCoor=true,viewpoint=50 20 30} 19 22 20 \section {Test tronquesolid} 23 \begin{center} 24 \psset{unit=0.75} 25 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -20 30,Decran=50} 26 \begin{pspicture*}(-5,-4)(6,9) 27 \psframe(-5,-4)(6,9) 28 \psSolid[object=cube, 29 trunc=0 1 3] 30 \end{pspicture*} 31 \end{center} 32 33 \newpage 34 On tronque tous les sommets 35 \begin{center} 36 \psset{unit=0.75} 37 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -20 30,Decran=50} 38 \begin{pspicture*}(-5,-4)(6,9) 39 \psframe(-5,-4)(6,9) 40 \psSolid[object=cube, 41 trunc=all, 42 trunccoeff=.1] 43 \end{pspicture*} 44 \end{center} 45 46 47 \section {Test tronquesolid avec jps} 21 48 1 seul sommet 22 49 trunk/tests/test_02.tex
r6 r23 18 18 \psset{SphericalCoor=true,viewpoint=50 20 30} 19 19 20 \section {Test champfrein} 20 \section {Test chanfrein avec PSTricks} 21 22 1 seule face, en gardant la face centrale 23 \begin{center} 24 \psset{unit=0.75} 25 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -20 30,Decran=50} 26 \begin{pspicture*}(-5,-4)(6,5) 27 \psframe(-5,-4)(6,5) 28 \psSolid[object=cube, 29 fillcolor=red, 30 chanfreinrm, 31 fcolor=Yellow, 32 chanfrein=0] 33 \end{pspicture*} 34 \end{center} 35 36 1 seule face 37 \begin{center} 38 \psset{unit=0.75} 39 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -20 30,Decran=50} 40 \begin{pspicture*}(-5,-4)(6,5) 41 \psframe(-5,-4)(6,5) 42 \psSolid[object=cube, 43 fillcolor=cyan, 44 chanfrein=0] 45 \end{pspicture*} 46 \end{center} 47 48 toutes les faces 49 \begin{center} 50 \psset{unit=0.75} 51 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -20 30,Decran=50} 52 \begin{pspicture*}(-5,-4)(6,5) 53 \psframe(-5,-4)(6,5) 54 \psSolid[object=cube, 55 fillcolor=cyan, 56 chanfreincoeff=.5, 57 chanfreinrm, 58 fcolor=.5 setfillopacity Yellow, 59 hollow, 60 chanfrein=all] 61 \end{pspicture*} 62 \end{center} 63 64 65 \section {Test chanfrein avec jps} 21 66 1 seule face 22 67
