None.
None related to this invention.
None.
The invention relates generally to the art of modeling surfaces and shapes of objects, and more particularly to computer implemented methods for designing shapes and representing shapes that fit given input. The invention can be applied to industries such as, but not limited to, internet advertising, animation, automotive, aerospace, geophysical, CAD/CAM, product design, and computer games.
In prior art, object shape is usually described or modified with a set of points or curves in space. Hoschek, Joseph and D. Lasser, Fundamentals of Computer Aided Geometric Design (1993) summarize many of these methods. One of the most common systems used to model and animate deformable objects is the B-spline computer modeling. In this method an array of points in space define a rectangular network of curves in space, which subsequently define a surface that passes smoothly through the curves. Movement of a point changes the shape of the curves in a region near the point, and this changes the shape of the surface near the point. This is the basic process by which a designer determines the shape of an object for such application areas as automobile styling, aerospace design, computer animation or product design. Other methods similar to the B-spline method include NURBS (Non-Uniform Rational B-Spline), Hermite, Bezier and Coons methods. In all these cases a rectangular network of curves is employed to define the surface shape. In all but the Coons method, a set of points is needed to define the curves. In the Coons method the curves may exist without prior point definition.
All of these methods may be thought of as deforming an elastic square to a malleable surface patch in the space of the object. These surface patches must be joined smoothly together at their margins in order to define an entire closed object. The need to maintain a rectangular network of curves and make them match at margins imposes a significant design obstacle in many instances for the designer. It is, for instance difficult to design a simple sphere with rectangular patches without some special handling at the poles, or overlapping some patches.
As also described in Hoschek, Joseph and D. Lasser, Fundamentals of Computer Aided Geometric Design (1993), a number of prior art methods interpolate points that are randomly positioned. These methods include the radial basis, thin plate spline, and Clough-Tocher methods. In these methods points are given randomly in space and a surface is defined to interpolate the points. Whereas, the previously described methods are devised to design objects, the aim of the latter methods is to reproduce an analytic function to represent the data that are acquired. One may, for example, want to deduce a surface from well log data in the oil exploration field. The wells are arbitrarily placed based on the best guesses of where oil may occur and also geographical convenience. The depth at which the wells intersect a different stratum can be connected with one interpolating surface, which is then usually close to the actual surface of the stratum and may help in more effective selection of future drilling sites. The state of the art methods are limited strictly to collections of point data and do not admit curves or other non-discrete objects as might occur where, for instance, continuous seismic data is mixed with well log data.
Another such exemplary conventional solution is called free form deformations (“FFDs”), see Thomas W. Sederberg et al., “Free-Form Deformation of Solid Geometric Models”, Dallas, vol. 20, No. 4, Aug. 1986, pp. 151-160.) Typically, FFDs are manipulated by editing of positions of control points in a uniform 3-D lattice imposed on a parallelepiped volume. While this technique yields some desirable mathematical properties, it can often be highly restrictive to a designer. For instance, with conventional FFDs, it is not practicable to create a deformation with a rotation effect centered around a single control point. To achieve such an effect with a conventional FFD, a higher resolution control lattice must typically be used; however, this too is undesirable as it complicates the deformation interface over the model.
One recent invention, which overcomes some of the problems described in the previous approaches, is described in Singh, Karan and E. Fiume, “Wires: A Geometric Deformation Technique,” Computer Graphics Proc., 1998, pp 405-414, and U.S. Pat. No. 6,204,860. A set of curves is input that may be in any configuration, not necessarily in a rectangular arrangement as most prior art. The curves do not even have to be attached. The curves may be deformed in space to design a rough shape with the curves. The set of curves is then blended by the prior art form known as Shepard's Method (see Hoschek). In this system the user inputs some curves in space that give a framework of curves defining the surface. The user may deform any of the curves, which subsequently deforms the surface and allows for design edit changes. The method of editing the curve depends on mapping the derivative at a point of the initial curve to a new position on the edited curve, and then fitting a new curve through the new position of the derivative. This method is insufficient because the computation is iterative and subject to singularities in computation. It cannot handle non-differentiable curves or single points, nor can it handle higher order derivative information.
This invention is a tool that overcomes the deficiencies of the previous methods by allowing the input of any point or parameterized curve in two or three dimensions in a freely designed configuration. The current invention overcomes deficiencies of previous methods in several ways. First, as the number of design curves increase the additional computation is increased linearly as opposed to most technology, which increases to the square of the number of design curves. Second, patch shape and number of points are arbitrary. Most current technology is highly constrained by connectivity, shape, and number of points. Third, the invention can display difficult, and previously impossible surfaces, such as non-differentiable surfaces like fractals. Fourth, the invention allows for the arbitrary movement of placed features. Currently, this cannot be done because of the inflexibility and instability of present technology. Fifth, the technology can mix points, lines, curves, surfaces, and hyper-surfaces without limitation. Sixth, there is no need for the features to be connected in any way, and they may overlap one another with no adverse effects. Seventh, current technology uses careful mapping to ensure that texture mapping boundaries match across patches. Since large surfaces can be described across multiple patches with the present invention, large texture maps can now be used, thereby addressing this problem. Eighth, currently animation is accomplished by carefully changing all motion in each frame; whereas, this invention is defined entirely by features and lines whereby all that needs to be moved for animation are the features and lines. Ninth, the surface can be manipulated not only by the features, but through changing functions so that the slopes, curves, surface normal, and derivatives can be controlled.
Therefore, this invention allows for far more flexible use in industries such as, but not limited to, Internet advertising, animation, automotive, aerospace, oil exploration, seismic activity, product design, and computer games.
The current invention is implemented on a computer graphics system.
Any mixture of points, curves, surfaces, or possibly hyper surfaces, depending on the dimension of the shape, may be used as inputs. The inputs do not need to be of any particular continuity order. A curve, for example, may be continuous but non-differentiable as shown in
This invention allows derivative information of any order, e.g., first, second, third, mixed partial derivatives etc., to be associated with each input of point, curve, surface and so forth. As an example, and without limiting the scope of the invention, partial derivatives may be input with a point in order to define a plane that passes through the point. Subsequently, the system will define a surface that passes through the point with a slope that agrees with the horizontal plane at the point. See
The facility to define derivative information at inputs, especially at curves and surfaces, allows the design of shapes to be segmented into so-called patches. The patches can be made to join, for example, at boundary curves, which are curves that are shared by two or more patches. The patches then also share associated derivative information. Hence, two surfaces as seen in
The present invention is applied to graphical objects that are designed, manipulated or deduced by interpolating a curve, surface or hyper surface through a plurality of input features that are independently given curves, surfaces or hyper surfaces with associated derivative information. In
Within the general description of the method as given in
In a simple example, the footprint is a point in a two-dimensional space and the feature is a point in three-dimensional space given by adding a height value to the footprint. The addition of the height value also defines the function between the two points.
As seen in Steps 10 and 11 (
d(u,S)=[(u1−u2)2+(v1−v2)2]1/2 (1)
or it could be any so-called lp norm
d(u,S)=[(u1−u2)p+(v1−v2)p]1/p (2)
where p is any positive real number; or it could be the max norm
d(u,S)=max(|u1−u2|,|u1−u2|) (3)
The next step, Step 12, is to compute a weighting function W (u, S) from the distance function d(u, S). The requirement of the weight function is that it grows to infinity as the distance function goes to zero, that is as the point u approaches the footprint. An obvious way to achieve this behavior is to define the weight function as the reciprocal of the distance function; thus W (u, S)=1/d(u, S). There are other ways to satisfy this constraint.
The last step, Step 13, in computing a point on the surface is to calculate the weighted least squares of the object points on the features, where the weighting functions are given as above as reciprocals to the distances.
Once calculated the value of the point on the object can be output in a number of graphical forms (Step 16). The user may for example choose (Step 9) to output the result as a polygonal mesh in which the evaluated points of the iterated loop containing Step 13 are vertices.
The behavior of F can be illustrated as follows (
As examples:
The invention includes not only the parameterized Shepard's method with said features as described previously, but it also includes, as new art, the cases when said features include derivative information, such as, but not restricted to slope, surface normal, and curvature information. Any feature fk(uk) for a given index, k, can be, for example, a Taylor expansion with any number of derivative terms as is well-known art in the field; thus fk(u)=g(uu)+c1dg(uk)(u−uk)+ . . . .
This forces the resulting surface to pass through the feature with matching derivatives at the feature. For example, a feature can comprise position and slope information and the surface passes through the feature with slope as specified. This is seen in an exemplary embodiment in
Allowing different surface pieces to be merged together along common boundaries, usually, but not always with common derivative information, further enhances the invention. Two separately defined surfaces may share common features and, thus, be merged along the feature. If the shared features have matching derivatives, then the merging will reflect that information. Hence, two surfaces may match in terms of position and slope, for example. Any number of separate surfaces may be joined along a number of common features in this invention. These may be used to build up a final graphical object. The procedure is called patching (see
The invention allows for the new use of current computer graphic texturing technology. The texture map can be applied to a specific patch or to the surface as a whole by applying the desired texture map in parameter space. By using the same functions that create the surface it is possible to accurately map the texture to object space.
An exemplary use of features is demonstrated in
Another exemplary use is that shown in
Allowing the features, footprints or functions or any combination to vary over time gives the invention great power and flexibility in animation. In