typedef struct UF_CURVE_conic_s {
tag_t matrix_tag;
int conic_type;
double rotation_angle;
double start_param;
double end_param;
double center[3];
double k1;
double k2;
} UF_CURVE_conic_t, *UF_CURVE_conic_p_t;

 Parameter Description matrix_tag tag of matrix defining orientation conic_type subtype of the conic section rotation_angle angle conic is rotated away from standard position in defini tion space start_param starting parameter value end_param ending parameter value center[3] center of conic in orientation space k1 shape parameter 1 k2 shape parameter 2
The matrix defines the orientation of the plane in which the conic lies, in the same manner as the matrix for an arc. There are also the "natural" axes of the conic arc, which we call U and V (corresponding to X and Y of the conic itself in standard position). The X axis of the matrix determines the orientation of angle zero for the rotation of the whole conic; rotation_angle is applied about the conic center. Zero for the start and end parameters (angles) is defined as the U axis. The center_pt determines the location of the conic in orientation space. The k1 and k2 members are the shape parameters.

The ellipse is counterclockwise when viewed in the direction opposite the Z axis of the matrix. The parameters meet the same requirements as for an arc. The major axis lies on the U axis, and the minor axis lies on the V axis. Conic_type is UF_conic_ellipse_subtype. k1 is the semimajor axis, and k2 is the semiminor axis. The points P on the ellipse are generated as follows:

The U axis is the direction of the centerline of a parabola, which opens out along that direction. The start and end parameters may be any real numbers as long as start_param is less than end_param. Conic_type is UF_conic_parabola_subtype. The points P on the parabola are generated as follows:

t is any real number

The U axis of the matrix is the direction of the centerline of a hyperbola, which opens out along that direction. Note that the hyperbola is numerically unstable at values close to the endpoints of its interval. Conic_type is UF_conic_hyperbola_subtype. The points P on the hyperbola are generated as follows:

The points from the equations above are transformed as follows to put them in absolute space, which is what you will see in the part:

where

is the point in absolute space

is the matrix defining the orientation space

is the rotation matrix from the rotation angle of the conic

is the center point from the conic structure