Source PostScript (ellipse.pps)

Retour Texte non formaté
/ellipseangle 0 def %% syntaxe : x0 y0 rx ry ellipse OU ell ellipse /ellipse { dup isarray {aload pop @llipse} {ellipseangle @llipse} ifelse } def /ellipse_ { dup isarray {aload pop @llipse_} {ellipseangle @llipse_} ifelse } def %% syntaxe : x0 y0 rx ry alpha @llipse /@llipse { 3 dict begin /@lpha exch def /yr@y@n exch def /xr@y@n exch def gsave stranslate @lpha rotate 0 360 {cos xr@y@n mul} {sin yr@y@n mul} Courbeparam grestore end } def %% syntaxe : x0 y0 rx ry alpha @llipse_ /@llipse_ { 5 dict begin /@lpha exch def /yr@y@n exch def /xr@y@n exch def gsave stranslate @lpha rotate /f@ncti@nellips@x {cos xr@y@n mul} def /f@ncti@nellips@y {sin yr@y@n mul} def 0 360 {f@ncti@nellips@x} {f@ncti@nellips@y} Courbeparam_ grestore end } def %% syntaxe : x0 y0 rx ry ellipse* /ellipse* { 1 dict begin /startest {true} def ellipse end } def %% syntaxe : alpha beta x0 y0 rx ry Ellipse OU alpha beta ell Ellipse /Ellipse { 1 dict begin dup isstring {/option exch def} if dup isarray { aload pop currentdict /option known {option} if @llips@ } { ellipseangle currentdict /option known {option} if @llips@ } ifelse end } def %% syntaxe : alpha beta x0 y0 rx ry Ellipse_ OU alpha beta ell Ellipse_ /Ellipse_ { dup isarray {aload pop @llips@_} {ellipseangle @llips@_} ifelse } def %% syntaxe : alpha beta x0 y0 rx ry gamma @llips@ /@llips@ { 4 dict begin dup isstring {/option exch def} if /@ngle exch def /yr@y@n exch def /xr@y@n exch def gsave stranslate @ngle rotate 2 copy gt {360 add} if {cos xr@y@n mul} {sin yr@y@n mul} currentdict /option known {option} if Courbeparam grestore end } def %% syntaxe : alpha beta x0 y0 rx ry gamma @llips@_ /@llips@_ { 3 dict begin /@ngle exch def /yr@y@n exch def /xr@y@n exch def gsave stranslate @ngle rotate 2 copy gt {360 add} if {cos xr@y@n mul} {sin yr@y@n mul} Courbeparam_ grestore end } def %% syntaxe : alpha beta x0 y0 rx ry Ellipse /Ellipse* { 1 dict begin /startest {true} def Ellipse end } def