to ellipsedraw :a :b :angle :steps :speed
local [x y beta sinbeta cosbeta alpha sinalpha cosalpha lx ly]
setpensize 1
make "beta -:angle
make "sinbeta sin :beta
make "cosbeta cos :beta
make "x 0
make "y 0
for [i 1 360 360/:steps] [
make "alpha :i
make "sinalpha sin :alpha
make "cosalpha cos :alpha
make "lx :x + (:a * :cosalpha * :cosbeta) - (:b * :sinalpha * :sinbeta)
make "ly :y + (:a * :cosalpha * :sinbeta) + (:b * :sinalpha * :cosbeta)
if :i = 1 [penup]
setxy :lx :ly
if :i = 1 [pendown]
setpixel 0 0 0
wait :speed
]
end