CPC G06T 17/205 (2013.01) [G06T 17/10 (2013.01)] | 21 Claims |
1. A method performed by one or more computing devices associated with a scene modeling system, comprising:
displaying, via a user interface, a three-dimensional (3D) space comprising a 3D object including a plurality of points and a cage model of the 3D object including a first positional configuration of vertices, the cage model comprising quad faces, each of the plurality of points located at a respective initial location;
generating cage coordinates for the vertices of the 3D object, including:
a vertex coordinate for each vertex of the cage model; and
for each quad face of the cage model, four quad coordinates corresponding to each corner vertex of the quad face;
deforming, responsive to receiving a request via the user interface, the cage model to change the first positional configuration of vertices to a second positional configuration of vertices, the second positional configuration being different from the first positional configuration;
tessellating each quad face of the cage model into a set of triangles;
producing constraints of computation variables based on a respective contribution of each triangle of the set of triangles to a harmonic function of the cage coordinates;
applying a location function to each of the plurality of points, the location function being subject to the constraints of computation variables to ensure validity of coordinates for subsequent locations of each of the plurality of points; and
generating, using the location function and based on the cage coordinates, the first positional configuration of vertices, and the second positional configuration of vertices, an updated 3D object by determining a subsequent location for each of the plurality of points of the 3D object.
|