For example, consider the following code fragment which rotates an
arc about the X-axis and places the arc center at vec = {3.0, -2.0,
1.5} with respect to the origin of the absolute coordinate system.
#include <uf.h>
#include <uf_curve.h>
#include <uf_csys.h>
#include <uf_defs.h>
#include <uf_mtx.h>
. . .
  tag_t  arc_tag45;
  UF_CURVE_arc_t  arc_coord45;
  double mat45[9];
 /* Use X-axis for rotation. */
  double rot_axis[3] = {1.0,0.0,0.0};
 /* Use 45 degrees as rotation angle */
  double angle45 = 45 * DEGRA;
/* Center of arc with respect to (0,0,0) of Absolute CSYS. */
  double vec[3] = {3.0,-2.0,1.5};
/* Create 45 degree orientation matrix. */
  UF_MTX3_rotate_about_axis(rot_axis,angle45,mat45);
/* Obtain mapped coordinates. */
  UF_MTX3_vec_multiply(vec,mat45,arc_coord45.arc_center);
/* Fill out the data structure for the arc */
  UF_CSYS_create_matrix(mat45,&arc_coord45.matrix_tag);
  arc_coord45.start_angle = 0.0;
  arc_coord45.end_angle = 360.0 * DEGRA;
  arc_coord45.radius = 2.0;/* Create the arc. */
UF_CURVE_create_arc(&arc_coord45,&arc_tag45);
..