Changeset 66
- Timestamp:
- 06/25/08 10:04:20 (5 months ago)
- Files:
-
- trunk/doc/S2O3.tex (modified) (1 diff)
- trunk/doc/cubecolor-couleurs.dat (added)
- trunk/doc/cubecolor-faces.dat (added)
- trunk/doc/cubecolor-io.dat (added)
- trunk/doc/cubecolor-sommets.dat (added)
- trunk/doc/init3d_old.tex (added)
- trunk/doc/par-affinage.tex (modified) (3 diffs)
- trunk/doc/par-anneaux.tex (modified) (10 diffs)
- trunk/doc/par-axes3D.tex (modified) (1 diff)
- trunk/doc/par-choixpointdevue.tex (modified) (2 diffs)
- trunk/doc/par-commandestrace.tex (modified) (1 diff)
- trunk/doc/par-couleurs.tex (modified) (8 diffs)
- trunk/doc/par-courbeR3.tex (modified) (4 diffs)
- trunk/doc/par-cylindres-cones.tex (added)
- trunk/doc/par-definirfacesolideproj.tex (modified) (1 diff)
- trunk/doc/par-definirplanquelconque.tex (modified) (19 diffs)
- trunk/doc/par-eclairageponctuel.tex (modified) (1 diff)
- trunk/doc/par-enleverfacettes.tex (modified) (2 diffs)
- trunk/doc/par-face.tex (modified) (4 diffs)
- trunk/doc/par-fusion.tex (modified) (1 diff)
- trunk/doc/par-fusionjps.tex (modified) (15 diffs)
- trunk/doc/par-geode-a.tex (added)
- trunk/doc/par-grille.tex (modified) (3 diffs)
- trunk/doc/par-lignedeniveau.tex (modified) (1 diff)
- trunk/doc/par-new.tex (modified) (7 diffs)
- trunk/doc/par-nommersolide.tex (modified) (1 diff)
- trunk/doc/par-numeroterfacettes.tex (modified) (4 diffs)
- trunk/doc/par-parametres.tex (modified) (2 diffs)
- trunk/doc/par-plan.tex (modified) (25 diffs)
- trunk/doc/par-pointagesommets.tex (modified) (3 diffs)
- trunk/doc/par-positionnerpointconnu.tex (modified) (3 diffs)
- trunk/doc/par-positionnersolide.tex (modified) (1 diff)
- trunk/doc/par-prisme.tex (modified) (8 diffs)
- trunk/doc/par-projectionchemin.tex (modified) (3 diffs)
- trunk/doc/par-projectioncourbe.tex (modified) (4 diffs)
- trunk/doc/par-projectiontexte.tex (modified) (6 diffs)
- trunk/doc/par-ruban.tex (modified) (9 diffs)
- trunk/doc/par-section.tex (modified) (14 diffs)
- trunk/doc/par-solidescreux.tex (modified) (14 diffs)
- trunk/doc/par-solidespredefinis.tex (modified) (34 diffs)
- trunk/doc/par-surfaces.tex (modified) (10 diffs)
- trunk/doc/par-surfacesparametrees.tex (modified) (4 diffs)
- trunk/doc/par-transform.tex (added)
- trunk/doc/par-transformpointconnu.tex (modified) (2 diffs)
- trunk/doc/par-tube.tex (modified) (15 diffs)
- trunk/doc/par-vecteur.tex (modified) (2 diffs)
- trunk/doc/paraboloid-couleurs.dat (added)
- trunk/doc/paraboloid-faces.dat (added)
- trunk/doc/paraboloid-io.dat (added)
- trunk/doc/paraboloid-sommets.dat (added)
- trunk/doc/pst-solides3d-doc-exemples.tex (modified) (2 diffs)
- trunk/doc/pst-solides3d-doc.pdf (modified) (previous)
- trunk/doc/pst-solides3d-doc.tex (modified) (10 diffs)
- trunk/pst-solides3d.tex (modified) (8 diffs)
- trunk/solides.pro (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/doc/S2O3.tex
r2 r66 1 1 \begin{center} 2 \begin{pspicture}(-4,-3)(4,6) 3 \psset{lightsrc=100 10 -20,lightintensity=3,viewpoint=200 30 20,Decran=40,SphericalCoor=true} 4 \psframe(-4,-3)(4,6) 2 \begin{pspicture}(-4,-3)(4.5,5.5) 3 \psset{lightsrc=100 10 -20,lightintensity=3,viewpoint=200 30 4 20,Decran=40,SphericalCoor=true} 5 \psframe(-4,-3)(4.5,5.5) 5 6 {\psset{linewidth=0.5\pslinewidth} 6 7 \codejps{ trunk/doc/par-affinage.tex
r45 r66 21 21 \end{center} 22 22 23 L'option \verb+affinage+ permet d'affiner les faces soit 24 globalement, soit individuellement. Cette option utilise l'argument 25 \verb+affinagecoeff+ (valeur $0, 8$ par défaut) qui indique le rapport 26 $k$ utiliser pourl'affinage ($0<k<1$).23 L'option \verb+affinage+ permet d'affiner les faces soit globalement, soit 24 individuellement. Cette option utilise l'argument \verb+affinagecoeff+ 25 (valeur $0, 8$ par défaut) qui indique le rapport $k$ utiliser pour 26 l'affinage ($0<k<1$). 27 27 % 28 28 \begin{itemize} 29 \item \texttt{[affinage=all]} affine toutes les faces ;30 \item \texttt{[affinage=0 1 2 3]} affine les faces \texttt{[0,1,2 et 3]} ;29 \item \texttt{[affinage=all]} affine toutes les faces ; 30 \item \texttt{[affinage=0 1 2 3]} affine les faces \texttt{[0,1,2 et 3]} ; 31 31 \end{itemize} 32 32 33 Lorsqu'un face se trouve affinée, le comportement par défaut supprime la face34 centrale obtenue. L'option \verb+affinagerm+ permet de conserver cette35 face centrale.33 Lorsqu'un face se trouve affinée, le comportement par défaut supprime la 34 face centrale obtenue. Toutefois, l'option \verb+affinagerm+ permet de 35 conserver cette face centrale. 36 36 37 37 Si on conserve la face centrale, elle est par défaut de la couleur de … … 39 39 couleur de remplacement. 40 40 41 \newpage 41 42 \begin{multicols}{2} 42 43 \psset{unit=0.5} 43 44 \setlength{\columnseprule}{1pt} 44 \centerline{45 45 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -20 30,Decran=50} 46 46 \begin{pspicture*}(-5,-4)(6,5) … … 51 51 hollow, 52 52 affinage=0] 53 \end{pspicture*} }53 \end{pspicture*} 54 54 \begin{verbatim} 55 55 \psSolid[object=cube, trunk/doc/par-anneaux.tex
r45 r66 1 1 2 \section {Solide anneau} 2 3 … … 71 72 \end{pspicture} 72 73 \end{minipage} 73 74 \b egin{center}75 %% 76 \psset{unit=0.5} 77 \begin{pspicture}(-5,- 6)(5,6)74 % 75 \bgroup\centering 76 %% 77 \psset{unit=0.5} 78 \begin{pspicture}(-5,-4)(5,4) 78 79 \psframe(-5,-4)(5,4) 79 80 \psset[pst-solides3d]{SphericalCoor,viewpoint=50 20 40,Decran=25,lightsrc=10 20 20} … … 81 82 \end{pspicture} 82 83 %% 83 \begin{pspicture}(-5,- 6)(5,5)84 \begin{pspicture}(-5,-4)(5,4) 84 85 \psframe(-5,-4)(5,4) 85 86 \psset[pst-solides3d]{SphericalCoor,viewpoint=50 -20 -40,Decran=25,lightsrc=-10 -20 -20} 86 87 \psSolid[object=anneau,fillcolor=yellow,h=3,R=8,r=6,RotX=90,RotZ=10](0,0,0) 87 88 \end{pspicture} 88 \ end{center}89 \par\egroup 89 90 %% \begin{verbatim} 90 91 %% \begin{pspicture}(-5,-6)(5,6) … … 104 105 \begin{verbatim} 105 106 \psSolid[object=anneau,fillcolor=cyan,h=3,R=8,r=6,ngrid=4,RotX=10](0,0,0) 106 %%107 107 \psSolid[object=anneau,fillcolor=yellow,h=3,R=8,r=6,RotX=90,RotZ=10](0,0,0) 108 108 \end{verbatim} 109 109 110 110 \newpage 111 111 112 112 113 \subsection {Un simple anneau à section triangulaire} … … 336 337 \end{pspicture} 337 338 \end{minipage} 339 340 %\iffalse 338 341 \begin{center} 339 342 \psset{unit=0.7} … … 351 354 \end{center} 352 355 %% 356 \begin{gbar} 353 357 \begin{verbatim} 354 358 \psSolid[object=anneau,section=\SectionPneu,% … … 357 361 fillcolor=yellow,h=3,R=8,r=4,RotX=-90,RotZ=10]% 358 362 \end{verbatim} 359 363 \end{gbar} 364 %\fi 360 365 \newpage 361 366 362 \subsection {Un pouf} 363 364 C'est toujours la même section du pneu qui est utilisée mais en 365 prenant un rayon intérieur nul et une hauteur plus grande on obtient 366 un ``pouf''. 367 \begin{verbatim} 368 \psSolid[object=anneau,section=\SectionPneu,% 369 fillcolor=red!50!yellow!30,h=10,R=6,r=0.1](0,0,5) 370 \end{verbatim} 371 \begin{center} 372 \begin{pspicture*}(-5,-6)(5,7) 373 \psframe(-5,-4)(5,7) 374 \psset[pst-solides3d]{SphericalCoor,viewpoint=50 20 20,Decran=25,lightsrc=10 20 20} 375 \psSolid[object=grille,base=-10 10 -10 10,fillcolor=red!10](0,0,0) 376 \psSolid[object=anneau,section=\SectionPneu,fillcolor=red!50!yellow!30,h=10,R=6,r=0.1](0,0,5) 377 \psPoint(0,0,10){Z} 378 \psPoint(0,0,12){Z'} 379 \psline[arrowsize=0.3,arrowinset=0.2,linecolor=blue]{->}(Z)(Z') 380 \uput[u](Z'){\textcolor{blue}{$z$}} 381 \end{pspicture*} 382 \end{center} 383 384 \newpage 385 386 \subsection{les arènes} 387 388 \begin{verbatim} 389 \newcommand\SectionArenes{ 390 360 -20 180{ 391 /Angle exch def 392 R r sub 2 div Angle cos mul R r add 2 div add % y=(R-r)cos(A)+(R+r)/2 393 R r sub 2 div Angle sin mul neg h add % z=-(R-r)sin(A)+h 394 } for 395 r 0 396 R 0 397 } 398 \end{verbatim} 399 400 \newcommand\SectionArenes{ 401 360 -20 180{ 402 /Angle exch def 403 R r sub 2 div Angle cos mul R r add 2 div add % y=(R-r)cos(A)+(R+r)/2 404 R r sub 2 div Angle sin mul neg h add % z=-(R-r)sin(A)+h 405 } for 406 r 0 407 R 0 408 } 409 410 \begin{center} 411 \begin{pspicture}(-5,-6)(5,5) 412 \psframe*[linecolor=gray!20](-5,-4)(5,4) 413 \psset[pst-solides3d]{SphericalCoor,viewpoint=50 45 45,Decran=25,lightsrc=10 20 20} 414 \psSolid[object=grille,base=-10 10 -10 10,fillcolor=yellow!30](0,0,0) 415 \psSolid[object=anneau,section=\SectionArenes,fillcolor=blue!50!gray!30,h=4,R=8,r=6]% 416 \psPoint(0,0,12){Z} 417 \psline[arrowsize=0.3,arrowinset=0.2,linecolor=blue]{->}(O)(Z) 418 \uput[u](Z){\textcolor{blue}{$z$}} 419 \end{pspicture} 420 \end{center} 421 422 \newpage 423 424 \subsection {Bobine vide} 367 \subsection{Bobine vide} 425 368 426 369 \newcommand\SectionBobine{ … … 452 395 \begin{minipage}{0.45\linewidth} 453 396 \begin{pspicture}(-2,-2)(5,2) 454 \pstVerb{/R 4 def /r 2 def /h3 def}%455 \pnode(!r h2 div){S1}456 \pnode(!r h2 div neg){S2}457 \pnode(!R h2 div neg){S3}458 \pnode(!R h3 div neg){S4}459 \pnode(!R h 4 div sub h3 div neg){S5}460 \pnode(!R h 4 div sub h3 div){S6}461 \pnode(!R h3 div){S7}462 \pnode(!R h2 div){S8}397 \pstVerb{/RB 4 def /rB 2 def /hB 3 def}% 398 \pnode(!rB hB 2 div){S1} 399 \pnode(!rB hB 2 div neg){S2} 400 \pnode(!RB hB 2 div neg){S3} 401 \pnode(!RB hB 3 div neg){S4} 402 \pnode(!RB hB 4 div sub hB 3 div neg){S5} 403 \pnode(!RB hB 4 div sub hB 3 div){S6} 404 \pnode(!RB hB 3 div){S7} 405 \pnode(!RB hB 2 div){S8} 463 406 \newcommand\pneuSection{\pspolygon[fillstyle=vlines,linewidth=2\pslinewidth]% 464 407 (S1)(S2)(S3)(S4)(S5)(S6)(S7)(S8)} 465 408 \rput(0,0){\pneuSection}\rput{180}{\pspolygon[fillstyle=vlines,linewidth=2\pslinewidth]% 466 (!r h 2 div)(!r h 2 div neg)(!R h 2 div neg)(!R h 3 div neg)(!R h 4 div sub h 3 div neg)(!R h 4 div sub h 3 div)(!R h 3 div)(!R h2 div)}409 (!rB hB 2 div)(!rB hB 2 div neg)(!RB hB 2 div neg)(!RB hB 3 div neg)(!RB hB 4 div sub hB 3 div neg)(!RB hB 4 div sub hB 3 div)(!RB hB 3 div)(!RB hB 2 div)} 467 410 \psline(-3,1.5)(3,1.5)\psline(-3,-1.5)(3,-1.5) 468 411 \psline[linestyle=dashed,dash=1 0.2 0.05 0.2]{->}(0,-3)(0,3) … … 496 439 \end{pspicture} 497 440 \end{center} 498 {\footnotesize 441 \begin{gbar} 499 442 \begin{verbatim} 500 443 \psSolid[object=grille,base=-15 15 -15 15,fillcolor=yellow!30](0,0,-8) … … 502 445 fillcolor=gray!50,h=6,R=8,r=4,RotX=90,linecolor=gray]% 503 446 \end{verbatim} 504 } 505 506 \newpage 507 508 \subsection {Anneau gouttière} 509 510 \newcommand\SectionJante{ 511 90 10 270{ 512 /Angle exch def 513 R r sub Angle cos mul R add % y=(R-r)cos(A) + R 514 R r sub Angle sin mul % z=(R-r)sin(A) 515 } for 516 R h 2 div neg % (y=R, z=-h/2) 517 R h 2 div neg h 6 div add % (y=R, z=-h/2+h/6) 518 270 -10 90 { 519 /Angle exch def 520 R r sub h 6 div sub Angle cos mul R add % y=(R-r-h/6)cos(A)+ R 521 R r sub h 6 div sub Angle sin mul % z=(R-r)-h/6sin(A) 522 } for 523 } 524 \begin{verbatim} 525 \newcommand\SectionJante{ 526 90 10 270{ % extérieur 527 /Angle exch def 528 R r sub Angle cos mul R add % y=(R-r)cos(A) + R 529 R r sub Angle sin mul % z=(R-r)sin(A) 530 } for 531 R h 2 div neg h 6 div add % (y=R, z=-h/2+h/6) 532 270 -10 90 { % intérieur 533 /Angle exch def 534 R r sub h 6 div sub Angle cos mul R add % y=(R-r-h/6)*cos(A)+ R 535 R r sub h 6 div sub Angle sin mul % z=(R-r-h/6)*sin(A) 536 } for 537 } 538 \end{verbatim} 539 540 \begin{center} 541 \begin{pspicture}(-5,-4)(5,4) 542 \psframe*[linecolor=blue!20](-5,-4)(5,4) 543 \psset[pst-solides3d]{SphericalCoor,viewpoint=70 40 30,Decran=25,lightsrc=100 30 100} 544 \psSolid[object=anneau,section=\SectionJante,h=8,R=12,r=8]% 545 \end{pspicture} 546 \end{center} 547 548 \noindent 549 \textdbend{} $\mathtt{h=2\times(R-r)=2\times(R-r)}$. 550 \begin{verbatim} 551 \begin{pspicture}(-5,-4)(5,4) 552 \psframe*[linecolor=blue!20](-5,-5)(5,4) 553 \psset[pst-solides3d]{SphericalCoor,viewpoint=70 40 30,Decran=25,lightsrc=100 30 100} 554 \psSolid[object=anneau,section=\SectionJante,h=4,R=10,r=8]% 555 \end{pspicture} 556 \end{verbatim} 447 \end{gbar} 448 449 450 \subsection{D'autres anneaux} 451 Trois autres exemples sont disponibles sur la page : 452 453 \centerline{\url{http://syracuse.eu.org/lab/bpst/pst-solides3d/anneaux}} 454 455 trunk/doc/par-axes3D.tex
r2 r66 1 1 \section{Les axes en 3D} 2 2 3 la commande \ verb+\axesIIID(x1,y1,z1)(x2,y2,z2)+trace les axes $Ox$,4 $Oy$ et $Oz$ en pointillés de $O$ jusqu'aux points de coordonnées3 la commande \Cadre{\textbackslash axesIIID[options](x1,y1,z1)(x2,y2,z2)} trace les axes $Ox$, 4 $Oy$ et $Oz$ en pointillés de $O$ respectivement, jusqu'au point de coordonnées 5 5 $(x_1,0,0)$ pour l'axe des $x$, $(0,y_1,0)$ pour l'axe des $y$ et 6 6 $(0,0,z_1)$ pour l'axe des $z$ et ensuite en trait continu jusqu'aux 7 points $(x_2,0,0)$, $(0,y_2,0)$ et $(0,0,z_2)$. 7 points $(x_2,0,0)$, $(0,y_2,0)$ et $(0,0,z_2)$. 8 9 Les options sont la couleur, l'épaisseur du trait, ainsi que les caractéristiques des flèches. trunk/doc/par-choixpointdevue.tex
r2 r66 2 2 \begin{center} 3 3 \psset{lightsrc=10 20 30,SphericalCoor,viewpoint=50 30 20} 4 \begin{pspicture}(-5,- 4)(10,7)4 \begin{pspicture}(-5,-5.7)(10,7) 5 5 \definecolor{bleuciel}{rgb}{0.78,0.84,0.99} 6 6 \psSolid[object=cube,fillcolor=bleuciel,a=2,action=draw*]%% … … 80 80 \end{pspicture} 81 81 \end{center} 82 82 83 Les coordonnées de l'objet, ici le cube bleuté, sont données dans le 83 84 repère $Oxyz$. Les coordonnées du point de vue ($V$), sont données 84 85 dans ce même repère, soit en coordonnées sphériques, avec l'option 85 \ texttt{[SphericalCoor]}, soit en coordonnées cartésiennes qui86 \Cadre{[SphericalCoor]}, soit en coordonnées cartésiennes qui 86 87 est l'option par défaut. 87 88 88 Exemple : \ texttt{[SphericalCoor,viewpoint=50 30 20]}89 Exemple : \Cadre{[SphericalCoor,viewpoint=50 30 20]} 89 90 90 91 L'écran est placé perpendiculairement à la direction $OV$, à une 91 distance de $V$ : \ texttt{[Decran=50]} (valeur par défaut), cette92 distance de $V$ : \Cadre{[Decran=50]} (valeur par défaut), cette 92 93 valeur peut être positive ou négative. trunk/doc/par-commandestrace.tex
r2 r66 24 24 \psset{unit=0.5} 25 25 %% 26 \begin{pspicture}(-5,-4)(5,4) 27 \psframe(-5,-4)(5,4) 26 \hfil 27 \begin{pspicture}(-5,-4.5)(5,4) 28 \psframe(-5,-4.5)(5,4) 28 29 \psset{Decran=20} 29 30 \psSolid[object=cube,action=draw,RotZ=20]% 30 31 \end{pspicture} 32 \hfil 31 33 %% 32 \begin{pspicture}(-5,-4 )(5,4)33 \psframe(-5,-4 )(5,4)34 \begin{pspicture}(-5,-4.5)(5,4) 35 \psframe(-5,-4.5)(5,4) 34 36 \psset{Decran=20} 35 37 \psSolid[object=cube,action=draw*,fillcolor=magenta!20,RotZ=20]% 36 38 \end{pspicture} 39 \hfil 37 40 %% 38 \begin{pspicture}(-5,-4 )(5,4)39 \psframe(-5,-4 )(5,4)41 \begin{pspicture}(-5,-4.5)(5,4) 42 \psframe(-5,-4.5)(5,4) 40 43 \psset{Decran=20} 41 44 \psSolid[object=cube,fillcolor=magenta!20,RotZ=20]% 42 45 \end{pspicture} 46 \hfil 43 47 %% 44 48 \end{center} trunk/doc/par-couleurs.tex
r57 r66 22 22 $66$~couleurs ci-dessous. 23 23 24 \bgroup 24 \bgroup\centering 25 25 \newcommand{\colorcube}[1]{% 26 26 \begin{pspicture}(-1.2,-1)(1.2,1) 27 27 \psframe(-1.2,-1)(1.2,1) 28 \psSolid[object=cube, 28 \psSolid[object=datfile, 29 file=cubecolor, 29 30 linewidth=0.07\pslinewidth, 30 %linecolor=#1!50,31 linecolor=#1!50, 31 32 fillcolor=#1, 32 ngrid=4, 33 a=0.25, 34 action=draw**](0,0,0.1) 33 action=draw**] 35 34 \rput(0,-0.75){\footnotesize \texttt{#1}} 36 35 \end{pspicture} … … 148 147 \bigskip 149 148 149 {\centering 150 150 \colorcone{AliceBlue} 151 151 \colorcone{AntiqueWhite} … … 319 319 \colorcone{Yellow} 320 320 \colorcone{YellowGreen} 321 \hfill 321 322 } 322 323 \egroup 323 324 … … 397 398 indiquent les bornes du premier paramètre dans l'espace HSB et où $s$ 398 399 et $b$ sont les paramètres respectifs \textsl {saturastion} et \textsl 399 {brillance}. 400 {brillance}. 400 401 401 402 \begin{multicols}{2} … … 446 447 Il y a 7 arguments~: \verb+[hue=+$h_0$ $s_0$ $b_0$ $h_1$ $s_1$ 447 448 $b_1$\verb+ (hsb)]+ où les nombres $h_i$, $s_i$ et $b_i$ indiquent les 448 bornes des paramètre HSB. 449 bornes des paramètre HSB. 449 450 450 451 \begin{multicols}{2} … … 499 500 \subsection {Dégradé dans l'espace CMYK} 500 501 501 Il y a 8 arguments~: \verb+[hue=+$c_0$ $m_0$ $y_0$ $k_0$ $c_1$ $m_1$ 502 Il y a 8 arguments~: \verb+[hue=+$c_0$ $m_0$ $y_0$ $k_0$ $c_1$ $m_1$ 502 503 $y_1$ $k_1$\verb+]+ où les nombres $c_i$, $m_i$, $y_i$ et $k_i$ indiquent les 503 504 bornes respectives des $4$ paramètres CMYK. … … 581 582 \end{multicols} 582 583 583 \subsection {Désactiver la gestion des couleurs}584 \subsection{Désactiver la gestion des couleurs} 584 585 585 586 Pour certaines utilisations spécifiques, on peut avoir besoin de … … 589 590 la gestion des couleurs et si on n'en définit pas de nouvelles, ce 590 591 sont les couleurs par défaut qui vont surcharger celles qui étaient 591 sauvegardées. 592 sauvegardées. 592 593 593 594 Pour désactiver cette gestion, on utilise l'option 594 \Cadre{[deactivatecolor]}. 595 \Cadre{[deactivatecolor]}. trunk/doc/par-courbeR3.tex
r45 r66 43 43 \end{minipage} 44 44 \hfill 45 \begin{minipage}{0. 6\linewidth}45 \begin{minipage}{0.55\linewidth} 46 46 %%\begin{boxedverbatim} 47 47 \begin{verbatim} … … 84 84 \end{minipage} 85 85 \hfill 86 \begin{minipage}{0. 6\linewidth}86 \begin{minipage}{0.55\linewidth} 87 87 %%\begin{boxedverbatim} 88 88 \begin{verbatim} … … 148 148 \end{minipage} 149 149 \hfill 150 \begin{minipage}{0. 6\linewidth}150 \begin{minipage}{0.55\linewidth} 151 151 \footnotesize 152 152 %%\begin{boxedverbatim} … … 156 156 \psSolid[object=grille,base=-4 4 -4 4](-4,0,4) 157 157 \defFunction[algebraic]{helice}% 158 (t){1.3*(1-cos(2.5*t))*cos(6*t)}{1.3*(1-cos(2.5*t))*sin(6*t)}{t} 158 (t){1.3*(1-cos(2.5*t))*cos(6*t)} 159 {1.3*(1-cos(2.5*t))*sin(6*t)}{t} 159 160 \defFunction[algebraic]{helice_xy}% 160 (t){1.3*(1-cos(2.5*t))*cos(6*t)}{1.3*(1-cos(2.5*t))*sin(6*t)}{0} 161 (t){1.3*(1-cos(2.5*t))*cos(6*t)} 162 {1.3*(1-cos(2.5*t))*sin(6*t)}{0} 161 163 \defFunction[algebraic]{helice_xz}% 162 (t){1.3*(1-cos(2.5*t))*cos(6*t)}{4}{t}164 (t){1.3*(1-cos(2.5*t))*cos(6*t)}{4}{t} 163 165 \defFunction[algebraic]{helice_yz}% 164 (t){-4}{1.3*(1-cos(2.5*t))*sin(6*t)}{t}166 (t){-4}{1.3*(1-cos(2.5*t))*sin(6*t)}{t} 165 167 \psset{range=0 8} 166 168 \psSolid[object=courbe, trunk/doc/par-definirfacesolideproj.tex
r45 r66 53 53 54 54 \begin{verbatim} 55 \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -20 20,Decran=50} 55 \psset{lightsrc=10 0 10,SphericalCoor=true, 56 viewpoint=50 -20 20,Decran=50} 56 57 \begin{pspicture}(-4,-6)(4,6) 57 58 \psframe(-4,-6)(5,6) 58 59 \psset{solidmemory} 59 \defFunction[algebraic]{f1}(x){cos(x)}{sin(x)}{} 60 \defFunction[algebraic] 61 {f1}(x){cos(x)}{sin(x)}{} 60 62 \psSolid[object=grille, 61 63 RotY=90, trunk/doc/par-definirplanquelconque.tex
r2 r66 49 49 \begin{minipage}{6cm} 50 50 \psset{unit=0.5} 51 \begin{pspicture}(- 6,-6)(6,6)51 \begin{pspicture}(-9,-6.5)(6,6) 52 52 \psframe*[linecolor=blue!50](-6,-6)(6,6) 53 53 \psset{lightsrc=10 -20 50,SphericalCoor,viewpoint=50 20 30,Decran=50} … … 77 77 % 0 0 moveto 78 78 % 0 1 lineto] 79 \rput(0,-6.5){\psframebox[linecolor=blue!50]{\texttt{$\backslash${}defFunction[algebraic]\{f\}(x)\{3*cos(x)\}\{3*sin(x)\}\{\}}}} 79 \rput(0,-6.75){ 80 \psframebox[linecolor=blue!50] 81 {\texttt{$\backslash${}defFunction[algebraic]% 82 \{f\}(x)\{3*cos(x)\}\{3*sin(x)\}\{\}}}} 80 83 \end{pspicture} 81 84 \end{minipage} … … 112 115 113 116 \vfill 114 \begin{minipage}{0. 3\linewidth}117 \begin{minipage}{0.27\linewidth} 115 118 \psset{unit=0.4} 116 119 \psframebox{\centerline{\texttt{[normal=0 0 1]}}} 117 120 118 \begin{pspicture}(-6,-6)( 6,7)%121 \begin{pspicture}(-6,-6)(4,7)% 119 122 \psframe*[linecolor=blue!50](-6,-6)(6,6) 120 123 \psset{lightsrc=10 -20 50,SphericalCoor,viewpoint=50 20 30,Decran=60} … … 149 152 \end{minipage} 150 153 \hfill 151 \begin{minipage}{0. 3\linewidth}154 \begin{minipage}{0.27\linewidth} 152 155 \psset{unit=0.4} 153 156 \psframebox{\centerline{\texttt{[normal=1 0 0]}}} 154 157 155 \begin{pspicture}(-6,-6)( 6,7)158 \begin{pspicture}(-6,-6)(4,7) 156 159 \psframe*[linecolor=blue!50](-6,-6)(6,6) 157 160 \psset{lightsrc=50 20 30,viewpoint=50 20 30,Decran=70} … … 186 189 \end{minipage} 187 190 \hfill 188 \begin{minipage}{0. 3\linewidth}191 \begin{minipage}{0.27\linewidth} 189 192 \psset{unit=0.4} 190 193 191 194 \psframebox{\centerline{\texttt{[normal=0 1 0]}}} 192 195 193 \begin{pspicture}(-6,-6)( 6,7)196 \begin{pspicture}(-6,-6)(4,7) 194 197 \psframe*[linecolor=blue!50](-6,-6)(6,6) 195 198 \psset{lightsrc=50 60 30,viewpoint=50 60 30,Decran=70} … … 226 229 \vfill 227 230 228 \begin{minipage}{0. 3\linewidth}231 \begin{minipage}{0.27\linewidth} 229 232 \psset{unit=0.4} 230 233 \psframebox{\centerline{\texttt{[normal=1 0 1]}}} 231 234 232 \begin{pspicture}(-6,-6)( 6,7)%235 \begin{pspicture}(-6,-6)(4,7)% 233 236 \psframe*[linecolor=blue!50](-6,-6)(6,6) 234 237 \psset{lightsrc=50 20 20,viewpoint=50 20 20,Decran=70} … … 260 263 \end{minipage} 261 264 \hfill 262 \begin{minipage}{0. 3\linewidth}265 \begin{minipage}{0.27\linewidth} 263 266 \psset{unit=0.4} 264 267 \psframebox{\centerline{\texttt{[normal=0 1 1]}}} 265 268 266 \begin{pspicture}(-6,-6)( 6,7)%269 \begin{pspicture}(-6,-6)(4,7)% 267 270 \psframe*[linecolor=blue!50](-6,-6)(6,6) 268 271 \psset{lightsrc=30 20 20,viewpoint=30 20 20,Decran=45} … … 293 296 \end{minipage} 294 297 \hfill 295 \begin{minipage}{0. 3\linewidth}298 \begin{minipage}{0.27\linewidth} 296 299 \psset{unit=0.4} 297 300 \psframebox{\centerline{\texttt{[normal=1 1 0]}}} 298 301 299 \begin{pspicture}(-6,-6)( 6,7)%302 \begin{pspicture}(-6,-6)(4,7)% 300 303 \psframe*[linecolor=blue!50](-6,-6)(6,6) 301 304 \psset{lightsrc=30 20 20,viewpoint=30 20 20,Decran=45} 302 305 {\psset{linewidth=0.5\pslinewidth,linecolor=gray} 303 \psSolid[object=grille,base=0 2 -4 4,RotY=90,RotZ=45,linecolor=red](1.414,1.414,0) 306 \psSolid[object=grille,base=0 2 -4 4,RotY=90,RotZ=45,linecolor=red] 307 (1.414,1.414,0) 304 308 \psSolid[object=grille,base=-4 4 -4 4] 305 \psSolid[object=grille,base= -2 0 -4 4,RotY=90,RotZ=45,linecolor=red](1.414,1.414,0)} 309 \psSolid[object=grille,base= -2 0 -4 4,RotY=90,RotZ=45,linecolor=red] 310 (1.414,1.414,0)} 306 311 \axesIIID(2.8,2.8,1)(4,4,4) 307 312 \psPoint(1.414,1.414,0){O1}\psPoint(2.414,2.414,0){OK} … … 330 335 \newpage 331 336 332 \subsubsection{Méthode 2 : donner les coordonnées du vecteur normal et l'angle de rotation} 337 \subsubsection{Méthode 2 : donner les coordonnées du vecteur normal et 338 l'angle de rotation} 333 339 334 340 Dans ce cas l'argument de \texttt{[normal=nx ny nz A]} comprend … … 336 342 rotation en degrés autour de cet axe. 337 343 338 \begin{minipage}{0.4\linewidth} 344 \begin{center} 345 \begin{minipage}{0.34\linewidth} 339 346 \psset{unit=0.5} 340 347 \psframebox{\centerline{\texttt{[normal=1 0 1]}}} … … 374 381 \end{pspicture} 375 382 \end{minipage} 376 \hfil l377 \begin{minipage}{0. 4\linewidth}383 \hfil 384 \begin{minipage}{0.34\linewidth} 378 385 \psset{unit=0.5} 379 386 \psframebox{\centerline{\texttt{[normal=1 0 1 45]}}} … … 423 430 \end{pspicture} 424 431 \end{minipage} 432 \end{center} 425 433 426 434 %\newpage … … 429 437 à 45 degrés autour de cette normale. 430 438 431 \subsubsection{Méthode 3 : définir la normale par les images de \textit{i} et \textit{k}} 439 \subsubsection{Méthode 3 : définir la normale par les images de \textit{i} 440 et \textit{k}} 432 441 433 442 Dans ce cas l'argument de \texttt{[normal=ix iy iz kx ky kz]} … … 436 445 $\overrightarrow{J}=\overrightarrow{K}\wedge \overrightarrow{I}$. 437 446 438 \begin{minipage}{0.4\linewidth} 447 \begin{center} 448 \begin{minipage}{0.34\linewidth} 439 449 \psset{unit=0.5} 440 450 \psframebox{\centerline{\texttt{[normal=0 1 0 1 0 0]}}} … … 479 489 \end{pspicture} 480 490 \end{minipage} 481 \hfil l482 \begin{minipage}{0. 4\linewidth}491 \hfil 492 \begin{minipage}{0.34\linewidth} 483 493 \psset{unit=0.5} 484 494 \psframebox{\centerline{\texttt{[normal=-1 1 0 1 1 2 ]}}} … … 528 538 \end{pspicture} 529 539 \end{minipage} 530 540 \end{center} 541 542 543 \newpage 531 544 \subsubsection{Méthode 4 : définir la normale par les images de 532 545 \textit{i}, de \textit{k} et un angle de rotation} … … 538 551 $\overrightarrow{J}=\overrightarrow{K}\wedge \overrightarrow{I}$. 539 552 540 \begin{minipage}{0.4\linewidth} 553 \begin{center} 554 \begin{minipage}{0.34\linewidth} 541 555 \psset{unit=0.5} 542 556 \psframebox{\centerline{\texttt{[normal=0 1 0 1 0 0 90]}}} … … 578 592 \end{pspicture} 579 593 \end{minipage} 580 \hfil l581 \begin{minipage}{0. 4\linewidth}594 \hfil 595 \begin{minipage}{0.34\linewidth} 582 596 \psset{unit=0.5} 583 597 \psframebox{\centerline{\texttt{[normal=-1 1 0 1 1 2 90]}}} … … 627 641 \end{pspicture} 628 642 \end{minipage} 643 \end{center} 644 trunk/doc/par-eclairageponctuel.tex
r2 r66 56 56 \psframe(-6,-4)(6,4) 57 57 \psset{Decran=15} 58 \psSolid[ r1=3.5,r0=1,object=tore,ngrid=18 36,fillcolor={[rgb]{.372 .62 .628}},RotY=20]%58 \psSolid[object=datfile,file=tore1836,deactivatecolor] 59 59 \axesIIID(0,4.5,0)(6,6,4) 60 60 \end{pspicture} trunk/doc/par-enleverfacettes.tex
r2 r66 6 6 \begin{multicols}{2} 7 7 \setlength{\columnseprule}{1pt} 8 \psset{unit=0. 5}8 \psset{unit=0.7} 9 9 \psset{Decran=15,grid=true,viewpoint=10 10 10} 10 10 \centerline{ 11 \begin{pspicture}(- 5,-5)(5,5)12 \psframe(- 5,-5)(5,5)11 \begin{pspicture}(-4.5,-4.5)(4.5,4.5) 12 \psframe(-4.5,-4.5)(4.5,4.5) 13 13 \psSolid[rm=1 3 6,object=cylindrecreux,ngrid=2 6, 14 14 h=6,r=2,fillcolor=green!50,incolor=yellow!50,RotZ=-60](0,0,-3) … … 26 26 \begin{multicols}{2} 27 27 \setlength{\columnseprule}{1pt} 28 \psset{unit=0. 5}28 \psset{unit=0.7} 29 29 \psset{Decran=15,grid=true,viewpoint=10 10 10} 30 30 \centerline{ 31 \begin{pspicture}(- 5,-5)(5,5)32 \psframe(- 5,-5)(5,5)31 \begin{pspicture}(-4.5,-4.5)(4.5,4) 32 \psframe(-4.5,-4.5)(4.5,4) 33 33 \psSolid[object=troncconecreux, 34 34 rm=1 12 13 14, trunk/doc/par-face.tex
r2 r66 2 2 3 3 Le contour de \texttt{face} est défini sur le plan $Oxy$ par 4 les coordonnées des sommets placés dans le sens trigonométrique par le paramètre \texttt{base} : 4 les coordonnées des sommets placés dans le sens trigonométrique par le 5 paramètre \texttt{base} : 5 6 \begin{verbatim} 6 7 \psSolid[object=face,base=x1 y1 x2 y2 x3 y3 ...xn yn](0,0,0)% 7 8 \end{verbatim} 8 9 \subsection{\texttt{`face'} triangulaire} 9 \begin{ center}10 \psset{unit=0. 75}10 \begin{minipage}{0.47\linewidth} 11 \psset{unit=0.6} 11 12 \psset{SphericalCoor=true,viewpoint=50 -20 30,Decran=50} 12 \begin{pspicture}(-5 ,-4)(6,5)13 \psframe(-5 ,-4)(6,5)13 \begin{pspicture}(-5.5,-4.5)(7,3.5) 14 \psframe(-5.5,-4.5)(7,3.5) 14 15 \psSolid[object=grille,base=-4 6 -4 4,action=draw,linecolor=gray](0,0,0) 15 16 \psSolid[object=face,fillcolor=yellow,action=draw*, … … 29 30 \axesIIID(0,0,0)(6,6,3) 30 31 \end{pspicture} 31 \end{center} 32 \end{minipage} 33 % 34 \begin{minipage}{0.5\linewidth} 32 35 \begin{verbatim} 33 \psset{unit=0.75} 34 \psset{SphericalCoor=true,viewpoint=50 -20 30,Decran=50} 35 \begin{pspicture}(-5,-4)(6,9) 36 \psframe(-5,-4)(6,9) 37 \psSolid[object=face,fillcolor=yellow,action=draw*, 38 incolor=blue, 39 biface, 40 base=0 0 3 0 1.5 3, 41 ](0,1,0) 42 \psSolid[object=face,fillcolor=yellow,action=draw*, 43 incolor=blue, 44 base=0 0 3 0 1.5 3, 45 biface, 46 RotX=180, 47 ](0,-1,0) 36 \psset{unit=0.6} 37 \psset{SphericalCoor=true, 38 viewpoint=50 -20 30,Decran=50} 39 \begin{pspicture}(-6,-4.5)(7,3.5) 40 \psframe(-6,-4.5)(7,3.5) 41 \psSolid[ 42 object=face,fillcolor=yellow,action=draw*, 43 incolor=blue, biface, base=0 0 3 0 1.5 3 44 ](0,1,0) 45 \psSolid[ 46 object=face,fillcolor=yellow,action=draw*, 47 incolor=blue, base=0 0 3 0 1.5 3, 48 biface, RotX=180](0,-1,0) 48 49 \end{pspicture 49 50 \end{verbatim} 51 \end{minipage} 52 53 50 54 51 55 \subsection{\texttt{`face'} définie par une fonction} 52 56 53 \begin{ center}54 \psset{unit=0. 75}57 \begin{minipage}{0.5\linewidth} 58 \psset{unit=0.45} 55 59 \psset{SphericalCoor=true,viewpoint=50 -20 30,Decran=50} 56 60 \def\BASE{0 10 360{/Angle ED 5 Angle cos dup mul mul % x 57 61 3 Angle cos 3 exp Angle sin mul mul % y 58 62 } for} 59 \begin{pspicture}(-9,- 6)(9,6)60 \psframe(-9,- 6)(9,6)63 \begin{pspicture}(-9,-5.5)(9,6) 64 \psframe(-9,-5.5)(9,6) 61 65 \defFunction[algebraic]{F}(t) 62 66 {5*(cos(t))^2} … … 84 88 \axesIIID(0,0,0)(6,6,5) 85 89 \end{pspicture} 86 \end{center} 90 \end{minipage} 91 % 92 \begin{minipage}{0.45\linewidth} 87 93 \begin{verbatim} 88 94 \defFunction[algebraic]{F}(t) … … 91 97 base=0 2 pi mul {F} CourbeR2 92 98 \end{verbatim} 99 \end{minipage} 93 100 trunk/doc/par-fusion.tex
r2 r66 93 93 \begin{verbatim} 94 94 \psset{solidmemory} 95 \psset{lightsrc=50 -50 50,viewpoint=100 -30 40, 95 \psset{lightsrc=50 -50 50, 96 viewpoint=100 -30 40, 96 97 Decran=100,linewidth=0.5\pslinewidth, 97 98 ngrid=18 18,fillcolor=white, trunk/doc/par-fusionjps.tex
r45 r66 178 178 \begin{pspicture}(-3,-4)(3,4) 179 179 \psset{lightsrc=100 -50 -10,lightintensity=3,viewpoint=200 20 10,Decran=20,SphericalCoor} 180 \psframe(- 3,-3)(3,3)180 \psframe(-2.5,-2.5)(2.5,2.5) 181 181 {\psset{linewidth=0.5\pslinewidth} 182 182 \codejps{ … … 279 279 \end{verbatim} 280 280 Ensuite on fusionne deux par deux les différentes sphères. 281 282 \vfill 283 281 284 282 285 \subsection{Un prototype de véhicule} … … 435 438 \end{itemize} 436 439 440 437 441 \subsection{Une roue ou bien une station spatiale !} 438 442 … … 485 489 } for 486 490 \end{verbatim} 487 Ensuite, on dessine le moyeu et la circonférence (pneu) de la roue pour enfin fusionner l'ensemble : 491 Ensuite, on dessine le moyeu et la circonférence (pneu) de la roue pour 492 enfin fusionner l'ensemble : 488 493 \begin{verbatim} 489 494 /moyeu { -0.5 1 0.5 [4 10] newcylindre dup (White) outputcolors} def … … 494 499 \end{verbatim} 495 500 501 496 502 \subsection{Intersection de deux cylindres} 497 503 498 504 \begin{center} 499 \begin{pspicture}(-6,-5)(6,5) 500 \psset{lightsrc=50 -50 50,viewpoint=100 -30 40,Decran=100,linewidth=0.5\pslinewidth} 505 \begin{pspicture}(-6,-3)(6,3) 506 \psset{lightsrc=50 -50 50,viewpoint=100 -30 507 40,Decran=100,linewidth=0.5\pslinewidth, unit=0.75} 501 508 %\psframe*[linecolor=black](-6,-5)(6,5) 502 509 \codejps{ … … 531 538 \end{verbatim} 532 539 540 541 533 542 \subsection{Intersection d'une sphère et d'un cylindre} 534 543 535 544 Dans cette partie on dessine en utilisant 536 545 \verb+\psSolid[object=courbe]+ le contour de l'intersection. 537 \begin{center} 538 \psset{unit=0.5,lightsrc=50 -50 50,SphericalCoor=true,viewpoint=100 0 0,Decran=110,linewidth=0.5\pslinewidth} 546 547 \begin{minipage}{0.4\linewidth} 548 \psset{unit=0.5,lightsrc=50 -50 50,SphericalCoor=true,viewpoint=100 0 549 0,Decran=110,linewidth=0.5\pslinewidth} 539 550 \begin{pspicture}(-5,-6)(5,6) 540 551 \defFunction{F}(t){t cos dup mul 5 mul}{t cos t sin mul 5 mul}{t sin 5 mul} … … 567 578 %% \makeatother 568 579 \end{pspicture} 569 \end{center} 580 \end{minipage} 581 \begin{minipage}{0.55\linewidth} 570 582 \begin{verbatim} 571 583 \codejps{% … … 587 599 linecolor=red,linewidth=4\pslinewidth] 588 600 \end{verbatim} 601 \end{minipage} 602 589 603 590 604 \subsection{Réunion de deux anneaux} 591 605 592 \begin{ center}606 \begin{minipage}{0.5\linewidth} 593 607 \begin{pspicture}(-5,-4)(3,3) 594 \psset{lightsrc=50 50 50,viewpoint=40 50 60,Decran=30 }608 \psset{lightsrc=50 50 50,viewpoint=40 50 60,Decran=30,unit=0.85} 595 609 \psframe(-5,-4)(3,3) 596 610 \codejps{ … … 605 619 collier drawsolid**} 606 620 \end{pspicture} 607 \end{ center}608 609 621 \end{minipage} 622 % 623 \begin{minipage}{0.59\linewidth} 610 624 \begin{verbatim} 611 625 \codejps{ … … 620 634 collier drawsolid**} 621 635 \end{verbatim} 636 \end{minipage} 637 638 622 639 623 640 \subsection{La molécule de méthane : modèle en bois} 624 641 625 \begin{center} 626 \begin{pspicture}(-4,-4)(4,5) 627 \psset{lightsrc=50 50 10,lightintensity=2,viewpoint=100 50 20,Decran=30,SphericalCoor=true} 628 \psset{linecolor={[cmyk]{0,0.72,1,0.45}},linewidth=0.5\pslinewidth} 629 \psframe[fillstyle=solid,fillcolor=green!20](-4,-4)(4,5) 642 \begin{minipage}{0.42\linewidth} 643 \begin{pspicture}(-3.5,-4)(3.2,5) 644 \psset{lightsrc=50 50 10,lightintensity=2,viewpoint=100 50 20, 645 Decran=30,SphericalCoor=true} 646 \psset{linecolor={[cmyk]{0,0.72,1,0.45}},linewidth=0.5\pslinewidth, 647 unit=1} 648 \psframe[fillstyle=solid,fillcolor=green!20](-4,-4)(3.2,5) 630 649 \pstVerb{/hetre {0.764 0.6 0.204 setrgbcolor} def 631 650 /chene {0.568 0.427 0.086 setrgbcolor} def … … 656 675 methane drawsolid**} 657 676 \end{pspicture} 658 \end{center} 659 677 \end{minipage} 678 % 679 \begin{minipage}{0.69\linewidth} 660 680 \begin{verbatim} 661 681 \pstVerb{/hetre {0.764 0.6 0.204 setrgbcolor} def … … 674 694
