12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- % CIRCLE.SL.3 31 Jan. 83
- % Test program to draw a circle on a graphics screen.
- % G. Novak
- (DG CIRCLE
- (XSTART:integer YSTART:integer RADIUS:INTEGER)
- % (* edited: "19-MAR-82 16:31")
- % (* Draw a circle incrementally.)
- (PROG (X Y YLAST DELTA NP2)
- (X_RADIUS)
- (Y_0)
- (DELTA_0)
- (WHILE Y<X DO (YLAST_Y)
- (DELTA _+
- X + X - 1)
- (WHILE DELTA>0 DO (DELTA _-
- Y+Y+1)
- (Y_+1))
- (NP2 _(Y - YLAST + 1)/2)
- (WHILE NP2>0 DO (NP2_-1)
- (DRAWCIRCLEPOINT X YLAST XSTART YSTART)
- (YLAST_+1))
- (X_-1)
- (WHILE YLAST<Y DO
- (DRAWCIRCLEPOINT X YLAST XSTART YSTART)
- (YLAST_+1)))))
- % for testing:
- (de drawcirclepoint (x y xstart ystart)
- (prin1 x)(prin2 '! )(print y))
- (dg oldDRAWCIRCLEPOINT
- (X:integer Y:integer XSTART:integer YSTART:INTEGER)
- % (* edited: "19-MAR-82 15:40")
- (BITMAPBIT XSTART+X YSTART+Y 1)
- (BITMAPBIT (XSTART - X)
- YSTART+Y 1)
- (BITMAPBIT (XSTART - X)
- (YSTART - Y)
- 1)
- (BITMAPBIT XSTART+X (YSTART - Y)
- 1)
- (BITMAPBIT XSTART+Y YSTART+X 1)
- (BITMAPBIT XSTART+Y (YSTART - X)
- 1)
- (BITMAPBIT (XSTART - Y)
- YSTART+X 1)
- (BITMAPBIT (XSTART - Y)
- (YSTART - X)
- 1))
|