Figure 2 Drawing Text at an Angle with GraphX

void angle_text(title, use_angle, x_val, y_val);
char *title;
double use_angle, x_val, y_val;
{
   double rot[16], tr[16], v[4];

   v[0] = 0.0;  /*  x-axis */
   v[1] = 0.0;  /*  y-axis */
   v[2] = 1.0;  /*  z-axis */
   /*  Create rotation matrix */
   DROTATE(rot, v, use_angle);
   DAPPLY(rot);
   /*  Create translation matrix */
   DTRANSLATE(tr, x_val, y_val, 0.0);
   DRCOMPOSE(tr);
   DMOVE(0.0, 0.0);
   DTEXT(title, -1, 0.0);
}