Source PostScript (arrowpaths.pps)

Retour Texte non formaté
%% syntaxe : arrowpaths --> depose sur la pile les 2 sous chemins %% en provenance du chemin courant necessaires a gere_arrowhead /arrowpaths { 3 dict begin currentcppathobj /path exch def % cvx exec % /les_xy exch def % /les_t exch def % /ell les_xy longueur def %% longueur de la courbe en picas % /ell path cpathlongueur def %% longueur de la courbe en picas %% pour visualiser %/les_XY path cpathpointstable {ptojpoint} papply def %/les_t path cpathparamtable {ptojpoint} papply def %les_t {les_t les_XY interpolparamfunct times} apply %les_t length == path cpathlongueur ahlength lt { 50 path splitcpath } { 0 100 .01 { path cpathelongueur ahlength sub } dich_solve /t1 exch def 0 100 .01 { path cpathslongueur ahlength sub } dich_solve /t2 exch def t2 path splitcpath pop cppathtocpath reversecpathobj t1 path splitcpath exch pop cppathtocpath } ifelse %% 0 100 .01 { %% path cpathelongueur ahlength sub %% } dich_solve /t1 exch def %% %% 0 100 .01 { %% path cpathslongueur ahlength sub %% } dich_solve /t2 exch def %% t2 path splitcpath pop cppathtocpath reversecpathobj %% t1 path splitcpath exch pop cppathtocpath end } def