Browse Prior Art Database

Efficient Rotation and Rendering of Ellipses

IP.com Disclosure Number: IPCOM000036160D
Original Publication Date: 1989-Sep-01
Included in the Prior Art Database: 2005-Jan-28
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Baker, DC: AUTHOR [+2]

Abstract

One of the most challenging curves to render in the class of conic sections is the ellipse that is rotated at some arbitrary angle. This disclosure represents a summary of material presented in [1].

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Efficient Rotation and Rendering of Ellipses

One of the most challenging curves to render in the class of conic sections is the ellipse that is rotated at some arbitrary angle. This disclosure represents a summary of material presented in
[1].

It is possible to mathematically represent conic sections as rational, quadratic, Bezier curves. The technique of using rational curves was adapted from [2]. This referenced article contains the parametric equations for a circle. 1 contains a derivation of these parametric equations. Based on that derivation, a derivation for an orthogonally oriented ellipse is also shown in [1]. Orthogonally oriented means that the major and minor axes of the ellipse are orthogonal with respect to the X and Y axes of Cartesian Space.

Based on this derivation, the control points are derived in a manner similar to
[2]. The scaled forward difference equations to be used to render the curve are derived in [1]. Forward difference methods are not new, but they used floating point arithmetic. Scaling the forward difference equations into the integer domain means that the error term can be precisely controlled and integer arithmetic is inherently faster than floating point. Not counting the setup cost or the cost of looping, the next X and Y coordinate pair is calculated with ten integer additions, two single bit right shifts, and two integer divisions.

That the control point definitions will yield a mathematically correct ellipse is also shown in [1]. The Scaled Integer Forward Difference Method approximates the curve of the ellipse by computing discrete points along the curve and connecting them with straight line segments. A couple of tricks are used to make the rendering very efficient.

The equations for the control points are based on an orthogonal ellipse, but the goal is to render an ellipse that is...