## functions in rays.i - p

picture_rays
```
picture_rays(xpict, ypict, ray)
or picture_rays(xpict, ypict, ray, theta_up, phi_up)

returns 2-D array of rays, one at the center of each zone (which
represents a pixel here) of the mesh (XPICT, YPICT).  The rays are
all parallel to the given RAY (a 3, 5, or 6 element vector).  The
(XPICT, YPICT) coordinates are in the plane perpendicular to the rays,
with the origin XPICT=YPICT=0 at the given RAY.
If (THETA_UP, PHI_UP) are given, the +YPICT-axis will lie along the
projection of the (THETA_UP, PHI_UP) direction into the (XPICT, YPICT)
plane.  The default (THETA_UP, PHI_UP) is (pi/2, pi/2) -- the +y-axis
-- unless (THETA, PHI) is the y-axis, in which case it is (pi/2, 0)
-- the +x-axis.  This matches the DIRT/TDG ray coordinate convention
in the sense that if RAY is [0,0,theta], then
(zncen(XPICT),zncen(YPICT)) are the DIRT/TDG (x,y) coordinates for
the rays.
If XPICT and YPICT are imax-by-jmax, the returned array will have
dimensions 5-by-(imax-1)-by-(jmax-1).  That is, "best" coordinates
are returned.  The (x,y,z) of all of the returned rays will lie in
the plane perpendicular to the ray passing through the given central
RAY.
Interpreted function, defined at i/rays.i   line 265

```

plray
```
plray, ray

where RAY is a vector of length 5 representing [x, y, z, theta, phi]
-- a point (x,y,z) on the ray, and the ray direction (theta,phi)
relative to the z-axis.  The ray hyperbola is plotted with the
z-axis horizontal.  The portion of the ray plotted is determined
by the plray_lims command, which must be issued prior to the first
plray.
The 3 and 6 component ray formats are also accepted.
Interpreted function, defined at i/rays.i   line 340

```

plray_lims
```
plray_lims, zmin, zmax, rmax

sets the (z,r) coordinate limits for the plray command.  Subsequent
rays will be clipped to the region from z=ZMIN to z=ZMAX, and from
r=0 to r=RMAX.
Interpreted function, defined at i/rays.i   line 475

```