Görbék
Feladat:
1.) Illesszünk pozitív irányba haladva körívet a kurrens pályához!
100 150 36 45 90 arc
x y r szög1 szög2 arc -
( azaz: középpont, sugár, kezdõ szög, végszög )
2.) Most illesszünk negatív irányba haladva körívet a kurrens pályához!
100 150 36 45 90 arcn
x y r szög1 szög2 arcn -
3.) Ha van kurrens pont, akkor a körív elé veszi a kurrens pontból az ív elejéig húzott szakaszt is:
newpath
300 400 54 40 140 arc stroke
newpath
300 365 moveto
340 345 54 40 140 arc stroke
showpage
Példa: kör és ellipszisek
/doACircle
{0 0 54 0 360 arc stroke} def/doAnEllipse
{
1.75 scale
doACircle
stroke } def300 500 translate doACircle
4{0-72 translate
doAnEllipse} repeat
showpage
Példa: Kereksarkú négyzet rajzolása
x1 y1 x2 y2 r arcto x1' y1' x2' y2'
A kurrens ponttól (x1, y1)- irányába húz vonalat, amíg az r sugarú körívet érinti, a körívet folytatja, amíg az (x1, y1) - (x2, y2) érintési pontját eléri. A verembe kerül a két érintési pont koordinátája.
newpath
2 setlinewidth
1 0 1 setrgbcolor
0 50 translate
100 100 moveto
100 200 200 200 40 arcto
300 200 300 100 40 arcto
300 0 200 0 40 arcto
100 0 100 100 40 arcto
closepath
%fill
strokeshowpage
Példa: OMAHA
% define procedures
/Helvetica-Bold findfont 27 scalefont setfont/fourpops
{ 4 {pop} repeat }def/background
{
0 18 moveto
0 72 108 72 18 arcto fourpops
108 72 108 0 18 arcto fourpops
108 0 0 0 18 arcto fourpops
0 0 0 72 18 arcto fourpops
fill} def/moon
{
.6 setgray
81 45 18 0 360 arc fill } def/omaha
{
1 setgray
0-1 moveto
1 2 scale
(OMAHA) stringwidth pop
108 exch sub 2 div
0 rmoveto
(OMAHA) show } def% begin program
255 465 translate
background
moon
omaha
showpage