Computational geometry using control geometry having at least two dimensions
First Claim
1. A method for modifying a representation of a surface on a computational system, comprising graphically displaying a particular surface having first and second curves provided thereon;
- activating, by a user of the computational system, a user interface technique for deforming said particular surface, wherein the following steps A-1 through A-3 are performed;
(A-1) first determining points on a first geometric object representation, wherein said first geometric object representation represents first data used in evaluating a desired contour of said particular surface at a majority of points on said first curve that are representable by said computational system;
(A-2) second determining points on a second geometric object representation, wherein said second geometric object representation represents second data used in evaluating a desired contour of said particular surface at a majority of points on said second curve that are representable by said computational system;
(A-3) generating a modified version of said particular surface, wherein there are a plurality of new points on said modified version that are not on said particular surface, and each said new point is determined as a function of;
(a) at least one point obtained from said first geometric object representation, and (b) at least one point obtained from said second geometric object representation; and
graphically displaying said modified version.
4 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.
90 Citations
102 Claims
-
1. A method for modifying a representation of a surface on a computational system, comprising
graphically displaying a particular surface having first and second curves provided thereon; -
activating, by a user of the computational system, a user interface technique for deforming said particular surface, wherein the following steps A-1 through A-3 are performed;
(A-1) first determining points on a first geometric object representation, wherein said first geometric object representation represents first data used in evaluating a desired contour of said particular surface at a majority of points on said first curve that are representable by said computational system;
(A-2) second determining points on a second geometric object representation, wherein said second geometric object representation represents second data used in evaluating a desired contour of said particular surface at a majority of points on said second curve that are representable by said computational system;
(A-3) generating a modified version of said particular surface, wherein there are a plurality of new points on said modified version that are not on said particular surface, and each said new point is determined as a function of;
(a) at least one point obtained from said first geometric object representation, and (b) at least one point obtained from said second geometric object representation; and
graphically displaying said modified version. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for deforming a particular surface, comprising:
-
providing a particular surface;
first obtaining first data for defining a first geometric object having a dimension greater than or equal to two, wherein said first geometric object includes a first part that substantially coincides with a first portion of said particular surface;
first determining first points of said first geometric object, said first data used in determining said first points, wherein at least some of said first points are spaced apart from said particular surface;
second obtaining second data for defining a second geometric object, wherein said second geometric object includes a second part that substantially coincides with a second portion of said particular surface;
second determining second points of said second geometric object, said second data used in determining said second points, wherein at least some of said second points are spaced apart from said particular surface;
generating a modified version of said particular surface, wherein (i) and (ii) following are satisfied;
(i) said modified version includes said first and second portions; and
(ii) there are a plurality of new points on said modified version that are not on said particular surface, and each said new point is determined as a function of (a) and (b) following;
(a) for at least one point, p1, from the at least some of said first points, a distance-like value indicative of a spacing between;
a position identified by a location of p1, and said first part, and(b) for at least one point, p2, from the at least some of said second points, a distance-like value indicative of a spacing between;
a position identified by a location of p2, and said second part; and
graphically displaying said modified version. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method for providing a representation of a surface on a computational system, comprising:
providing or using a computational system for performing steps (1) through (4) following;
(1) first obtaining first shape data indicative of a shape of at least a first portion of a first surface;
(2) first determining, using said first shape data, at least a collection (C) of representations of geometric points, wherein the collection C is indicative of a first geometric object having a dimension greater than or equal to two, and wherein (A-1) and (A-2) following hold;
(A-1) each of the point representations of C includes geometric position data that is invariant between graphical views, and, in at least one graphical view of the point representations, the point representations are distinct from said first portion;
(A-2) each point representation of the collection C is determined using said first shape data;
(3) generating a representation (R) of said first surface, wherein for at least a subcollection of points of R, the subcollection being representative of a surface portion of said first surface, each point q of the subcollection, is determined by performing the following steps (B-1) through (B-3);
(B-1) obtaining a point representation Pq from the collection C;
(B-2) determining closeness data, dq, indicative of a closeness between pq and a corresponding point representation ps of said first shape data, wherein ps is used in determining pq; and
(B-3) using said closeness data dq and the point representation pq in determining q;
wherein as instances of the point representation pq become progressively closer to their corresponding point representations ps, the corresponding instances of closeness data dq are used for determining corresponding instances of q such that said corresponding instances of q become progressively closer to their respective corresponding pq instances; and
(4) graphically displaying said representation R of said first surface. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99)
-
100. Data storage for a computer program that performs the following steps:
-
(1) first obtaining first shape data indicative of a shape of at least a first portion of a first surface;
(2) first determining, using said first shape data, at least a collection (C) of representations of geometric points, wherein the collection C is indicative of a first geometric object having a dimension greater than or equal to two, and wherein (A-1) and (A-2) following hold;
(A-1) each of the point representations of C includes geometric position data that is invariant between graphical views, and, in at least one graphical view of the point representations, the point representations are distinct from said first portion;
(A-2) each point representation of the collection C is determined using said first shape data;
(3) generating a representation (R) of said first surface, wherein for at least a subcollection of points of R, the subcollection being representative of a surface portion of said first surface, each point q of the subcollection, is determined by performing the following steps (B-1) through (B-3);
(B-1) obtaining a point representation pq from the collection C;
(B-2) determining closeness data, dq, indicative of a closeness between pq and a corresponding point representation ps of said first shape data, wherein ps is used in determining pq; and
(B-3) using said closeness data dq and the point representation pq in determining q;
wherein as instances of the point representation pq become progressively closer to their corresponding point representations ps, the corresponding instances of closeness data dq are used for determining corresponding instances of q such that said corresponding instances of q become progressively closer to their respective corresponding pq instances; and
(4) graphically displaying said representation R of said first surface.
-
-
101. Data storage for a computer program that performs the following steps:
deforming a particular surface in response to a substantially continuous time series of user input change requests, whereby the following substeps A-1 through A-3 are performed;
(A-1) first determining first points of a first geometric object having a dimension greater than or equal to two, wherein said first geometric object includes a first part that substantially coincides with a first portion of said particular surface, and at least some of said first points are spaced apart from said particular surface;
(A-2) second determining second points of a second geometric object, wherein said second geometric object includes a second part that substantially coincides with a second portion of said particular surface;
(A-3) generating data D for a modified version of said particular surface, wherein there are a plurality of new points on said modified version that are not on said particular surface, and each said new point, q, is determined as a function of (a) through (d) following;
(a) at least one point p1 from said at least some of said first points, (b) a distance-like value indicative of a spacing between;
graphical view invariant geometric position data for p1 and said first part,(c) at least one point p2 from said at least some of said second points, and (d) a distance-like value indicative of a spacing between;
graphical view invariant geometric position data for p2 and said second part;
wherein said data D for said modified version is invariant between different graphical views; and
graphically displaying said modified version using said data D. - View Dependent Claims (102)
Specification