VARKON Version 1.17 1999-10-29

### Basic curve types

VARKON uses two different representation schemes for curves. The first is the rational cubic parametric multisegment. This representation is used for splines and conics and 3D circular arcs. A spline is created using positions and optional tangents in the following way....

cur_spline(id, type, pos_1, tan_1, pos_2, tan_2......pos_n, tan_n);

There is no upper limit for the number of points but a minimum of two is always needed. Where no tangents are given VARKON calculates (splines) tangents automatically using the algorithm specified by the type parameter. You can choose between Ferguson, Chordlength and Variable Stiffness. End tangents if not specified are calculated using the free end constraint (curvature = 0).

A multi segment conic is created using positions, tangents and intermediate points or P-values (I/P)...

cur_conic(id,"FREE",pos_1,tan_1,I/P_1,pos_2,tan_2,I/P_2........pos_n,tan_n);

A cur_conic becomes a true planar quadric if possible otherwise a general twisted cubic rational. For those who wish to define cubic rationals using other methods or to import them from other systems there is also a low level routine cur_usrdef where you set all coefficients yourself.

For curves on surfaces VARKON uses a representation based on multi segmented cubic rationals in the UV-plane of the surface. An intersect between two surfaces for example.....

cur_int(id,surface_id_1,surface_id_2);

creates a UV-curve. Other methods are cur_iso for curves of constant U or V and cur_sil for silhouette curves. The UV-representation is computationally much heavier than the cubic rational but necessary to achieve accuracy enough for complex modeling.

The final representation is the analytical offset which is actually an extension of the two schemes described above. Any plane curve, cubic rational, UV-curve or offset-curve can be used to create a new curve on a constant offset using....

cur_offs(id,other_curve,offset);

VARKON treats offset curves as true analytical offsets to the original curves by first evaluating the original curve and then adding the desired offset. If the original curve is a UV-curve this is a very heavy computation but the only way to act if you want highest possible accuracy.

If you want to change an offset curve or a UV-curve into an ordinary cubic you can do this using cur_approx. You will then have to supply a maximum value for the error of approximation that you can tolerate.

VARKON Homepage | Index