Changeset 97
- Timestamp:
- 07/15/08 18:23:32 (6 months ago)
- Files:
-
- trunk/doc/par-affinage.tex (modified) (1 diff)
- trunk/doc/par-chanfrein.tex (modified) (1 diff)
- trunk/doc/par-colorierfacettes.tex (modified) (3 diffs)
- trunk/doc/par-commandestrace.tex (modified) (1 diff)
- trunk/doc/par-couleurs.tex (modified) (15 diffs)
- trunk/doc/par-datfile.tex (modified) (8 diffs)
- trunk/doc/par-definitionmaillage.tex (modified) (5 diffs)
- trunk/doc/par-eclairageponctuel.tex (modified) (1 diff)
- trunk/doc/par-enleverfacettes.tex (modified) (1 diff)
- trunk/doc/par-modes.tex (modified) (1 diff)
- trunk/doc/par-numeroterfacettes.tex (modified) (1 diff)
- trunk/doc/par-plan.tex (modified) (1 diff)
- trunk/doc/par-pointagesommets.tex (modified) (1 diff)
- trunk/doc/par-solidescreux.tex (modified) (1 diff)
- trunk/doc/par-tronque.tex (modified) (1 diff)
- trunk/doc/pst-solides3d-doc.pdf (modified) (previous)
- trunk/doc/pst-solides3d-doc.tex (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/doc/par-affinage.tex
r89 r97 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 \Cadre{[affinage=all]} affine toutes les faces ; 30 \item \Cadre{[affinage=0 1 2 3]} affine les faces \texttt{[0,1,2 et 3]} ; 31 31 \end{itemize} 32 32 trunk/doc/par-chanfrein.tex
r89 r97 38 38 \end{multicols} 39 39 40 L'option \ verb+chanfrein+permet de chanfreiner un solide. Cette41 option utilise l'argument \ verb+chanfreincoeff+(valeur $0,8$ par40 L'option \Cadre{[chanfrein]} permet de chanfreiner un solide. Cette 41 option utilise l'argument \Cadre{[chanfreincoeff]} (valeur $0,8$ par 42 42 défaut) qui indique le rapport $k$ à utiliser ($0<k<1$). Ce rapport 43 43 est celui d'une homothétie de cetre le centre de la face considérée. trunk/doc/par-colorierfacettes.tex
r2 r97 1 1 \section {Colorier les facettes une à une} 2 2 3 L'argument \ texttt{[fcol=}%4 $i_0$ ~\verb+(+$c_0$\verb+)+~%5 $i_1$~ \verb+(+$c_1$\verb+)+~%3 L'argument \Cadre{[fcol=% 4 $i_0$ ($c_0$)~% 5 $i_1$~($c_1$)~% 6 6 \dots 7 $i_n$~\verb+(+$c_n$\verb+)+~% 8 \texttt{]}, 7 $i_n$~($c_n$)~]}, 9 8 où les $i_k$ sont des entiers et les $c_k$ des noms de couleurs, 10 9 permet de spécifier la couleur de faces particulières. \` A la face … … 146 145 \end{itemize} 147 146 148 \newpage147 %\newpage 149 148 150 149 \begin{multicols}{2} … … 225 224 \end{pspicture} 226 225 \end{center} 227 Si l'option \textbf{\texttt{hue}} est activée, les facettes du solide sont coloriées avec le dégradé de couleurs de l'arc-en-ciel. 226 Si l'option \textbf{\texttt{hue}} est activée, les facettes du solide 227 sont coloriées avec le dégradé de couleurs de l'arc-en-ciel. 228 %\newpage 228 229 \begin{multicols}{2} 229 230 \setlength{\columnseprule}{1pt} trunk/doc/par-commandestrace.tex
r66 r97 1 1 \section {Commandes de tracé} 2 2 3 La commande de tracé se fait avec le paramètre \ verb+action=+dans la3 La commande de tracé se fait avec le paramètre \Cadre{action=} dans la 4 4 commande \verb+\psSolid+. 5 5 6 6 Quatres valeurs sont possibles~: 7 7 8 \ verb+none+~: ne trace rien8 \Cadre{[action=none]}~: ne trace rien 9 9 10 \ verb+draw+~: trace le solide en structure fil de fer avec tracé en10 \Cadre{[action=draw]}~: trace le solide en structure fil de fer avec tracé en 11 11 pointillé des arêtes cachées 12 12 13 \ verb+draw*+~: trace le solide avec tracé en pointillé des arêtes13 \Cadre{[action=draw*]}~: trace le solide avec tracé en pointillé des arêtes 14 14 cachées et coloration des faces visibles 15 15 16 \ verb+draw**+~: trace le solide avec l'algorithme du peintre, sans les16 \Cadre{[action=draw**]}~: trace le solide avec l'algorithme du peintre, sans les 17 17 arêtes cachées et avec coloration des faces visibles. 18 18 trunk/doc/par-couleurs.tex
r89 r97 1 1 \section {Les couleurs et les dégradés de couleur} 2 2 3 L'argument \ texttt{[fillcolor=}\textsl{name}\texttt{]} permet de spécifier la couleur souhaitée4 pour les faces externes d'un solide. 5 L'argument \texttt{[incolor=}\textsl{name}\texttt{]} permet de spécifier la couleur souhaitée 3 L'argument \Cadre{[fillcolor=$name$]} permet de spécifier la couleur 4 souhaitée pour les faces externes d'un solide. L'argument 5 \Cadre{[incolor=$name$]} permet de spécifier la couleur souhaitée 6 6 pour les faces internes d'un solide. 7 7 8 Les valeurs possibles pour \textsl{name } sont toutes celles reconnues8 Les valeurs possibles pour \textsl{name\/} sont toutes celles reconnues 9 9 par PSTricks (et en particulier son package \texttt{xcolor}). 10 11 On peut également utiliser des dégradés de couleur dans les espaces12 HSB, RGB ou CMYK. On utilise pour cela les options \verb+[hue]+,13 \verb+[inhue]+ ou \verb+[inouthue]+ selon que l'on considère14 respectivement les faces externes, les faces internes, ou l'ensemble15 des faces.16 Le nombre d'arguments de \verb+hue+ détermine le cas de figure17 10 18 11 \subsection {Couleurs pr\'{e}d\'{e}finies par l'option [\texttt{dvipsnames}]} … … 323 316 \egroup 324 317 318 \section {Les dégradés de couleur} 319 320 Pour les dégradés de couleurs, on dispose des options 321 \Cadre{[hue]}, \Cadre{[inhue]} et \Cadre{[inouthue]} qui permettent 322 respectivement de spécifier si le dégradé doit avoir lieu sur les 323 faces externes, internes, ou toutes. 324 325 Ces dégradés peuvent être dans les espaces HSB, RGB ou CMYK. 326 C'est le nombre d'arguments de \verb+hue+ (resp. \verb+inhue+, 327 \verb+inouthue+) qui détermine le cas de figure 328 325 329 \subsection {Dégradé dans l'espace HSB, saturation et brillance maximales} 326 330 327 Il y a 2 arguments~: \ verb+[hue=+$h_0$ $h_1$\verb+]+où331 Il y a 2 arguments~: \Cadre{[hue=$h_0$ $h_1$]} où 328 332 les nombres $h_0$ et $h_1$ vérifiant $0\leq h_0 < h_1 \leq 1$ 329 333 indiquent les bornes du premier paramètre dans l'espace HSB. … … 337 341 base=-3 5 -3 3, 338 342 linecolor=gray, 339 hue=0 1] (0,0,0)340 \end{pspicture} 341 342 \columnbreak 343 344 \begin{verbatim} 345 \psSolid[object=grille, 346 base=-3 5 -3 3, 347 linecolor=gray, 348 hue=0 1] (0,0,0)349 \end{verbatim} 350 \end{multicols} 351 352 \begin{multicols}{2} 353 \psset{unit=1} 354 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} 355 \begin{pspicture}(-4,-1.5)(3,1) 356 \psframe(-4,-1.5)(3,1) 357 \psSolid[object=grille, 358 base=-3 5 -3 3, 359 linecolor=gray, 360 hue=0 .3] (0,0,0)361 \end{pspicture} 362 363 \columnbreak 364 365 \begin{verbatim} 366 \psSolid[object=grille, 367 base=-3 5 -3 3, 368 linecolor=gray, 369 hue=0 .3] (0,0,0)370 \end{verbatim} 371 \end{multicols} 372 373 \begin{multicols}{2} 374 \psset{unit=1} 375 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} 376 \begin{pspicture}(-4,-1.5)(3,1) 377 \psframe(-4,-1.5)(3,1) 378 \psSolid[object=grille, 379 base=-3 5 -3 3, 380 linecolor=gray, 381 hue=.5 .6] (0,0,0)382 \end{pspicture} 383 384 \columnbreak 385 386 \begin{verbatim} 387 \psSolid[object=grille, 388 base=-3 5 -3 3, 389 linecolor=gray, 390 hue=.5 .6] (0,0,0)343 hue=0 1] 344 \end{pspicture} 345 346 \columnbreak 347 348 \begin{verbatim} 349 \psSolid[object=grille, 350 base=-3 5 -3 3, 351 linecolor=gray, 352 hue=0 1] 353 \end{verbatim} 354 \end{multicols} 355 356 \begin{multicols}{2} 357 \psset{unit=1} 358 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} 359 \begin{pspicture}(-4,-1.5)(3,1) 360 \psframe(-4,-1.5)(3,1) 361 \psSolid[object=grille, 362 base=-3 5 -3 3, 363 linecolor=gray, 364 hue=0 .3] 365 \end{pspicture} 366 367 \columnbreak 368 369 \begin{verbatim} 370 \psSolid[object=grille, 371 base=-3 5 -3 3, 372 linecolor=gray, 373 hue=0 .3] 374 \end{verbatim} 375 \end{multicols} 376 377 \begin{multicols}{2} 378 \psset{unit=1} 379 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} 380 \begin{pspicture}(-4,-1.5)(3,1) 381 \psframe(-4,-1.5)(3,1) 382 \psSolid[object=grille, 383 base=-3 5 -3 3, 384 linecolor=gray, 385 hue=.5 .6] 386 \end{pspicture} 387 388 \columnbreak 389 390 \begin{verbatim} 391 \psSolid[object=grille, 392 base=-3 5 -3 3, 393 linecolor=gray, 394 hue=.5 .6] 391 395 \end{verbatim} 392 396 \end{multicols} … … 394 398 \subsection {Dégradé dans l'espace HSB, saturation et brillance fixes} 395 399 396 Il y a 4 arguments~: \ verb+[hue=+$h_0$ $h_1$ $s$ $b$\verb+]+où400 Il y a 4 arguments~: \Cadre{[hue=$h_0$ $h_1$ $s$ $b$]} où 397 401 les nombres $h_0$ et $h_1$ vérifiant $0\leq h_0 < h_1 \leq 1$ 398 402 indiquent les bornes du premier paramètre dans l'espace HSB et où $s$ … … 408 412 base=-3 5 -3 3, 409 413 linecolor=gray, 410 hue=0 1 .8 .7] (0,0,0)411 \end{pspicture} 412 413 \columnbreak 414 415 \begin{verbatim} 416 \psSolid[object=grille, 417 base=-3 5 -3 3, 418 linecolor=gray, 419 hue=0 1 .8 .7] (0,0,0)420 \end{verbatim} 421 \end{multicols} 422 423 424 \begin{multicols}{2} 425 \psset{unit=1} 426 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} 427 \begin{pspicture}(-4,-1.5)(3,1) 428 \psframe(-4,-1.5)(3,1) 429 \psSolid[object=grille, 430 base=-3 5 -3 3, 431 linecolor=gray, 432 hue=0 1 .5 1] (0,0,0)433 \end{pspicture} 434 435 \columnbreak 436 437 \begin{verbatim} 438 \psSolid[object=grille, 439 base=-3 5 -3 3, 440 linecolor=gray, 441 hue=0 1 .5 1] (0,0,0)414 hue=0 1 .8 .7] 415 \end{pspicture} 416 417 \columnbreak 418 419 \begin{verbatim} 420 \psSolid[object=grille, 421 base=-3 5 -3 3, 422 linecolor=gray, 423 hue=0 1 .8 .7] 424 \end{verbatim} 425 \end{multicols} 426 427 428 \begin{multicols}{2} 429 \psset{unit=1} 430 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} 431 \begin{pspicture}(-4,-1.5)(3,1) 432 \psframe(-4,-1.5)(3,1) 433 \psSolid[object=grille, 434 base=-3 5 -3 3, 435 linecolor=gray, 436 hue=0 1 .5 1] 437 \end{pspicture} 438 439 \columnbreak 440 441 \begin{verbatim} 442 \psSolid[object=grille, 443 base=-3 5 -3 3, 444 linecolor=gray, 445 hue=0 1 .5 1] 442 446 \end{verbatim} 443 447 \end{multicols} … … 445 449 \subsection {Dégradé dans l'espace HSB, cas général} 446 450 447 Il y a 7 arguments~: \ verb+[hue=+$h_0$ $s_0$ $b_0$ $h_1$ $s_1$448 $b_1$ \verb+ (hsb)]+où les nombres $h_i$, $s_i$ et $b_i$ indiquent les451 Il y a 7 arguments~: \Cadre{[hue=$h_0$ $s_0$ $b_0$ $h_1$ $s_1$ 452 $b_1$ (hsb)]} où les nombres $h_i$, $s_i$ et $b_i$ indiquent les 449 453 bornes des paramètre HSB. 450 454 … … 457 461 base=-3 5 -3 3, 458 462 linecolor=gray, 459 hue=0 .8 1 1 1 .7 (hsb)] (0,0,0)460 \end{pspicture} 461 462 \columnbreak 463 464 \begin{verbatim} 465 \psSolid[object=grille, 466 base=-3 5 -3 3, 467 linecolor=gray, 468 hue=0 .8 1 1 1 .7 (hsb)] (0,0,0)463 hue=0 .8 1 1 1 .7 (hsb)] 464 \end{pspicture} 465 466 \columnbreak 467 468 \begin{verbatim} 469 \psSolid[object=grille, 470 base=-3 5 -3 3, 471 linecolor=gray, 472 hue=0 .8 1 1 1 .7 (hsb)] 469 473 \end{verbatim} 470 474 \end{multicols} … … 472 476 \subsection {Dégradé dans l'espace RGB} 473 477 474 Il y a 6 arguments~: \ verb+[hue=+$r_0$ $g_0$ $b_0$ $r_1$ $g_1$475 $b_1$ \verb+]+où les nombres $r_i$, $g_i$ et $b_i$ indiquent les478 Il y a 6 arguments~: \Cadre{[hue=$r_0$ $g_0$ $b_0$ $r_1$ $g_1$ 479 $b_1$]} où les nombres $r_i$, $g_i$ et $b_i$ indiquent les 476 480 bornes respectives des $3$ paramètres RGB. 477 481 … … 484 488 base=-3 5 -3 3, 485 489 linecolor=gray, 486 hue=1 0 0 0 0 1] (0,0,0)487 \end{pspicture} 488 489 \columnbreak 490 491 \begin{verbatim} 492 \psSolid[object=grille, 493 base=-3 5 -3 3, 494 linecolor=gray, 495 hue=1 0 0 0 0 1] (0,0,0)490 hue=1 0 0 0 0 1] 491 \end{pspicture} 492 493 \columnbreak 494 495 \begin{verbatim} 496 \psSolid[object=grille, 497 base=-3 5 -3 3, 498 linecolor=gray, 499 hue=1 0 0 0 0 1] 496 500 \end{verbatim} 497 501 \end{multicols} … … 500 504 \subsection {Dégradé dans l'espace CMYK} 501 505 502 Il y a 8 arguments~: \ verb+[hue=+$c_0$ $m_0$ $y_0$ $k_0$ $c_1$ $m_1$503 $y_1$ $k_1$ \verb+]+où les nombres $c_i$, $m_i$, $y_i$ et $k_i$ indiquent les506 Il y a 8 arguments~: \Cadre{[hue=$c_0$ $m_0$ $y_0$ $k_0$ $c_1$ $m_1$ 507 $y_1$ $k_1$]} où les nombres $c_i$, $m_i$, $y_i$ et $k_i$ indiquent les 504 508 bornes respectives des $4$ paramètres CMYK. 505 509 … … 512 516 base=-3 5 -3 3, 513 517 linecolor=gray, 514 hue=1 0 0 0 0 0 1 0] (0,0,0)515 \end{pspicture} 516 517 \columnbreak 518 519 \begin{verbatim} 520 \psSolid[object=grille, 521 base=-3 5 -3 3, 522 linecolor=gray, 523 hue=1 0 0 0 0 0 1 0] (0,0,0)518 hue=1 0 0 0 0 0 1 0] 519 \end{pspicture} 520 521 \columnbreak 522 523 \begin{verbatim} 524 \psSolid[object=grille, 525 base=-3 5 -3 3, 526 linecolor=gray, 527 hue=1 0 0 0 0 0 1 0] 524 528 \end{verbatim} 525 529 \end{multicols} … … 528 532 529 533 Il y a deux paramètres 530 \ verb+[hue=(+\textsl{couleur1}\verb+) (+\textsl{couleur2}\verb+)]+où531 \textsl{couleur1} et \textsl{couleur2} sont des noms de couleurs 532 co nnues dans \verb+solides.pro+.533 534 \begin{multicols}{2} 535 \psset{unit=1} 536 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} 537 \begin{pspicture}(-4,-1.5)(3,1) 538 \psframe(-4,-1.5)(3,1) 539 \psSolid[object=grille, 540 base=-3 5 -3 3, 541 linecolor=gray, 542 hue=(jaune) (CadetBlue)] (0,0,0)543 \end{pspicture} 544 545 \columnbreak 546 547 \begin{verbatim} 548 \psSolid[object=grille, 549 base=-3 5 -3 3, 550 linecolor=gray, 551 hue=(jaune) (CadetBlue)] (0,0,0)534 \Cadre{[hue=$str1$ $str2$]} où 535 $str1$ et $str2$ sont des chaînes de caractères désignant des noms de 536 couleurs connues dans \verb+solides.pro+. 537 538 \begin{multicols}{2} 539 \psset{unit=1} 540 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} 541 \begin{pspicture}(-4,-1.5)(3,1) 542 \psframe(-4,-1.5)(3,1) 543 \psSolid[object=grille, 544 base=-3 5 -3 3, 545 linecolor=gray, 546 hue=(jaune) (CadetBlue)] 547 \end{pspicture} 548 549 \columnbreak 550 551 \begin{verbatim} 552 \psSolid[object=grille, 553 base=-3 5 -3 3, 554 linecolor=gray, 555 hue=(jaune) (CadetBlue)] 552 556 \end{verbatim} 553 557 \end{multicols} … … 567 571 color1=red!50, 568 572 color2=green!20, 569 hue=(color1) (color2)] (0,0,0)573 hue=(color1) (color2)] 570 574 \end{pspicture} 571 575 … … 578 582 color1=red!50, 579 583 color2=green!20, 580 hue=(color1) (color2)] (0,0,0)584 hue=(color1) (color2)] 581 585 \end{verbatim} 582 586 \end{multicols} … … 594 598 Pour désactiver cette gestion, on utilise l'option 595 599 \Cadre{[deactivatecolor]}. 600 601 \subsection{Exemples d'utilisation des options \texttt{[inhue]} et \texttt{[inouthue]}} 602 603 On rappelle que l'option \texttt{[inhue]} permet de colorier les faces 604 intérieures, \texttt{[hue]} permet de colorier les faces extérieures 605 et \texttt{[inouthue]} peindra dans la continuité faces intérieurs et 606 intérieures. 607 608 On rappelle que pour voir les faces intérieures il faut activer 609 l'option \texttt{hollow}, comme dans les deux exemples suivants. 610 611 \begin{LTXexample}[width=6cm] 612 \psset{lightsrc=45 15 20, 613 viewpoint=50 20 20 rtp2xyz,Decran=50} 614 \begin{pspicture}(-3,-3)(3,3) 615 \psframe(-3,-3)(3,3) 616 \psSolid[object=cube, 617 a=3,ngrid=3, 618 hollow, 619 inouthue=0 1 0.5 1, 620 rm=36 1 44 {} for]% 621 \end{pspicture} 622 \end{LTXexample} 623 624 \begin{LTXexample}[width=6.5cm] 625 \psset{unit=0.5} 626 \psset{lightsrc=30 30 25} 627 \psset{viewpoint=50 40 30 rtp2xyz,Decran=50} 628 \begin{pspicture}(-6,-8)(7,8) 629 \psSurface[ngrid=.25 .25,inouthue=1 0 0.5 1, 630 linewidth=0.5\pslinewidth,axesboxed, 631 algebraic](-4,-4)(4,4){% 632 ((y^2)-(x^2))/4 } 633 \end{pspicture} 634 \end{LTXexample} 635 636 Pour colorier avec les paramètres de \texttt{[hue]} les faces 637 intérieures et extérieures on utilisera l'option \texttt{[hue]} pour 638 l'extérieur et l'option \texttt{[inhue]} pour l'intérieur, comme dans 639 l'exemple suivant : 640 641 \begin{LTXexample}[width=8.5cm] 642 \psset{unit=0.5} 643 \begin{pspicture}(-7,-7)(10,12) 644 \psframe(-7,-7)(10,12) 645 \psset[pst-solides3d]{viewpoint=20 5 10, 646 Decran=50,lightsrc=20 10 5} 647 \psSolid[object=grille,base=-2 2 -2 2, 648 linecolor=white](0,0,-2) 649 % Parametric Surfaces 650 \defFunction{cone}(u,v) 651 {u v Cos mul}{u v Sin mul}{u} 652 \psSolid[object=surfaceparametree, 653 base=-2 2 0 2 pi mul, 654 inhue=0.8 0.2,hue=0.8 0.2, 655 function=cone,linewidth=0.5\pslinewidth, 656 ngrid=25 40]% 657 \gridIIID[Zmin=-2,Zmax=2](-2,2)(-2,2) 658 \end{pspicture} 659 \end{LTXexample} 660 trunk/doc/par-datfile.tex
r52 r97 30 30 \begin{description} 31 31 32 \item[Linux : ] le conseil de Jean-Michel Sarlat : le plus 33 simple est donc d'utiliser ghostscript directement, en console. Comme 34 il n'y a rien à attendre comme image : 32 \item[Linux : ] le plus simple est donc d'utiliser ghostscript 33 directement, en console. Comme il n'y a rien à attendre comme image : 35 34 36 35 \$> gs -dNOSAFER monfichier.ps quit.ps … … 46 45 fichiers .dat. 47 46 48 49 47 \subsection {\' Ecriture de fichiers .dat} 50 48 51 On utilise l'action \ verb+writesolid+dans \verb+\psSolid+, et on52 utilise l'option \ verb+file+pour spécifier le nom du fichier.49 On utilise l'action \Cadre{[action=writesolid} dans \verb+\psSolid+, et on 50 utilise l'option \Cadre{file} pour spécifier le nom du fichier. 53 51 54 52 Par exemple, considérons le code ci-dessous~: … … 76 74 \subsection {Lecture de fichiers .dat} 77 75 78 On utilise l'objet \ verb+datfile+de \verb+\psSolid+, avec l'argument79 \ verb+file+pour spécifier le nom du fichier.76 On utilise l'objet \Cadre{[object=datfile]} de \verb+\psSolid+, avec l'argument 77 \Cadre{file} pour spécifier le nom du fichier. 80 78 Ainsi le code 81 79 \begin{verbatim} … … 87 85 \section {Fichiers .obj} 88 86 89 Nous n'utilisons qu'une forme simplifiée du format obj. En90 particulier, les fichiers ne doivent comporter aucun caractère91 \verb+#+ (caractère de commentaire dans ce format).92 93 87 Ce format n'utilise qu'un seul fichier, et permet de spécifier sommets 94 88 et faces. 89 Ce sont des fichiers très utilisés dans le domaine de la 3D et qu'on 90 trouve en abondance sur internet. Par contre, nous n'utilisons qu'une 91 forme simplifiée du format obj. On veillera à supprimer tous les 92 commentaires \texttt{\#} du fichier original et ne conserver que les 93 sommets : ce sont les lignes qui commencent par \texttt{v} et les 94 faces, lignes commençant par \texttt{f}. 95 96 Les fichiers trop volumineux ne seront pas pris en compte car le 97 nombre maximal d'éléments pour un tableau \texttt{postscript} est 98 65535. Donc il faut que le nombre de sommets soit inférieur à 21845. 95 99 96 100 \subsection {\' Ecriture de fichiers .obj} 97 101 98 On utilise l'action \ verb+writeobj+dans \verb+\psSolid+, et on99 utilise l'option \ verb+file+pour spécifier le nom du fichier.102 On utilise l'action \Cadre{[action=writeobj} dans \verb+\psSolid+, et on 103 utilise l'option \Cadre{file} pour spécifier le nom du fichier. 100 104 101 105 Par exemple, le code ci-dessous~: … … 110 114 \subsection {Lecture de fichiers .obj} 111 115 112 On utilise l'objet \ verb+objfile+de \verb+\psSolid+, avec l'argument113 \ verb+file+pour spécifier le nom du fichier.116 On utilise l'objet \Cadre{[object=objfile} de \verb+\psSolid+, avec l'argument 117 \Cadre{file} pour spécifier le nom du fichier. 114 118 Ainsi le code 115 119 \begin{verbatim} … … 118 122 va permettre d'utiliser l'objet stocké dans les fichiers .obj créés au 119 123 paragraphe précédent. 124 125 \begin{LTXexample}[width=6cm] 126 \psset{viewpoint=20 15 10 rtp2xyz,Decran=20} 127 \begin{pspicture}(-3,-4)(3,3) 128 \psframe*[linecolor=cyan!50](-3,-4)(1,3) 129 \psSolid[object=objfile, 130 unit=20,RotX=60, 131 file=rocket]% 132 \end{pspicture} 133 \end{LTXexample} 120 134 121 135 \section {Fichiers .off} … … 130 144 \subsection {\' Ecriture de fichiers .off} 131 145 132 On utilise l'action \ verb+writeobj+dans \verb+\psSolid+, et on133 utilise l'option \ verb+file+pour spécifier le nom du fichier.146 On utilise l'action \Cadre{[action=writeoff]} dans \verb+\psSolid+, et on 147 utilise l'option \Cadre{file} pour spécifier le nom du fichier. 134 148 135 149 Par exemple, le code ci-dessous~: … … 144 158 \subsection {Lecture de fichiers .off} 145 159 146 On utilise l'objet \ verb+offfile+de \verb+\psSolid+, avec l'argument147 \ verb+file+pour spécifier le nom du fichier.160 On utilise l'objet \Cadre{[object=offfile} de \verb+\psSolid+, avec l'argument 161 \Cadre{file} pour spécifier le nom du fichier. 148 162 Ainsi le code 149 163 \begin{verbatim} trunk/doc/par-definitionmaillage.tex
r94 r97 2 2 3 3 L'utilisateur peut spécifier le maillage du solide avec l'option 4 \ verb+[ngrid]+dans la commande \verb+\psSolid+.4 \Cadre{[ngrid]} dans la commande \verb+\psSolid+. 5 5 6 6 Pour les objets … … 8 8 \verb+prisme+, 9 9 \verb+prismecreux+, 10 la syntaxe est \ texttt{[ngrid=}$n_1$\texttt{]} où $n_1$ représente le10 la syntaxe est \Cadre{[ngrid=$n_1$]} où $n_1$ représente le 11 11 nombre de mailles sur l'axe vertical. 12 12 13 13 Pour les objets 14 \verb+sphere+, 14 15 \verb+cylindre+, 15 16 \verb+cylindrecreux+, … … 18 19 \verb+tronccone+, 19 20 \verb+troncconecreux+, 21 \verb+tore+, 20 22 %%\verb+tore+, 21 la syntaxe est \texttt{[ngrid=}$n_1$~$n_2$\texttt{]} où $n_1$ est 23 la syntaxe est \hfill \break 24 \Cadre{[ngrid=$n_1$~$n_2$]} où $n_1$ est 22 25 entier supérieur ou égal à 1 (à $2$ pour \verb+tore+) représentant le 23 26 nombre de mailles sur l'axe vertical, et $n_2$ est un entier 24 27 représentant le nombre de divisions sur le cercle. 25 28 26 Pour l'objet 27 \verb+sphere+, 28 la syntaxe est \texttt{[ngrid=}$n_1$~$n_2$\texttt{]} où $n_1$ est 29 entier représentant le nombre de divisions sur l'axe vertical, et 30 $n_2$ est un entier représentant le nombre de divisions sur le cercle 31 horizontal. 32 33 Pour l'objet 34 \verb+tore+, 35 la syntaxe est \texttt{[ngrid=}$n_1$~$n_2$\texttt{]} où $n_1$ et $n_2$ 36 sont des entiers. 37 38 Voici quelques exemples : 29 Pour les objets 30 \verb+grille+, 31 \verb+surface+, 32 \verb+surface*+, 33 \verb+surfaceparametree+, 34 la syntaxe est \Cadre{[ngrid=$n_1$~$n_2$]} où $n_1$ et $n_2$ peuvent 35 être réels ou entiers. Le nombre $n_1$ se rapporte à l'axe $Ox$ et 36 $n_2$ se rapporte à l'axe $Oy$. 37 Si $n_2$ est absent, on considère que $n_2 = n_1$. 38 39 Si $n_1$ est entier, il représente le nombre de mailles sur l'axe 40 $Ox$. S'il est réel, il représente le pas de maillage sur l'axe 41 $Ox$. Par exemple, le nombre codé \verb+1+ est entier, alors que celui 42 codé \verb+1.+ est réel (noter le point). 43 44 45 Voici quelques exemples~: 46 47 \subsection {La grille} 48 49 \begin{multicols}{2} 50 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} 51 \begin{pspicture}(-4.5,-1.5)(2.5,2.5) 52 \psframe(-3.5,-1.5)(2.5,2.5) 53 \psSolid[object=grille, 54 ngrid=1, 55 base=0 4 -3 3, 56 linecolor=gray](0,0,0) 57 \axesIIID(0,0,0)(3,3,3) 58 \end{pspicture} 59 60 \columnbreak 61 62 \begin{verbatim} 63 \psSolid[object=grille, 64 ngrid=1, 65 base=0 4 -3 3, 66 linecolor=gray](0,0,0) 67 \end{verbatim} 68 \end{multicols} 69 70 \begin{multicols}{2} 71 \psset{viewpoint=50 50 20 rtp2xyz,Decran=30} 72 \begin{pspicture}(-4.5,-1.5)(2.5,2.5) 73 \psframe(-3.5,-1.5)(2.5,2.5) 74 \psSolid[object=grille, 75 ngrid=1. 1, 76 base=0 4 -3 3, 77 linecolor=gray](0,0,0) 78 \axesIIID(0,0,0)(3,3,3) 79 \end{pspicture} 80 81 \columnbreak 82 83 \begin{verbatim} 84 \psSolid[object=grille, 85 ngrid=1. 1, 86 base=0 4 -3 3, 87 linecolor=gray](0,0,0) 88 \end{verbatim} 89 \end{multicols} 39 90 40 91 \subsection {Le cube} … … 117 168 \end{multicols} 118 169 170 \newpage 171 119 172 \subsection {La sphère} 120 173 … … 229 282 \end{multicols} 230 283 231 \newpage284 %\newpage 232 285 233 286 \subsection{Tore} trunk/doc/par-eclairageponctuel.tex
r80 r97 4 4 lumineuse : 5 5 \begin{itemize} 6 \item \ texttt{[lightsrc=20 30 50]} en coordonnées cartésiennes, ou7 \ texttt{[lightsrc=viewpoint]} pour faire coïncider la source lumineuse6 \item \Cadre{[lightsrc=20 30 50]} en coordonnées cartésiennes, ou 7 \Cadre{[lightsrc=viewpoint]} pour faire coïncider la source lumineuse 8 8 avec l'observateur. 9 \item \ texttt{[lightintensity=2]} (valeur par défaut).9 \item \Cadre{[lightintensity=2]} (valeur par défaut). 10 10 \end{itemize} 11 11 trunk/doc/par-enleverfacettes.tex
r66 r97 1 1 \section{Enlever des facettes} 2 2 3 L'argument \ texttt{[rm=1 2 8]} permet de supprimer les facettes3 L'argument \Cadre{[rm=1 2 8]} permet de supprimer les facettes 4 4 visibles $1$, $2$ et $8$, afin de voir l'intérieur des solides creux. 5 5 trunk/doc/par-modes.tex
r94 r97 2 2 3 3 Pour un certain nombre de solides, on a prédéfini certains 4 maillages. Le positionnement du paramètre \ texttt{[mode=0, 1, 2, 3 ou 4]} permet de passer4 maillages. Le positionnement du paramètre \Cadre{[mode=0, 1, 2, 3 ou 4]} permet de passer 5 5 du maillage prédéfini le plus grossier \texttt{[mode=0]} au maillage 6 6 prédéfini le plus fin \texttt{[mode=4]}. trunk/doc/par-numeroterfacettes.tex
r89 r97 4 4 rorrespondant. 5 5 \begin{itemize} 6 \item \ texttt{[numfaces=all]} affiche tous les numéros de faces ;7 \item \ texttt{[numefaces=0 1 2 3]} affiche tous les numéros de faces6 \item \Cadre{[numfaces=all]} affiche tous les numéros de faces ; 7 \item \Cadre{[numefaces=0 1 2 3]} affiche tous les numéros de faces 8 8 \texttt{[0,1,2 et 3]} ; 9 9 \end{itemize} 10 L'option \ verb+fontsize+permet de fixer la taille de la police10 L'option \Cadre{fontsize} permet de fixer la taille de la police 11 11 utilisée. 12 Enfin, le booléen \ verb+visibility+permet de spécifier si on doit ou12 Enfin, le booléen \Cadre{visibility} permet de spécifier si on doit ou 13 13 non afficher le numéro de face si la face n'est pas visible. Par 14 14 défaut, on a \verb+visibility=true+, et on tient compte de la trunk/doc/par-plan.tex
r89 r97 348 348 degrés) autour de l'axe normal. 349 349 350 \newpage350 %\newpage 351 351 352 352 \begin{multicols}{2} trunk/doc/par-pointagesommets.tex
r66 r97 5 5 globalement, soit individuellement. 6 6 \begin{itemize} 7 \item \ texttt{[show=all]} pointe tous les sommets ;8 \item \ texttt{[num=all]} numérote tous les sommets ;9 \item \ texttt{[show=0 1 2 3]} pointe les sommets \texttt{[0,1,2 et 3]} ;10 \item \ texttt{[num=0 1 2 3]} numérote les sommets \texttt{[0,1,2 et 3]}.7 \item \Cadre{[show=all]} pointe tous les sommets ; 8 \item \Cadre{[num=all]} numérote tous les sommets ; 9 \item \Cadre{[show=0 1 2 3]} pointe les sommets \texttt{[0,1,2 et 3]} ; 10 \item \Cadre{[num=0 1 2 3]} numérote les sommets \texttt{[0,1,2 et 3]}. 11 11 \end{itemize} 12 12 % trunk/doc/par-solidescreux.tex
r94 r97 4 4 est naturellement associé (le cône, le tronc de cône, le cylindre, 5 5 le prisme et la calotte sphérique). Pour ceux là, une option 6 \ texttt{[hallow=}\textsl{boolean}\texttt{]} est prévue. Positionné à6 \Cadre{[hollow=$boolean$]} est prévue. Positionné à 7 7 \textsl{false}, on a le solide habituel; positionné à \textsl{true} on 8 8 a la version creuse. trunk/doc/par-tronque.tex
r45 r97 1 1 \section {Tronquer les sommets d'un solide} 2 2 3 L'option \ verb+trunc+permet de tronquer les sommets soit3 L'option \Cadre{[trunc]} permet de tronquer les sommets soit 4 4 globalement, soit individuellement. Cette option utilise l'argument 5 \ verb+trunccoeff+(valeur $0,25$ par défaut) qui indique le rapport5 \Cadre{[trunccoeff]} (valeur $0,25$ par défaut) qui indique le rapport 6 6 $k$ utiliser pour la troncature ($0<k\leq 0,5$). 7 7 % 8 8 \begin{itemize} 9 \item \ texttt{[trunc=all]} tronque tous les sommets ;10 \item \ texttt{[trunc=0 1 2 3]} tronque les sommets \texttt{[0,1,2 et 3]} ;9 \item \Cadre{[trunc=all]} tronque tous les sommets ; 10 \item \Cadre{[trunc=0 1 2 3]} tronque les sommets \texttt{[0,1,2 et 3]} ; 11 11 \end{itemize} 12 12 % trunk/doc/pst-solides3d-doc.tex
r82 r97 216 216 \thanks{Avec la collaboration de : 217 217 Jürgen \textsc{Gilg}\url{<gilg@acrotex.net>}, 218 Jean-Michel \textsc{Sarlat}\url{<jm.sarlat@gmail.com>}.}} 219 \date{6 juillet 2\,008} 218 Jean-Michel \textsc{Sarlat}\url{<jm.sarlat@gmail.com>}, 219 Herbert \textsc{Voss}\url{<Herbert.Voss@FU-Berlin.DE>}.}} 220 \date{15 juillet 2\,008} 220 221 \begin{document} 221 222 \maketitle … … 234 235 \newpage 235 236 236 % %\end {document}237 %\end {document} 237 238 238 239 \input \datapath par-constitution … … 277 278 278 279 \chapter{Quelques objets spécifiques} 279 \input \datapath par-grille280 %\input \datapath par-grille 280 281 \input \datapath par-plan 281 282 \input \datapath par-vecteur
