| |||||||
|
Introduction Pasting UI Animated Surface Pasting Cylindrical Surface Pasting Quasi- Interpolated Surface Pasting The Direct Manipulation of Pasted Surfaces Papers Talks Images People |
What is surface pasting?Surface pasting is a technique developed by Bartels and Forsey for adding local detail to surfaces. The procedure works by attaching a tensor product surface, called a feature, to a second tensor product surface, called a base. Once a feature is pasted, the feature reflects both its original shape and the topography of the underlying surface, which remains unchanged. This composite surface can be used as a base for further pasting operations. See the Surface Pasting page for more details. My goalPrevious surface pasting editors enabled users to paste, translate, rotate, and resize feature surfaces, but none allowed users to directly manipulate a surface in the pasting hierarchy. My goal is to provide a multiresolution direct manipulation technique that allows the user to pick a point on a surface and move it to a new location and have the shape of the surface change appropriately. My method provides a more flexible modelling paradigm for pasted surfaces by allowing the user to pick both the new location of the selected point and the granularity of the change that is applied to the composite surface. Continuity issues of pasted surfacesThe position of a pasted control point depends on the shape of the base surface and the offset of the unpasted control point from its Greville point, the displacement vector. To ensure that the boundary of the feature lies near the base surface, the first layer of the feature's control points are placed at their Greville points so they have zero displacement vectors. After pasting, these feature control points will lie on the base surface, and the boundary of the feature will lie near the base. By placing a second layer of the feature's control points at their Greville points, an approximate C1 join between the feature and the base is achieved. Direct manipulation of pasted surfacesMy method for the direct manipulation of pasted surfaces is a variation of a technique developed by Bartels and Beatty for the direct manipulation of spline curves. Their method found a set of control points that had maximal influence over the picked point. The amount that each control point moved was proportional to its influence over the picked point. I extended and altered their method so that it can be applied to tensor product surfaces. The basic technique for directly manipulating tensor product surfaces carries over to pasted surfaces with only minor modifications. The first step is to update the control points of the surface being modified using the above method. Then the displacement vector for each control point is updated. In general, acceptable results can be obtained by selecting a point in the pasting hierarchy and using this direct manipulation technique to move the selected surface's control points. However, simply using this basic technique on the component surfaces in a pasting hierarchy sometimes results in the following problem. If the boundary control points of a surface are modified, then the desired approximate continuity properties may be lost, i.e., the composite surface may stop looking smooth or the surface may detach from its underlying base. Thus the boundary and cross boundary derivatives of the manipulated surface must be fixed by ensuring that the two outermost rings of the surface's control points do not move.
If the user attempts to move a surface point whose most influential
block of control points intersects the two outermost rings of control
points, I have two alternatives. I can disallow the direct
manipulation, or find the closest block that does not overlap
the two outermost rings. In the latter case, the control points that
would change have less influence on the selected surface point, and
thus they must be displaced farther to move the picked surface point
to its new location. This can cause unsightly distortions in the area
of the surface over which these alternative control points have a
higher influence. These distortions would likely confuse the user
since the maximal change in the surface would not occur at the picked
point. An example of such a distortion can be seen in the following
screenshot. I chose to disallow direct manipulation of a pasted surface
when the most influential block of control points intersects the two
outermost rings of the surface's control points.
Hierarchical direct manipulation of pasted surfacesI have just described how to apply direct manipulation at a single resolution level in the pasting hierarchy, the surface at which the selected point lies. I would like to extend this method so that the user can manipulate a surface point at any resolution in the pasting hierarchy, not just at the resolution of the surface on which it lies. A method must be found to update the control points of the surface at the desired resolution level based on the motion of the picked point. One idea is to explicitly represent the picked point's position in terms of the surface's control points at the desired resolution level, and solve a system of equations to find the new position of the surface's control points. However, the pasting equations are non-linear, so this method would be very difficult and computationally intensive. As an alternative, I chose to modify the control points of multiple surfaces in the hierarchy. While this method is not truly hierarchical, it applies most of the change to a single surface, with other surfaces receiving only minor updates. The idea is to push the work down the pasting hierarchy, make a large change at the desired level, and then ascend the hierarchy making small adjustments as needed. Using this method, the user can select any point on the surface, and directly manipulate the surface, with modifications occurring at or below the level in the hierarchy on which the selected point lies. However, if the user selects a point near the boundary of the top level surface, then the user is not able to edit at the level of the selected surface, and is only allowed to edit at lower levels in the hierarchy. This restriction prevents the type of distortions discussed earlier. Example of hierarchical direct manipulationThe following screenshots illustrate a sequence of events that occurs when performing hierarchical direct manipulation on the yellow surface in (a). The dark blue surface(s) in (b)-(d) are affected in each stage of the manipulation. In each case, the bottommost blue surface undergoes the greatest change, while the other blue surfaces only have correction factors applied to them. The more surfaces that are coloured dark blue, the broader the change in the composite surface. In (b), only the topmost surface is affected and the selected point was moved to the right and down. In (c), two surfaces are affected and the selected point was moved up and to the right. Three surfaces are affected and the selected point is moved to the right and up in (d). The result of the manipulation is shown in (e).
Additional ResourcesAdditional information on the direct manipulation of pasted surfaces can be found in the following paper:
| ||||||