_TITLE "Ellipse No Fill" 'b+ 2020-04-11 CONST xmax
= 700, ymax
= 700 DIM cx
, cy
, a
, xRad
, yRad
, p
, c~&
, mx
, my
, dist
, d
cx = xmax / 2: cy = ymax / 2
xRad = 10: yRad = 300: c~& = &HFF0000FF
dist = ((mx - cx) ^ 2 + (my - cy) ^ 2) ^ .5
p = 1 - d / dist
Ellipse cx
+ d
* COS(a
), cy
+ d
* SIN(a
), p
* xRad
, p
* yRad
, c~&
'Ellipse cx + d * COS(a), cy + d * SIN(a), p * yRad, p * xRad, &HFFFF0000
'there is a better way so there is no guessing the stepper size
' 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
PSET (CX
+ x
, CY
+ lastDelta
), C
PSET (CX
+ x
, CY
- lastDelta
), C
PSET (CX
- x
, CY
+ lastDelta
), C
PSET (CX
- x
, CY
- lastDelta
), C
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
PSET (CX
+ lastDelta
, CY
+ y
), C
PSET (CX
- lastDelta
, CY
+ y
), C
PSET (CX
+ lastDelta
, CY
- y
), C
PSET (CX
- lastDelta
, CY
- y
), C
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