Home
Manual
Packages
Global Index
Keywords
Quick Reference
|
functions in slice3.i - p
pl3surf
|
pl3surf, nverts, xyzverts
or pl3surf, nverts, xyzverts, values
Perform simple 3D rendering of an object created by slice3
(possibly followed by slice2). NVERTS and XYZVERTS are polygon
lists as returned by slice3, so XYZVERTS is 3-by-sum(NVERTS),
where NVERTS is a list of the number of vertices in each polygon.
If present, the VALUES should have the same length as NVERTS;
they are used to color the polygon. If VALUES is not specified,
the 3D lighting calculation set up using the light3 function
will be carried out. Keywords cmin= and cmax= as for plf, pli,
or plfp are also accepted. (If you do not supply VALUES, you
probably want to use the ambient= keyword to light3 instead of
cmin= here, but cmax= may still be useful.)
interpreted function, defined at i/slice3.i line 1082
|
SEE ALSO:
|
pl3tree,
slice3,
slice2,
rot3,
light3
|
pl3tree
|
pl3tree, nverts, xyzverts
or pl3tree, nverts, xyzverts, values, plane
Add the polygon list specified by NVERTS (number of vertices in
each polygon) and XYZVERTS (3-by-sum(NVERTS) vertex coordinates)
to the currently displayed b-tree. If VALUES is specified, it
must have the same dimension as NVERTS, and represents the color
of each polygon. If VALUES is not specified, the polygons
are assumed to form an isosurface which will be shaded by the
current 3D lighting model; the isosurfaces are at the leaves of
the b-tree, sliced by all of the planes. If PLANE is specified,
the XYZVERTS must all lie in that plane, and that plane becomes
a new slicing plane in the b-tree.
Each leaf of the b-tree consists of a set of sliced isosurfaces.
A node of the b-tree consists of some polygons in one of the
planes, a b-tree or leaf entirely on one side of that plane, and
a b-tree or leaf on the other side. The first plane you add
becomes the root node, slicing any existing leaf in half. When
you add an isosurface, it propagates down the tree, getting
sliced at each node, until its pieces reach the existing leaves,
to which they are added. When you add a plane, it also propagates
down the tree, getting sliced at each node, until its pieces
reach the leaves, which it slices, becoming the nodes closest to
the leaves.
This structure is relatively easy to plot, since from any
viewpoint, a node can always be plotted in the order from one
side, then the plane, then the other side.
This routine assumes a "split palette"; the colors for the
VALUES will be scaled to fit from color 0 to color 99, while
the colors from the shading calculation will be scaled to fit
from color 100 to color 199. (If VALUES is specified as a char
array, however, it will be used without scaling.)
You may specifiy a cmin= or cmax= keyword to affect the
scaling; cmin is ignored if VALUES is not specified (use the
ambient= keyword from light3 for that case).
interpreted function, defined at i/slice3.i line 1145
|
SEE ALSO:
|
pl3surf,
slice3,
slice2,
rot3,
light3,
split_palette
|
plane3
|
plane3(normal, point)
or plane3([nx,ny,nz], [px,py,pz])
returns [nx,ny,nz,pp] for the specified plane.
interpreted function, defined at i/slice3.i line 49
|
SEE ALSO:
|
slice3,
mesh3
|
|