## Tilted Ellipse

### Tilted Ellipse

Stephen Johnson of Sun Microsystems, California asks:
\$ Maybe someone has a better technique for generating that skewed
\$ ellipse at the quickest speed possible.

Here are two related methods. The first method is best if the maximum
speed at given (imperfect) accuracy is required. It is faster than
the second method which gives the maximum speed at perfect accuracy.
By the way, I can't think of any algorithm that works more than twenty
per cent faster for non-tilted ellipses than tilted ones.

Lets suppose that the tilted ellipse is specified by the
major axis, minor axis, x at centre, y at centre and slope.
Call these values MAJOR, MINOR, Xcentre, Ycentre, SLOPE.

The tilted ellipse has points with coordinates:

where:
a = .5 * MAJOR * cos(SLOPE)
b = -.5 * MINOR * sin(SLOPE)
c = .5 * MAJOR * sin(SLOPE)
d = .5 * MINOR * cos(SLOPE)

where:
A = sqrt(a*a+b*b)
B = sqrt(c*c+d*d)
ANGLE = arcsin(c/B)-arcsin(a/A)

The values A, B and ANGLE are calculated once for each ellipse.

-----

METHOD 1

Find Xcentre, Ycentre, A, B, and ANGLE once for each ellipse.

Join new values of X and Y to old values of X and Y with a straight line.

of the resulting ellipse.

-----

METHOD 2

Find Xcentre, Ycentre, 1/A, B, and ANGLE once for each ellipse.

Increment X and find Y from

Join new value of Y to old value of Y with a vertical line.

Here X is incremented one pixel at a time. Don't forget that
arcsin has two values; one for the top half of the ellipse and
one for the bottom half.

-----

David Paterson,

CSIRO Division of B,C & E,
PO Box 56 Highett, Victoria. 3190.

Does anyone know where I might findcode to
create a rasterized tilted ellipse ?  I'm looking for
something along the lines of a Bresenham's line/cirle
algorithm. Ellipse algorithms are easy to find but I
can't seem to find one for a _tilted_ ellipse.
Help !
Thanx,
Chris