| 297 | | surface,calottespherecreuse,polygoneregulier,fusion,new,chemin,courbeR2,courbe,% |
|---|
| | 285 | Surface,surface,calottespherecreuse,polygoneregulier,fusion,new,chemin,courbeR2,courbe,% |
|---|
| 298 | 286 | surfaceparametree,texte,trigospherique,vecteur,line,objfile,datfile,surface*,% |
|---|
| 299 | 287 | plan,offfile,geode,load,plantype,point,pie,droite,polygone,cercle,rightangle} |
|---|
| 345 | | c={\pst@solides@@Zmax\space \pst@solides@@Zmin\space sub}, |
|---|
| 346 | | action=draw](0,0,\pst@solides@@Zmax\space \pst@solides@@Zmin\space add 2 div ) |
|---|
| 347 | | % (0,0,\pst@solides@@QZ) |
|---|
| 348 | | \pst@cnta=#2 % |
|---|
| 349 | | \advance\pst@cnta by -#1 \advance\pst@cnta by \@ne |
|---|
| 350 | | \multido{\ix=#1+1}{\pst@cnta}{% |
|---|
| 351 | | \psPoint(\ix\space,#4,\pst@solides@@Zmin){X1} |
|---|
| 352 | | \psPoint(\ix\space,#4 .2 add,\pst@solides@@Zmin){X2} |
|---|
| | 338 | c={\pst@solides@@Zmax \pst@solides@@Zmin sub}, |
|---|
| | 339 | action=draw](0,0,\pst@solides@@Zmax \pst@solides@@Zmin add 2 div )% |
|---|
| | 340 | \ifnum#1<0 \pst@cnta=-#1 \def\pst@minus{-}\else\pst@cnta=#1 \def\pst@minus{}\fi |
|---|
| | 341 | \divide\pst@cnta by \psk@solides@stepX |
|---|
| | 342 | \multido{\ix=\psk@solides@stepX+\psk@solides@stepX}{\pst@cnta}{% |
|---|
| | 343 | \psPoint(\pst@minus\ix,#4,\pst@solides@@Zmin){X1}% |
|---|
| | 344 | \psPoint(\pst@minus\ix,#4 \psk@solides@ticklength\space add,\pst@solides@@Zmin){X2}% |
|---|
| | 345 | \psline(X1)(X2)% |
|---|
| | 346 | \uput[\pst@solides@@spotX](X1){\small\pst@minus\ix}}% |
|---|
| | 347 | \ifnum#2<0 \pst@cnta=-#2 \def\pst@minus{-}\else\pst@cnta=#2 \def\pst@minus{}\fi |
|---|
| | 348 | \divide\pst@cnta by \psk@solides@stepX% |
|---|
| | 349 | \advance\pst@cnta by \@ne |
|---|
| | 350 | \multido{\ix=0+\psk@solides@stepX}{\the\pst@cnta}{% |
|---|
| | 351 | \psPoint(\pst@minus\ix,#4,\pst@solides@@Zmin){X1} |
|---|
| | 352 | \psPoint(\pst@minus\ix,#4 \psk@solides@ticklength\space add,\pst@solides@@Zmin){X2} |
|---|
| 354 | | \uput[\pst@solides@@spotX](X1){\small\ix}} |
|---|
| 355 | | \pst@cnta=#4 % |
|---|
| 356 | | \advance\pst@cnta by -#3 \advance\pst@cnta by \@ne% |
|---|
| 357 | | \multido{\iy=#3+1}{\pst@cnta}{% |
|---|
| 358 | | \psPoint(#2,\iy\space,\pst@solides@@Zmin){Y1} |
|---|
| 359 | | \psPoint(#2 .2 add,\iy\space,\pst@solides@@Zmin){Y2} |
|---|
| | 354 | \uput[\pst@solides@@spotX](X1){\small\pst@minus\ix}} |
|---|
| | 355 | % |
|---|
| | 356 | \ifnum#3<0 \pst@cnta=-#3 \def\pst@minus{-}\else\pst@cnta=#3 \def\pst@minus{}\fi |
|---|
| | 357 | \divide\pst@cnta by \psk@solides@stepY |
|---|
| | 358 | \multido{\iy=\psk@solides@stepY+\psk@solides@stepY}{\pst@cnta}{% |
|---|
| | 359 | \psPoint(#2,\pst@minus\iy,\pst@solides@@Zmin){Y1} |
|---|
| | 360 | \psPoint(#2 \psk@solides@ticklength\space add,\pst@minus\iy,\pst@solides@@Zmin){Y2} |
|---|
| 361 | | \uput[\pst@solides@@spotY](Y1){\small\iy}} |
|---|
| 362 | | \pst@cnta=\pst@solides@@Zmax % |
|---|
| 363 | | \pst@cntb=\pst@solides@@Zmin % |
|---|
| | 362 | \uput[\pst@solides@@spotY](Y1){\small\pst@minus\iy}} |
|---|
| | 363 | \ifnum#4<0 \pst@cnta=-#4 \def\pst@minus{-}\else\pst@cnta=#4 \def\pst@minus{}\fi |
|---|
| | 364 | \divide\pst@cnta by \psk@solides@stepY |
|---|
| | 365 | \advance\pst@cnta by \@ne |
|---|
| | 366 | \multido{\iy=0+\psk@solides@stepY}{\pst@cnta}{% |
|---|
| | 367 | \psPoint(#2,\pst@minus\iy,\pst@solides@@Zmin){Y1} |
|---|
| | 368 | \psPoint(#2 \psk@solides@ticklength\space add,\pst@minus\iy,\pst@solides@@Zmin){Y2} |
|---|
| | 369 | \psline(Y1)(Y2) |
|---|
| | 370 | \uput[\pst@solides@@spotY](Y1){\small\pst@minus\iy}} |
|---|
| | 371 | % |
|---|
| | 372 | \pst@cnta=\pst@solides@@Zmin \pst@cntb=\pst@solides@@Zmax |
|---|
| 365 | | \advance\pst@cnta by -\pst@solides@@Zmin \advance\pst@cnta by \@ne |
|---|
| 366 | | \multido{\iz=\pst@solides@@Zmin+1}{\pst@cnta}{% |
|---|
| 367 | | \psPoint(#2,#3,\iz\space){Z1} |
|---|
| 368 | | \psPoint(#2,#3 .2 sub,\iz\space){Z2} |
|---|
| | 374 | \pst@cnta=\pst@solides@@Zmin |
|---|
| | 375 | \ifnum\pst@cnta<0 \pst@cnta=-\pst@cnta \def\pst@minus{-} |
|---|
| | 376 | \else\def\pst@minus{}\fi% |
|---|
| | 377 | \divide\pst@cnta by \psk@solides@stepZ |
|---|
| | 378 | \multido{\iz=\psk@solides@stepZ+\psk@solides@stepZ}{\pst@cnta}{% |
|---|
| | 379 | \psPoint(#2,#3,\pst@minus\iz){Z1} |
|---|
| | 380 | \psPoint(#2,#3 \psk@solides@ticklength\space sub,\pst@minus\iz){Z2} |
|---|
| 370 | | \uput[\pst@solides@@spotZ](Z1){\small\iz}} |
|---|
| 371 | | \fi% |
|---|
| | 382 | \uput[\pst@solides@@spotZ](Z1){\small\pst@minus\iz}} |
|---|
| | 383 | \pst@cnta=\pst@solides@@Zmax % |
|---|
| | 384 | \ifnum\pst@cnta<0 \pst@cnta=-\pst@pst@cnta \def\pst@minus{-} |
|---|
| | 385 | \else\def\pst@minus{}\fi% |
|---|
| | 386 | \divide\pst@cnta by \psk@solides@stepZ |
|---|
| | 387 | \advance\pst@cnta by \@ne |
|---|
| | 388 | \multido{\iz=0+\psk@solides@stepZ}{\pst@cnta}{% |
|---|
| | 389 | \psPoint(#2,#3,\pst@minus\iz){Z1} |
|---|
| | 390 | \psPoint(#2,#3 \psk@solides@ticklength\space sub,\pst@minus\iz){Z2} |
|---|
| | 391 | \psline(Z1)(Z2) |
|---|
| | 392 | \uput[\pst@solides@@spotZ](Z1){\small\pst@minus\iz}} |
|---|
| | 393 | \fi |
|---|
| | 394 | % |
|---|
| 477 | | \ifx\pst@solides@plansepare\@empty |
|---|
| 478 | | \else |
|---|
| 479 | | /plansepare {\pst@solides@plansepare} def |
|---|
| 480 | | \fi |
|---|
| 481 | | % |
|---|
| 482 | | \ifx\pst@solides@transform\@empty |
|---|
| 483 | | \else |
|---|
| 484 | | /pst-transformoption { \pst@solides@transform} def |
|---|
| 485 | | \fi |
|---|
| 486 | | % |
|---|
| 487 | | \ifx\pst@solides@name\@empty |
|---|
| 488 | | \else |
|---|
| 489 | | /solidname (\pst@solides@name) def |
|---|
| 490 | | \fi |
|---|
| 491 | | \ifx\pst@solides@file\@empty |
|---|
| 492 | | \else |
|---|
| 493 | | /solidfilename (\pst@solides@file) def |
|---|
| 494 | | \fi |
|---|
| 495 | | % |
|---|
| 496 | | \ifx\pst@solides@planname\@empty |
|---|
| 497 | | \else |
|---|
| 498 | | /solidplanname (\pst@solides@planname) def |
|---|
| 499 | | \fi |
|---|
| 500 | | % |
|---|
| 501 | | \ifx\pst@solides@load\@empty |
|---|
| 502 | | \else |
|---|
| 503 | | /solidloadname {\pst@solides@load} def |
|---|
| 504 | | \fi |
|---|
| 505 | | % |
|---|
| 506 | | \ifx\pst@solides@fcolor\@empty |
|---|
| 507 | | \else |
|---|
| 508 | | /solidfcolor (\pst@solides@fcolor) def |
|---|
| | 494 | \ifx\pst@solides@plansepare\@empty\else |
|---|
| | 495 | /plansepare {\pst@solides@plansepare} def |
|---|
| | 496 | \fi |
|---|
| | 497 | % |
|---|
| | 498 | \ifx\pst@solides@transform\@empty\else |
|---|
| | 499 | /pst-transformoption { \pst@solides@transform} def |
|---|
| | 500 | \fi |
|---|
| | 501 | % |
|---|
| | 502 | \ifx\pst@solides@name\@empty\else |
|---|
| | 503 | /solidname (\pst@solides@name) def |
|---|
| | 504 | \fi |
|---|
| | 505 | \ifx\pst@solides@file\@empty\else |
|---|
| | 506 | /solidfilename (\pst@solides@file) def |
|---|
| | 507 | \fi |
|---|
| | 508 | % |
|---|
| | 509 | \ifx\pst@solides@planname\@empty\else |
|---|
| | 510 | /solidplanname (\pst@solides@planname) def |
|---|
| | 511 | \fi |
|---|
| | 512 | % |
|---|
| | 513 | \ifx\pst@solides@load\@empty\else |
|---|
| | 514 | /solidloadname {\pst@solides@load} def |
|---|
| | 515 | \fi |
|---|
| | 516 | % |
|---|
| | 517 | \ifx\pst@solides@fcolor\@empty\else |
|---|
| | 518 | /solidfcolor (\pst@solides@fcolor) def |
|---|
| 532 | | \ifPst@affinagerm |
|---|
| 533 | | /affinagerm true def |
|---|
| 534 | | \else |
|---|
| 535 | | /affinagerm false def |
|---|
| 536 | | \fi |
|---|
| 537 | | % |
|---|
| 538 | | \ifPst@chanfrein |
|---|
| 539 | | /chanfrein true def |
|---|
| 540 | | \else |
|---|
| 541 | | /chanfrein false def |
|---|
| 542 | | \fi |
|---|
| 543 | | % |
|---|
| 544 | | \ifPst@grid |
|---|
| 545 | | /solidgrid true def |
|---|
| 546 | | \else |
|---|
| 547 | | /solidgrid false def |
|---|
| 548 | | \fi |
|---|
| 549 | | % |
|---|
| 550 | | \ifPst@planmarks |
|---|
| 551 | | /solidplanmarks true def |
|---|
| 552 | | \else |
|---|
| 553 | | /solidplanmarks false def |
|---|
| 554 | | \fi |
|---|
| 555 | | % |
|---|
| 556 | | \ifPst@plangrid |
|---|
| 557 | | /solidplangrid true def |
|---|
| 558 | | \else |
|---|
| 559 | | /solidplangrid false def |
|---|
| 560 | | \fi |
|---|
| 561 | | % |
|---|
| 562 | | \ifPst@showBase |
|---|
| 563 | | /solidshowbase3d true def |
|---|
| 564 | | \else |
|---|
| 565 | | /solidshowbase3d false def |
|---|
| 566 | | \fi |
|---|
| 567 | | % |
|---|
| 568 | | \ifPst@deactivatecolor |
|---|
| 569 | | /activationgestioncouleurs false def |
|---|
| 570 | | \else |
|---|
| 571 | | /activationgestioncouleurs true def |
|---|
| 572 | | \fi |
|---|
| 573 | | % |
|---|
| 574 | | \ifPst@showbase |
|---|
| 575 | | /solidshowbase true def |
|---|
| 576 | | \else |
|---|
| 577 | | /solidshowbase false def |
|---|
| 578 | | \fi |
|---|
| 579 | | % |
|---|
| 580 | | \ifPst@dualreg |
|---|
| 581 | | /soliddualreg true def |
|---|
| 582 | | \else |
|---|
| 583 | | /soliddualreg false def |
|---|
| 584 | | \fi |
|---|
| 585 | | % |
|---|
| 586 | | \ifPst@geode |
|---|
| 587 | | /solidgeode true def |
|---|
| 588 | | \else |
|---|
| 589 | | /solidgeode false def |
|---|
| 590 | | \fi |
|---|
| 591 | | % |
|---|
| 592 | | \ifPst@hollow |
|---|
| 593 | | /solidhollow true def |
|---|
| 594 | | \else |
|---|
| 595 | | /solidhollow false def |
|---|
| 596 | | \fi |
|---|
| 597 | | \ifPst@biface |
|---|
| 598 | | /solidbiface true def |
|---|
| 599 | | \else |
|---|
| 600 | | /solidbiface false def |
|---|
| 601 | | \fi |
|---|
| 602 | | %% \ifPst@num |
|---|
| 603 | | %% /solidnum true def |
|---|
| 604 | | %% \else |
|---|
| 605 | | %% /solidnum false def |
|---|
| 606 | | %% \fi |
|---|
| | 539 | /affinagerm \ifPst@affinagerm true \else false \fi def |
|---|
| | 540 | /chanfrein \ifPst@chanfrein true \else false \fi def |
|---|
| | 541 | /solidgrid \ifPst@grid true \else false \fi def |
|---|
| | 542 | /solidplanmarks \ifPst@planmarks true \else false \fi def |
|---|
| | 543 | /solidplangrid \ifPst@plangrid true \else false \fi def |
|---|
| | 544 | /solidshowbase3d \ifPst@showBase true \else false \fi def |
|---|
| | 545 | /activationgestioncouleurs \ifPst@deactivatecolor false \else true \fi def |
|---|
| | 546 | /solidshowbase \ifPst@showbase true \else false \fi def |
|---|
| | 547 | /soliddualreg \ifPst@dualreg true \else false \fi def |
|---|
| | 548 | /solidgeode \ifPst@geode true \else false \fi def |
|---|
| | 549 | /solidhollow \ifPst@hollow true \else false \fi def |
|---|
| | 550 | /solidbiface \ifPst@biface true \else false \fi def |
|---|
| | 551 | % |
|---|
| | 552 | %% |
|---|
| | 553 | %% /solidnum \ifPst@num true \else false \fi def |
|---|
| 619 | | viewpointXYZ /ZpointVue ED /YpointVue ED /XpointVue ED |
|---|
| 620 | | /THETA {YpointVue XpointVue atan} bind def |
|---|
| 621 | | /PHI {ZpointVue XpointVue dup mul YpointVue dup mul add sqrt atan} bind def |
|---|
| 622 | | /Dobs {XpointVue dup mul YpointVue dup mul add ZpointVue dup mul add sqrt} bind def |
|---|
| | 566 | viewpointXYZ /ZpointVue ED /YpointVue ED /XpointVue ED |
|---|
| | 567 | /THETA {YpointVue XpointVue atan} bind def |
|---|
| | 568 | /PHI {ZpointVue XpointVue dup mul YpointVue dup mul add sqrt atan} bind def |
|---|
| | 569 | /Dobs {XpointVue dup mul YpointVue dup mul add ZpointVue dup mul add sqrt} bind def |
|---|