10
20 CLS
30 PRINT"This tests PLOT 197 and PLOT 205"
40 PRINT"There should be two ellipses at 45 degrees"
50 PROCellipse(896,576,120,60,33,0)
60 PROCellipse(496,576,120,60,33,1)
70 END
80 :
90 DEFPROCellipse(centrex%,centrey%,semimajor,semiminor,angle,filled%)
100 LOCAL cosang,sinang,maxy,shearx,slicewidth
110 cosang=COS(RAD(angle))
120 sinang=SIN(RAD(angle))
130 maxy=SQR((semiminor*cosang)^2+(semimajor*sinang)^2)
140 shearx=(semimajor^2-semiminor^2)*cosang*sinang/maxy
150 slicewidth=semimajor*semiminor/maxy
160 MOVE centrex%,centrey%
170 MOVE centrex%+slicewidth,centrey%
180 IF filled% THEN filled%=205 ELSE filled%=197
190 PLOT filled%,centrex%+shearx,centrey%+maxy
200 ENDPROC