_TITLE "3 Dogs Rebuses" 'b+ 2020-08-28 ' who will get the 3rd one? ha, ha, ha
Ellipse 400, 210, 150 + .5 * r, 50 + r, &HFFFFFFFF
fcirc 650, 120, 60, &HFFFFFFFF
fcirc 600, 120, 60, &HFF000000
' CX = center x coordinate
' CY = center y coordinate
' xRadius = x axis radius
' yRadius = y axis radius
' C = fill color
DIM a
, x
, y
, sq
, delta
, lastDelta
LINE (CX
, CY
+ yRadius
)-(CX
, CY
- yRadius
), C
LINE (CX
+ xRadius
, CY
)-(CX
- xRadius
, CY
), C
a = yRadius / xRadius: sq = xRadius * xRadius
lastDelta
= SQR(sq
- x
* x
) * a
delta
= SQR(sq
- x
* x
) * a
LINE (CX
+ (x
- 1), CY
+ lastDelta
)-(CX
+ x
, CY
+ delta
), C
LINE (CX
+ (x
- 1), CY
- lastDelta
)-(CX
+ x
, CY
- delta
), C
LINE (CX
- (x
- 1), CY
+ lastDelta
)-(CX
- x
, CY
+ delta
), C
LINE (CX
- (x
- 1), CY
- lastDelta
)-(CX
- x
, CY
- delta
), C
lastDelta = delta
a = xRadius / yRadius: sq = yRadius * yRadius
lastDelta
= SQR(sq
- y
* y
) * a
delta
= SQR(sq
- y
* y
) * a
LINE (CX
+ lastDelta
, CY
+ (y
- 1))-(CX
+ delta
, CY
+ y
), C
LINE (CX
- lastDelta
, CY
+ (y
- 1))-(CX
- delta
, CY
+ y
), C
LINE (CX
+ lastDelta
, CY
- (y
- 1))-(CX
+ delta
, CY
- y
), C
LINE (CX
- lastDelta
, CY
- (y
- 1))-(CX
- delta
, CY
- y
), C
lastDelta = delta
Radius
= ABS(R
): RadiusError
= -Radius: X
= Radius: Y
= 0 LINE (CX
- X
, CY
)-(CX
+ X
, CY
), C
, BF
RadiusError = RadiusError + Y * 2 + 1
LINE (CX
- Y
, CY
- X
)-(CX
+ Y
, CY
- X
), C
, BF
LINE (CX
- Y
, CY
+ X
)-(CX
+ Y
, CY
+ X
), C
, BF
X = X - 1
RadiusError = RadiusError - X * 2
Y = Y + 1
LINE (CX
- X
, CY
- Y
)-(CX
+ X
, CY
- Y
), C
, BF
LINE (CX
- X
, CY
+ Y
)-(CX
+ X
, CY
+ Y
), C
, BF