Jabka Advanced Modeling Reference
Donald H. House, June 28, 1996
This document provides a brief description of the Scheme procedures provided in Jabka to aid in the construction of polygonal surface primitives. It is assumed that the reader is already familiar with the material in Jabka Elementary Modeling Reference, Jabka Elementary Programming Reference, Jabka Graphics Programming Reference, and The Jabka Object System
Contents
- (sweep outline numsamples) The first argument must evaluate to a vertex-list and the second argument must evaluate to an integer number. Returns a swept PolySurface object, formed by rotating the outline a full 360 degrees about the y-axis to form a solid of rotation, and then forming a polygonal approximation to the surface of the solid by sampling numsamples times at equal angles around the its surface.
- (tile-faces face1 face2) The two arguments must evaluate to polygons with equal numbers of vertices. Returns a PolySurface object with quadrilateral faces, formed by producing a tiling between the two faces. The quadrilateral polygons in the tiling are constructed by simply connecting like numbered vertices in the two faces with edges.
- (extrude xform face) The first argument must evaluate to a transform and the second argument must evaluate to a polygon. Returns an extruded PolySurface object with quadrilateral faces, formed by making a copy of the polygon face, transforming it by the transform xform, reversing the order of the vertices in the second polygon, and then calling the procedure tile-faces to form the surface of the volume of space that would have been swept out by the original polygon, had it been subjected to the transform. The tiled surface, and the two original polygons are collected together to form a closed polygonal surface.
- (tri-tile-faces face1 face2) The two arguments must evaluate to polygons with equal numbers of vertices. Returns a PolySurface object with triangular faces, formed by producing a triangulated tiling between the two faces. The triangular polygons in the tiling are constructed by simply connecting like numbered vertices in the two faces with edges, and slicing the resulting four sided figures along a diagonal.
- (tri-extrude xform face) The first argument must evaluate to a transform and the second argument must evaluate to a polygon. Returns an extruded PolySurface object with triangular faces, formed by making a copy of the polygon face, transforming it by the transform xform, reversing the order of the vertices in the second polygon, and then calling the procedure tri-ile-faces to form the surface of the volume of space that would have been swept out by the original polygon, had it been subjected to the transform. The tiled surface, and the two original polygons are collected together to form a closed polygonal surface.
- (loft face-list) The argument must evaluate to a poly-list, whose polygons each have the same number of vertices. Returns a lofted PolySurface object formed by doing a triangulated tiling between adjacent polygons in the face-list, and then capping the resulting figure.
- (mirror-yz vertex-list) The argument must evaluate to a polygon. Returns a PolySurface object that contains both the original polygon and its mirror reflection in the y-z plane.
- (mirror-xy vertex-list) The argument must evaluate to a polygon. Returns a PolySurface object that contains both the original polygon and its mirror reflection in the x-y plane.
- (mirror-xz vertex-list) The argument must evaluate to a polygon. Returns a PolySurface object that contains both the original polygon and its mirror reflection in the x-z plane.