## functions in pl3d.i - g

get3_centroid

get3_centroid(xyz, nxyz) or get3_centroid(xyz) return 3D centroids for polygons with vertices XYZ. If NXYZ is specified, XYZ should be 3-by-sum(nxyz), with NXYZ being the list of numbers of vertices for each polygon (as for the plfp function). If NXYZ is not specified, XYZ should be a quadrilateral mesh, 3-by-ni-by-nj (as for the plf function). In the first case, the return value is 3-by-numberof(NXYZ); in the second case, the return value is 3-by-(ni-1)-by-(nj-1). The centroids are constructed as the mean value of all vertices of each polygon. Interpreted function, defined at i/pl3d.i line 480SEE ALSO: get3_normal, get3_light

get3_light

get3_light(xyz, nxyz) or get3_light(xyz) return 3D lighting for polygons with vertices XYZ. If NXYZ is specified, XYZ should be 3-by-sum(nxyz), with NXYZ being the list of numbers of vertices for each polygon (as for the plfp function). If NXYZ is not specified, XYZ should be a quadrilateral mesh, 3-by-ni-by-nj (as for the plf function). In the first case, the return value is numberof(NXYZ); in the second case, the return value is (ni-1)-by-(nj-1). The parameters of the lighting calculation are set by the light3 function. Interpreted function, defined at i/pl3d.i line 363SEE ALSO: light3, set3_object, get3_normal, get3_centroid

get3_normal

get3_normal(xyz, nxyz) or get3_normal(xyz) return 3D normals for polygons with vertices XYZ. If NXYZ is specified, XYZ should be 3-by-sum(nxyz), with NXYZ being the list of numbers of vertices for each polygon (as for the plfp function). If NXYZ is not specified, XYZ should be a quadrilateral mesh, 3-by-ni-by-nj (as for the plf function). In the first case, the return value is 3-by-numberof(NXYZ); in the second case, the return value is 3-by-(ni-1)-by-(nj-1). The normals are constructed from the cross product of the lines joining the midpoints of two edges which as nearly quarter the polygon as possible (the medians for a quadrilateral). No check is made that these not be parallel; the returned "normal" is [0,0,0] in that case. Also, if the polygon vertices are not coplanar, the "normal" has no precisely definable meaning. Interpreted function, defined at i/pl3d.i line 421SEE ALSO: get3_centroid, get3_light

get3_xy

get3_xy, xyz, x, y or get3_xy, xyz, x, y, z, 1 Given 3-by-anything coordinates XYZ, return X and Y in viewer's coordinate system (set by rot3, mov3, orient3, etc.). If the fifth argument is present and non-zero, also return Z (for use in sort3d or get3_light, for example). If the camera position has been set to a finite distance with setz3, the returned coordinates will be tangents of angles for a perspective drawing (and Z will be scaled by 1/zc). Interpreted function, defined at i/pl3d.i line 520SEE ALSO: sort3d, get3_light, rot3, setz3, set3_object

gnomon

gnomon or gnomon, onoff Toggle the gnomon display. If ONOFF is non-nil and non-zero, turn on the gnomon. If ONOFF is zero, turn off the gnomon. The gnomon shows the X, Y, and Z axis directions in the object coordinate system. The directions are labeled. The gnomon is always infinitely far behind the object (away from the camera). There is a mirror-through-the-screen-plane ambiguity in the display which is resolved in two ways: (1) The (X,Y,Z) coordinate system is right-handed, and (2) If the tip of an axis projects into the screen, it's label is drawn in opposite polarity to the other text on the screen. Interpreted function, defined at i/pl3d.i line 734