Source PostScript (interdroiteell.pps)

Retour Texte non formaté
/interdroiteell { 12 dict begin aload pop /alpha exch def /b exch def /a exch def /I defpoint %% on se ramene a une ellipse de centre (0, 0), d'angle 0 I -1 mulv translatedroite 0 0 alpha neg rotatedroite /d defdroite d verticale? { d popp pop /X0 exch def %% 2 2 2 %% RootOf(_Z + x0 - a ) b %% rep := {y = ------------------------, x = x0} %% a a dup mul X0 dup mul sub sqrt b a div mul /Y0 exch def X0 Y0 X0 Y0 neg } { /a1 d coeffdir def /b1 d ordorig def %% 2 2 2 2 2 2 %% {y = a1 RootOf((b + a a1 ) _Z + b1 - b + 2 b1 a1 a _Z) a + b1, %% %% 2 2 2 2 2 2 %% x = RootOf((b + a a1 ) _Z + b1 - b + 2 b1 a1 a _Z) a} %% on prepare l'equation du 2nd degre %% coeff pour le degre 2 b dup mul a dup mul a1 dup mul mul add %% coeff pour le degre 1 2 b1 mul a1 mul a mul %% coeff pour le degre 0 b1 dup mul b dup mul sub solve2nddegre a mul /X0 exch def a mul /X1 exch def X0 dup a1 mul b1 add X1 dup a1 mul b1 add } ifelse 0 0 alpha rotatedroite I translatedroite end } def