Computational geometry using control geometry having at least two dimensions
First Claim
1. A method for modifying data representing a geometric object, comprising:
- displaying, by a computational machine, a first geometric object having a parameterization, wherein the first geometric object has a dimension greater than or equal to two in an object space coordinate system, and wherein the first geometric object has an at least a two dimensional area as a pre-image in a parametric space for the parameterization;
wherein for each of the one or more additional geometric objects, respective data therefor is effective for defining a curve where the additional geometric object meets the first geometric object in the object space coordinate system;
wherein, for least one of the one or more curves, corresponding marker data is available, the corresponding marker data representing one or more marker points on the at least one curve such that for each of the one or more marker points, there is at least one corresponding marker related extent of one of the additional geometric objects that is used in defining the at least one curve;
receiving, by the computational machine, and for the at least one curve, a selection by a user of at least one of the marker points, or the at least one corresponding marker related extent, for the at least one marker point;
iteratively performing, by the computational machine, the following steps (A1) through (A4) so that the user is presented with a substantially real time deformation of the first geometric object during a continuous time series of user inputs, wherein each of the user inputs is indicative of a corresponding change to one of;
a location for the at least one marker point, or a geometric property of the at least one corresponding marker related extent for the at least one marker point;
(A1) receiving a next one of the user inputs;
(A2) deriving, using the next one of the user inputs received, data representing a modified version, of the additional geometric object for defining the at least one curve,wherein the modified version is dependent upon the at least one marker point after the change, and, for the ibe additional geometric object, when;
(i) another of the marker points of the at least one curve, and(ii) the corresponding marker related extent in the one additional geometric object, and for the another marker point, are each not selected by the user for contributing to the real time deformation than at least one of the another marker points, and the corresponding extent for the another marker point remains unchanged and is also included in the modified version;
(A3) subsequently, determining data representing a modified instance of the first geometric object, using data representing a modified collection of the one or more additional geometric objects, wherein the modified version MV of the one additional geometric object is provided in the modified collection, and data for the modified version is used in determining the modified instance,wherein for each pre-image point of a plurality of points of the two dimensional area pre-image, a corresponding substep of combining terms is performed, wherein for each object of the modified collection, one of the terms is determined by computing a product of a weighting, and data representing a particular point of the object, wherein the particular point has the pre-image point as a pre-image, andwherein for each of the pre-image points, the weightings, used in determining the terms for the corresponding substep of combining, satisfy a predetermined constraint; and
(A4) displaying the modified instance of the first geometric object to a user.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for computer aided design (CAD) is disclosed for designing geometric objects. The present invention interpolates and/or blends between such geometric objects sufficiently fast so that real time deformation of such objects occurs while deformation data is being input. Thus, a user designing with the present invention obtains immediate feedback to input modifications without separately entering a command for performing such deformations. The present invention utilizes novel computational techniques for blending between geometric objects, wherein weighted sums of points on the geometric objects are used in deriving a new blended geometric object. The present invention is particularly useful for designing the shape of surfaces. Thus, the present invention is applicable to various design domains such as the design of, e.g., bottles, vehicles, and watercraft. Additionally, the present invention provides for efficient animation via repeatedly modifying surfaces of an animated object such as a representation of a face.
-
Citations
43 Claims
-
1. A method for modifying data representing a geometric object, comprising:
-
displaying, by a computational machine, a first geometric object having a parameterization, wherein the first geometric object has a dimension greater than or equal to two in an object space coordinate system, and wherein the first geometric object has an at least a two dimensional area as a pre-image in a parametric space for the parameterization; wherein for each of the one or more additional geometric objects, respective data therefor is effective for defining a curve where the additional geometric object meets the first geometric object in the object space coordinate system; wherein, for least one of the one or more curves, corresponding marker data is available, the corresponding marker data representing one or more marker points on the at least one curve such that for each of the one or more marker points, there is at least one corresponding marker related extent of one of the additional geometric objects that is used in defining the at least one curve; receiving, by the computational machine, and for the at least one curve, a selection by a user of at least one of the marker points, or the at least one corresponding marker related extent, for the at least one marker point; iteratively performing, by the computational machine, the following steps (A1) through (A4) so that the user is presented with a substantially real time deformation of the first geometric object during a continuous time series of user inputs, wherein each of the user inputs is indicative of a corresponding change to one of;
a location for the at least one marker point, or a geometric property of the at least one corresponding marker related extent for the at least one marker point;(A1) receiving a next one of the user inputs; (A2) deriving, using the next one of the user inputs received, data representing a modified version, of the additional geometric object for defining the at least one curve, wherein the modified version is dependent upon the at least one marker point after the change, and, for the ibe additional geometric object, when; (i) another of the marker points of the at least one curve, and (ii) the corresponding marker related extent in the one additional geometric object, and for the another marker point, are each not selected by the user for contributing to the real time deformation than at least one of the another marker points, and the corresponding extent for the another marker point remains unchanged and is also included in the modified version; (A3) subsequently, determining data representing a modified instance of the first geometric object, using data representing a modified collection of the one or more additional geometric objects, wherein the modified version MV of the one additional geometric object is provided in the modified collection, and data for the modified version is used in determining the modified instance, wherein for each pre-image point of a plurality of points of the two dimensional area pre-image, a corresponding substep of combining terms is performed, wherein for each object of the modified collection, one of the terms is determined by computing a product of a weighting, and data representing a particular point of the object, wherein the particular point has the pre-image point as a pre-image, and wherein for each of the pre-image points, the weightings, used in determining the terms for the corresponding substep of combining, satisfy a predetermined constraint; and (A4) displaying the modified instance of the first geometric object to a user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A system for modifying data representing a geometric object, comprising:
-
a user interface of a computational machine, for displaying a first geometric object having a parameterization, wherein the first geometric object has a dimension greater than or equal to two in an object space coordinate system, and wherein the first geometric object has an at least a two dimensional area as a pre-image in a parametric space for the parameterization; wherein for each of one or more additional geometric objects, respective data therefor is effective for providing a boundary where the additional geometric object meets the first geometric object in the object space coordinate system; wherein, for at least one of the one or more boundaries of the above identified boundaries, corresponding marker data is accessible by the computational machine, the corresponding marker data representing at least two marker points on the at least one boundary such that for each of the at least two marker points, there is at least one corresponding marker related extent of the additional geometric object that is used in providing the at least one boundary; wherein the user interface receives a selection by a user of at least one of the marker points or the at least one corresponding marker related extent for the at least one marker point; wherein the computational machine iteratively performs the following steps (A1) through (A4) so that the user is presented with a substantially real time deformation of the first geometric object during a continuous time series of user inputs to the user interface, wherein each of the user inputs provides a corresponding change to one of;
a location for the at least one marker point, or a geometric property of the at least one corresponding marker related extent for the at least one marker point;(A1) receiving a next one of the user inputs at the user interface; (A2) deriving, using the next one of the user inputs received, data representing a modified version of at least one of the additional geometric objects, wherein the at least one additional geometric object includes the at least one marker point as one of the marker points therefor, wherein the modified version includes the at least one marker point after the change, and, for the at least one additional geometric object, when; (i) another of the marker points of the at least one additional geometric object, and (ii) the corresponding marker related extent of the at least one additional geometric object, and for the another marker points, are each not selected by the user for a contributing to the real time deformation, then at least one of the another marker point, and the corresponding marker related extent for the another marker point remains unchanged and is also included in the modified version; (A3) subsequently, determining data representing a modified instance of the first geometric object, using data representing a modified collection of the one or more additional geometric objects, wherein the modified version of the at least one additional geometric object is provided in the modified collection, and data for the modified version is used in determining the modified instance, wherein for each pre-image point of a plurality of points of the two dimensional area pre-image, a corresponding substep of combining terms is performed, wherein for each object, of the modified collection, one of the terms is determined by computing a multiplicative product of a weighting, and data representing a particular point of the object, wherein for each of the objects of the modified collection, the particular point has the pre-image point as a pre-image, and wherein for each of the pre-image points, the weightings, used in determining the terms for the corresponding substep of combining, satisfy a predetermined constraint; and (A4) displaying to a user the modified instance of the first geometric object. - View Dependent Claims (27, 28)
-
-
29. A method for modifying data representing a geometric object by first displaying a first geometric object having a parameterization, wherein the first geometric object has a dimension greater than or equal to two in an object space coordinate system, and wherein the first geometric object has an at least a two dimensional area as a pre-image in a parametric space for the parameterization;
-
wherein a computational machine has respective data representing one or more additional geometric objects available, wherein for each of the one or more additional geometric objects, the respective data therefor is effective for determining a boundary where the additional geometric object meets the first geometric object; wherein, for each of one or more of the above identified boundaries, marker data representing at least two marker points on the boundary is defined such that for each of the marker points, there is at least one corresponding marker related extent of one of the additional geometric objects, wherein the corresponding marker related extent is used in determining a corresponding portion of the first geometric object, comprising; for at least one of the marker points, a step of receiving a selection by a user of the at least one of the marker point or a geometric property of the at least one corresponding marker related extent, for the at least one marker point; iteratively performing, by the computational machine, the following sequence of steps (A1) through (A4) so that the user perceives a substantially real time deformation of the first geometric object during a continuous time series of user inputs, wherein each of the user inputs is for entering a corresponding change to one of;
a location for the at least one marker point, or the at least one corresponding marker related extent for the at least one marker point;(A1) receiving a next one of the user inputs; (A2) deriving, using the next one of the user inputs received, data representing a modified version of at least one of the additional geometric objects having the at least one marker point as one of the marker points therefor, wherein the modified version of the at least one additional geometric object includes the corresponding change, and, for the at least one additional geometric object, when each of (i) and (ii) following are not selected by the user for contributing to the real time deformation, then at leasr one other of the marker points for the at least one additional geometric object, and the corresponding marker related extent for the at least one other of the marker points remains unchanged and is also included in the modified version; (i) the at least one other of the marker points therefor, and (ii) the corresponding marker related extent of the at least one additional geometric object, and also for the other of the marker points; (A3) subsequently, determining data representing a modified instance of the first geometric object, using data representing a modified collection of the one or more additional geometric objects, wherein the modified version MV of the at least one additional geometric object is provided in the modified collection, and data for the modified version MV is used in determining the modified instance; wherein for each pre-image point of a plurality of points of the two dimensional area pre-image, a corresponding substep of combining terms is performed, wherein for each object OBJ, of the modified collection, one of the terms is determined by computing a multiplicative product of a weighting, and data representing a particular point of the object OBJ, wherein for each of the objects OBJ of the modified collection, the particular point has the pre-image point as a pre-image, and wherein for each of the pre-image points, the weightings used in determining the terms for the corresponding substep of combining are such that these weightings satisfy a predetermined constraint; and (A4) displaying the modified instance to the user.
-
-
30. A system for modifying data representing a geometric object, comprising:
-
a user interface provided by performing computer instructions by a computational machine, for displaying a first geometric object having a parameterization, wherein the first geometric object has a dimension greater than or equal to two, and wherein the first geometric object has an at least a two dimensional area as a pre-image in a parametric space for the parameterization; wherein for each of one or more additional geometric objects, respective data therefor is effective for defining a boundary with the first geometric object in an object space coordinate system; wherein, for at least one of one or more of the above identified boundaries, corresponding marker data is accessible by the computational machine, the corresponding marker data representing one or more marker points on the at least one boundary such that for each of the one or more marker points, there is at least one corresponding marker related extent of one of the additional geometric objects that is used in defining the at least one boundary; wherein for the at least one boundary, the user interface receives a selection by a user of at least one of the marker points or the at least one corresponding marker related extent for the at least one marker point; wherein the computational machine iteratively performs the following sequence of steps (A1) through (A4) so that the user is presented with a substantially real time deformation of the first geometric object during a continuous time series of user inputs to the user interface, wherein each of the user inputs is indicative of a corresponding change to one of;
a location for the at least one marker point, or the at least one corresponding marker related extent for the at least one marker point;(A1) receiving a next one of the user inputs at the user interface; (A2) deriving, using the next one of the user inputs received, data representing a modified version, MV, of the additional geometric object for defining the at least one boundary, wherein the modified version MV is dependent upon the at least one marker point after the corresponding change, and, for the additional geometric object, when each of (i) and (ii) following are not selected by the user for contributing to the real time deformation, then at least one other of the marker points, and the corresponding marker related extent for the at least one other of the marker points remains unchanged and is also included in the modified version; (i) the at least one other of the marker points of the at least one boundary, and (ii) the corresponding marker related extent in the additional geometric object, and for the one other of the marker points; (A3) subsequently, determining data representing a modified instance of the first geometric object, using data representing a modified collection of the one or more additional geometric objects, wherein the modified version MV of the additional geometric object is provided in the modified collection, wherein for each pre-image point of a plurality of points of the two dimensional area pre-image, a corresponding substep of combining terms is performed, wherein for each object, OBJ, of the modified collection, one of the terms is determined by computing a multiplicative product of a weighting, and data representing a particular point of the object OBJ, wherein for each of the objects OBJ of the modified collection, the particular point has the pre-image point as a pre-image, and wherein for each of the pre-image points, the weightings used in determining the terms for the corresponding substep of combining, are such that these weightings satisfy a predetermined constraint; and (A4) displaying the modified instance of the first geometric object according to the modified data representing the first geometric object.
-
-
31. A method for modifying a representation of a geometric object, wherein there is a display, by a computational machine, of a first geometric object representation having a dimension greater than or equal to two in an object space coordinate system, and wherein the computational machine has access to one or more additional geometric object representations, wherein at least one geometric characteristic of each of said additional geometric object representations is indicative of a shape of said first geometric object representation at at least one point thereof, and wherein one or more of said additional geometric object representations have a dimension greater than or equal to 1 in the object space coordinate system, comprising:
-
iteratively performing, by the computational machine, in response to an input by a user of a substantially continuous time series of change requests for changing said first geometric object representation, the following sequence of steps (A1) and (A2); (A1) changing data indicative of a change in the object space coordinate system of one of a shape, an orientation and a position of at least one of said additional geometric object representations in response to a corresponding prior portion of the substantially continuous time series of change requests; (A2) graphically displaying a geometrically modified version of said first geometric object representation having modifications indicative of the data resulting from the changing step of (A1), wherein the data resulting from the changing step of (A1), is indicative of a geometric characteristic of the geometrically modified version at at least one point thereof; wherein for successive activations of the sequence of steps (A1) and (A2), each activation of the sequence;
(a) computes a weighted sum of points, P, for obtaining each of a plurality of points, q, of a corresponding instance of the geometrically modified version resulting from the activation, wherein said points P are obtained using the data changed in step (A1) of the activation, and (b) displays a corresponding instance of the geometrically modified version in real time as the user inputs a next portion of the substantially continuous time series, wherein the next portion becomes a subsequent instance of the prior portion used in a subsequent one of the successive activations. - View Dependent Claims (32, 33, 34, 35, 36, 37)
-
-
38. A method for modifying a representation of a geometric object, comprising:
-
providing, to a computer aided design computational machine, two or more particular geometric object representations, wherein one or more of a shape, an orientation and a position of said particular geometric object representations are used in determining a shape of a first geometric object representation relative to a coordinate system, wherein said first geometric object representation has a dimension greater than or equal to two in the coordinate system, and wherein one or more of said particular geometric object representations have a dimension greater than or equal to 1 in the coordinate system; first displaying, by the computational machine, a first display of said first geometric object to a user; iteratively performing, by the computational machine, a sequence of steps, the sequence including steps of receiving and second displaying following; receiving data indicative of a geometric change to one of a shape, a position, and an orientation of at least one of said one or more particular geometric object representations thereby obtaining a changed one or more of said particular geometric object representations; second displaying, to the user, a second display of a geometric object representation, GR, wherein the geometric object representation GR for said second display is determined using said changed one or more of the particular geometric object representations, and wherein a shape difference between said first geometric object representation and the geometric object representation GR for said second display is determined using, from the data, a value for said one of the orientation and shape changed in said step of receiving; wherein the geometric object representation GR for the second display includes a representation whose display includes a point, Pi, derived using said changed particular geometric object representations, wherein said point Pi is not representative of a point of said changed particular geometric objects; and wherein each iteration of said receiving step includes inputting, by the user, a next portion of a substantially continuous time series of change requests used for changing said particular geometric object representations; wherein said iteratively performed steps of receiving and second displaying are interleaved so that the user perceives a substantially real time deformation of said first geometric object representation during said continuous time series of change requests. - View Dependent Claims (39, 40, 41, 42, 43)
-
Specification