Previous: query Up: ../slides.html Next: axis-absolute-relative-


ARC

    <<ANGLE degrees> <CENTER x y z> <FROM x y z> <TO x y z>
    <NORMAL dx dy dz> <RADIUS r> <TITLE "text">>

 Default: ARC ABSOLUTE CENTER 0 0 0  FROM 1 0 0  TO 0 1 0  ANGLE 90 -
              NORMAL 0 0 1  RADIUS 1  TITLE ''

 Draw an optionally-labelled 3-D circular arc.  The center of the arc is
 given by the CENTER subcommand.  The arc lies in a plane containing the
 FROM and TO  vectors and perpendicular  to the NORMAL  vector.

 Coordinates may be either ABSOLUTE,  or RELATIVE to the current  point,
 as determined  by  the  first  subcommand.   Relative  coordinates  are
 particularly useful for defining position-independent arcs.  In  either
 case, the current point on successful command completion is at the  end
 of the arc, where it intersects the TO vector.

 The radius may be explicitly  specified with the RADIUS subcommand,  or
 implicitly determined by the distance between the CENTER point and  the
 FROM  point.   If  the  radius  is  explicitly  given,  then  the  FROM
 subcommand only specifies the direction of a radial vector intersecting
 the arc.

 The angle  of rotation  about the  NORMAL vector  may be  specified  by
 explicitly by the ANGLE subcommand, or implicitly by the angle  between
 the vectors connecting the  FROM and TO points  with the CENTER  point.
 In either case, a positive angle is counterclockwise about the rotation
 axis when looking down  the positive axis to  the center point.  If  an
 arc angle of 180 degrees or more is required, then the ANGLE subcommand
 must be given, since the smaller  angle between the FROM and TO  radial
 vectors will otherwise be chosen.

 If the TITLE subcommand defines a string of 1 or more characters,  they
 will be  drawn  centered along  the  arc  using the  current  font  and
 character height.  The height will temporarily be reduced if the string
 is longer than 80 percent  of the arc length in  order to make it  fit.
 Since the character boxes  are centered along this  line, if more  than
 one character is  drawn along  a small arc,  the boxes  can overlap  at
 their bases.   This can  be avoided  by increasing  the  intercharacter
 spacing with the CHARACTER SPACE command.

 The three vectors  FROM, TO,  and NORMAL overdetermine  the arc,  since
 only two are  needed to define  the arc plane.   They are provided  for
 convenience.  If all three are given, two of them are used to determine
 the other one, according to the following simple rule.  With the vector
 definitions

 F = FROM - CENTER;     T = TO - CENTER;     N = NORMAL - CENTER;

 the vector cross-product relations are:

 N = F x T     F = T x N     T = N x F

 When a FROM, TO, or  NORMAL subcommand is processed, the  cross-product
 rule referencing that point in the first position is used if the second
 vector is already defined; otherwise the cross-product rule referencing
 the point in  the second position  is used.  For  example, suppose  the
 command contains "ARC FROM 0 1 0 NORMAL 0 0 1 ...".  When FROM has been
 encountered, neither N nor F  can be determined.  However, once  NORMAL
 has been  parsed, T  can  be determined  from  N x  F,  and TO  can  be
 automatically set to CENTER + T.