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 } def

300 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
stroke

showpage
 
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



a lap teteje