Changeset 64

Show
Ignore:
Timestamp:
06/23/08 22:09:06 (7 months ago)
Author:
jpv
Message:

Correction bug sur newcylindre (normalisation vecteur)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/solides.pro

    r63 r64  
    11%! 
    22% PostScript prologue for pst-solides3d.tex. 
    3 % Version 3.35, 2008/06/22 
     3% Version 3.36, 2008/06/23 
    44% 
    55%% COPYRIGHT 2008 by Jean-Paul Vignault, Manuel Luque 
     
    76487648 
    76497649%%%%% ### newcylindre ###  
    7650 %% %% syntaxe : z0 r0 z1 newcylindre -> solide 
    7651 %% /newcylindre { 
    7652 %%    dup xcheck { 
    7653 %%       2 index exch 
    7654 %%    } { 
    7655 %%       dup isarray { 
    7656 %%          2 index exch 
    7657 %%       } { 
    7658 %%          1 index 
    7659 %%       } ifelse 
    7660 %%    } ifelse 
    7661 %%    newtronccone 
    7662 %% } def 
    7663 %%  
    7664 %% %% syntaxe : z0 r0 z1 newcylindrecreux -> solide 
    7665 %% /newcylindrecreux { 
    7666 %%    newcylindre 
    7667 %%    dup creusesolid 
    7668 %% } def 
    7669  
    76707650%% syntaxe : z0 r0 z1 newcylindre -> solide 
    76717651%% syntaxe : z0 r0 z1 {mode} newcylindre -> solide 
     
    76797659 
    76807660      /h exch def 
    7681       /u exch def 
     7661      /U exch def 
     7662      U normalize3d /u defpoint3d 
    76827663      /lafonction exch def 
    76837664      /b exch def 
     
    77707751 
    77717752%%%%% ### newcone ###  
    7772 %% %% syntaxe : z0 r0 z1 newcone -> solid 
    7773 %% /newcone { 
    7774 %% 11 dict begin 
    7775 %%    [ [/n /N] [1 6] [1 8] [1 10] [3 12] [5 18] ] gestionsolidmode 
    7776 %%  
    7777 %%    /z1 exch def 
    7778 %%    /r0 exch def 
    7779 %%    /z0 exch def 
    7780 %%    /dz z1 z0 sub n div def 
    7781 %%    /dr r0 n div def 
    7782 %%  
    7783 %%    /F [ 
    7784 %%       %% la base 
    7785 %%       [N 1 sub -1 0 {} for] 
    7786 %%       %% le dernier etage 
    7787 %%       n 1 sub N mul 1 add 1 n N mul 1 sub { 
    7788 %%            /i exch def 
    7789 %%            [i 1 sub i n N mul] 
    7790 %%       } for 
    7791 %%       [n N mul 1 sub n 1 sub N mul n N mul] 
    7792 %%       %% les autres etages 
    7793 %%       0 1 n 2 sub { 
    7794 %%          /j exch def 
    7795 %%          0 N j mul add 1 N N j mul add 2 sub { 
    7796 %%             /i exch def 
    7797 %%             [i i 1 add dup N add dup 1 sub] 
    7798 %%          } for 
    7799 %%          [N N j mul add 1 sub N j mul dup N add dup N add 1 sub] 
    7800 %%       } for 
    7801 %%    ] def 
    7802 %%  
    7803 %%    %% tableau des sommets 
    7804 %%    /S [ 
    7805 %%       %% etage no j (in [1; n]) 
    7806 %%       0 1 n 1 sub { 
    7807 %%          /j exch def 
    7808 %%          0 1 N 1 sub { 
    7809 %%              /i exch def 
    7810 %%              360 N idiv i mul cos r0 dr j mul sub mul 
    7811 %%              360 N idiv i mul sin r0 dr j mul sub mul 
    7812 %%              z0 dz j mul add 
    7813 %%          } for 
    7814 %%       } for 
    7815 %%       0 0 z1 
    7816 %%    ] def 
    7817 %%    S F generesolid 
    7818 %% end 
    7819 %% } def 
    7820 %%  
    7821 %% %% syntaxe : z0 r0 z1 newconecreux -> solid 
    7822 %% /newconecreux { 
    7823 %%    newcone 
    7824 %%    dup 0 solidrmface 
    7825 %%    dup videsolid 
    7826 %% } def 
    7827  
    78287753%% syntaxe : z0 r0 z1 newcone -> solid 
    78297754%% syntaxe : z0 r0 z1 {mode} newcone -> solid