Introduction The standard Mathematica function ParametricPlot3D requires the parameter domain to be a rectangle. Suggestions for handling nonrectangular domains usually involve triangulation of the domain and a version of the function TriangularSurfacePlot from the ComputationalGeometry package (see [1] and [5]). The package SurfaceClip.m takes a different approach. A rectangle containing the parameter domain is first paved with a set of rectangles, which are then clipped to the shape of the domain. The parametrization functions are then applied to the vertices of the clipped polygons. As an example, Figure 1 shows a portion of a complicated surface called the bisectrix of the tetrahedron (see [2], [3], [4]). The three pieces of the figure are congruent to the piece of surface shown in Figure 2. Figure 1. Three surface patches. Figure 2. A single patch. The single patch has a reasonably simple parametrization (, , ), but to plot the edges correctly the parameters must be restricted to the portion of the unit square in the Figure 3. Paving a rectangle. Figure 4. Clipped paving. The package SurfaceClip.m contains the function ClippedParametricPlot3D that automates this procedure. The function takes four arguments and the syntax is that of the built-in function ParametricPlot3D with an extra argument added. The first three arguments of the two functions are the same, defining the parametrization functions and a rectangle in the parameter plane. The last argument is a list of clipping functions that are applied in succession. Copyright © 2002 Wolfram Media, Inc. All rights reserved. |