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