US7843467B2 - Shape deformation - Google Patents
Shape deformation Download PDFInfo
- Publication number
- US7843467B2 US7843467B2 US11/612,391 US61239106A US7843467B2 US 7843467 B2 US7843467 B2 US 7843467B2 US 61239106 A US61239106 A US 61239106A US 7843467 B2 US7843467 B2 US 7843467B2
- Authority
- US
- United States
- Prior art keywords
- shape
- coordinates
- deforming
- computer
- energy function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
- 238000000034 method Methods 0.000 claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims description 20
- 230000001603 reducing effect Effects 0.000 claims description 3
- 238000004321 preservation Methods 0.000 abstract description 7
- 230000002829 reductive effect Effects 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 28
- 230000015654 memory Effects 0.000 description 15
- 230000003247 decreasing effect Effects 0.000 description 12
- 230000007423 decrease Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003292 diminished effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
Definitions
- Shapes or images of objects or entities may be presented on a display.
- a designer may wish to modify the shape, positioning or configuration of a displayed shape.
- a user may wish to alter a shape of an image of a person, animal, or object.
- a user may select a portion of the shape and drag the selected portion to distort or deform the shape.
- a method for deforming a shape.
- the shape may include an outline contour and a local area inside the outline contour and deforming the outline contour and the local area may include computing a corresponding energy function.
- the energy function may be reduced or minimized to determine the deformed shape.
- a computer-readable medium containing code for performing a method for deforming a shape in which coordinates are identified associated with a boundary polygon of the shape and vertices in a local area within the boundary polygon of the shape.
- the shape may be deformed based on preservation of coordinates associated with the boundary polygon and the local area of the shape.
- FIG. 1 is a block diagram representing an exemplary computer system into which a method of deformation of images or shapes may be incorporated.
- FIGS. 2A-2C illustrate an example of an image of an entity and deformation of the entity.
- FIGS. 3A and 3B illustrate an example of a 2 -dimensional shape.
- FIG. 4 illustrates a decrease in energy during deformation of an image.
- FIGS. 5A-5C illustrate an example of compression of an image.
- FIG. 6 is a flowchart illustrating one example of a method for deformation of a shape.
- FIG. 7 is a flowchart illustrating one example of a method for adding interior points within a boundary polygon or image contour outline.
- FIGS. 8A-8E illustrate an example of insertion of interior points within a boundary polygon or image contour outline.
- FIG. 9 is a flowchart illustrating a method of deformation of an image.
- FIGS. 10A-10D illustrate an example of deformation of an image.
- FIG. 1 illustrates an example of a suitable computing system environment 100 on which a method of deformation of images or shapes may be implemented.
- the computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100 .
- the invention is operational with numerous other general purpose or special purpose computing system environments or configurations.
- Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
- the invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote computer storage media including memory storage devices.
- an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 102 .
- Components of computer 102 may include, but are not limited to, a processing unit 104 , a system memory 106 , and a system bus 108 that couples various system components including the system memory to the processing unit 104 .
- the system bus 108 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
- ISA Industry Standard Architecture
- MCA Micro Channel Architecture
- EISA Enhanced ISA
- VESA Video Electronics Standards Association
- PCI Peripheral Component Interconnect
- Computer 102 typically includes a variety of computer readable media.
- Computer readable media can be any available media that can be accessed by computer 102 and includes both volatile and nonvolatile media, removable and non-removable media.
- Computer readable media may comprise computer storage media.
- Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 102 . Combinations of the any of the above should also be included within the scope of computer readable storage media.
- the system memory 106 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 110 and random access memory (RAM) 112 .
- ROM read only memory
- RAM random access memory
- BIOS basic input/output system
- RAM 112 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 104 .
- FIG. 1 illustrates operating system 132 , application programs 134 , other program modules 136 , and program data 138 .
- the computer 102 may also include other removable/non-removable, volatile/nonvolatile computer storage media.
- FIG. 1 illustrates a hard disk drive 116 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 118 that reads from or writes to a removable, nonvolatile magnetic disk 120 , and an optical disk drive 122 that reads from or writes to a removable, nonvolatile optical disk 124 such as a CD ROM or other optical media.
- removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
- the hard disk drive 116 is typically connected to the system bus 108 through an non-removable memory interface such as interface 126
- magnetic disk drive 118 and optical disk drive 122 are typically connected to the system bus 108 by a removable memory interface, such as interface 128 or 130 .
- the drives and their associated computer storage media discussed above and illustrated in FIG. 1 provide storage of computer readable instructions, data structures, program modules and other data for the computer 102 .
- hard disk drive 116 is illustrated as storing operating system 132 , application programs 134 , other program modules 136 , and program data 138 .
- operating system 132 application programs 134
- other program modules 136 program modules 136
- program data 138 program data 138
- these components can either be the same as or different from additional operating systems, application programs, other program modules, and program data, for example, different copies of any of the elements.
- a user may enter commands and information into the computer 146 through input devices such as a keyboard 140 and pointing device 142 , commonly referred to as a mouse, trackball or touch pad.
- Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 104 through a user input interface 144 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).
- a monitor 158 or other type of display device is also connected to the system bus 108 via an interface, such as a video interface or graphics display interface 156 .
- computers may also include other peripheral output devices such as speakers (not shown) and printer (not shown), which may be connected through an output peripheral interface (not shown).
- the computer 102 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer.
- the remote computer may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 102 .
- the logical connections depicted in FIG. 1 include a local area network (LAN) 148 and a wide area network (WAN) 150 , but may also include other networks.
- LAN local area network
- WAN wide area network
- Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
- the computer 102 When used in a LAN networking environment, the computer 102 is connected to the LAN 148 through a network interface or adapter 152 .
- the computer 102 When used in a WAN networking environment, the computer 102 typically includes a modem 154 or other means for establishing communications over the WAN 150 , such as the Internet.
- the modem 154 which may be internal or external, may be connected to the system bus 108 via the user input interface 144 , or other appropriate mechanism.
- program modules depicted relative to the computer 102 may be stored in the remote memory storage device.
- remote application programs may reside on a memory device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
- FIGS. 2A-2C illustrate an example of an image of an entity and deformation of the image of the entity.
- FIG. 2A represents an example of an image of a person. The image of the person is modifiable according to the method and system described herein.
- FIG. 2B illustrates an example of deformation of the figure of FIG. 2A in which portions of the image are moved to alternative positions. Such movement of portions of the image and corresponding adaptation in the image provide an appearance of movement of the object or entity.
- FIG. 2C illustrates another example of an alternative modification of the image such that portions of the image depicted in FIG. 2A or FIG. 2B may be moved or deformed to form a character in a particular configuration.
- movement and/or deformation of the image may appear natural and may also preserve additional features of the original image as described below.
- a 2-dimensional image may be received in a system for rendering and/or display.
- the image may be any type of image and may include any type of object or entity.
- the image may be a vector graphic in which the image depicted may include a contour outline or a boundary polygon.
- the contour outline or boundary polygon may be an outermost outline of the image or the periphery of the image.
- the image may be a bitmap image in which a tracing process may be applied to the bitmap image to provide the boundary polygon or contour outline of the object/entity.
- the background of the bitmap image may be removed and a boundary polygon or contour outline may be generated for the remaining image by any number of methods.
- automatic silhouette tracing may be used in a marching squares algorithm to generate bounding polygons of the image. Also, additional points may be inserted into the contour with connection of vertices of the added points and points on the contour outline or bounding polygon.
- FIGS. 3A and 3B illustrate an example of a 2-dimensional shape.
- a 2 -dimensional image is provided and a bounding polygon or contour outline is determined corresponding to the image (e.g., the periphery of the image).
- additional points may be added within the bounding polygon of the identified image.
- FIG. 3B illustrates points added to the interior of the bounding polygon or contour outline of the image with connection of the points with other points or points on the contour outline by edges forming inner polygons within a boundary polygon.
- edges connect points in the image. Deformation of the image may be performed based on the points or vertices and edges in the image including the contour outline or boundary polygon of the image.
- an energy function associated with deformation of the image may be reduced, decreased, diminished or even minimized.
- the energy function may include any number of elements.
- decreasing the energy function may include preserving coordinates associated with the contour outline or boundary polygon of the image. Such coordinates may include but are not limited to Laplacian coordinates that may represent local details of the contour outline or boundary polygon of the image.
- decreasing the energy function may include preserving coordinates and components associated with local areas inside a boundary polygon or contour outline of the image.
- decreasing the energy function may include preserving mean value coordinates or edge lengths.
- Mean value coordinates may be associated, for example, with inner points of a bounding polygon and a relative position with respect to neighboring points during deformation of the image and edge lengths may be associated with the length of connecting edges between points within the bounding polygon or outline contour.
- decreasing an energy function associated with deformation of the shape of the image may include preserving the mean value coordinates and/or preserving the length of edges during deformation.
- Position constraints may be provided either internally or provided from an external source such as received from a user.
- Position constraints may specify placement of points, restrictions in point or edge deformation and/or movement and may also be used to decrease an energy function associated with deformation of an image as described herein.
- any of the factors may be combined to determine reduced or minimized energy.
- a combination of factors for decreasing energy of deformation may be determined using a nonlinear least squares approach as described herein.
- FIG. 4 illustrates a decrease in energy during deformation of an image in an iterative process (as illustrated along the top of FIG. 4 ).
- energy decreases as illustrated in FIG. 4 .
- the level of energy approaches a minimum value after approximately ten iterations as the energy level converges to a certain level.
- the energy may be determined by using a nonlinear least squares approach.
- FIG. 6 is a flowchart illustrating one example of a method for deformation of a shape.
- an input shape is received.
- a 2-dimensional image may be received of any object or entity.
- This image may be received from an external source such as a user and may be of any type.
- the system may further identify the type of image that is received.
- the image may be a bitmap image (“Yes” branch of STEP 602 ) or a vector-based graphic (“No” Branch of STEP 602 , STEP 605 ). If the image is a bitmap image, the system may further remove the background of the image (STEP 603 ) and/or trace the silhouette (STEP 604 ) to form an outer contour outline or boundary polygon of the image.
- Any tracing method may be used to provide the tracing of the outer contour outline.
- a marching squares method may be applied to obtain a boundary polygon or outline contour, however, any method for tracing of the boundary polygon or outline contour of the image may be used.
- interior points may be inserted into the interior region of a shape. Any number of points at any location within the interior region of the shape may be inserted. From the inserted points, an interior graph may be created from the points added to the interior region of the shape. For example, the interior graph may be created by connecting vertices of the boundary polygon to inside points. Also, interior points may be connected to other interior points to form the internal graph (STEP 607 ). Deformation or other modification of the image may be performed in relation to the points and edges in the image (STEP 608 ). For example, the system may receive an input from a user indicating a point or an edge for movement or deformation. The user input may include a selection of a point or edge and an indication of a direction of movement of the selected point or edge.
- Interior points may be added within a boundary polygon in a variety of ways. In one example, interior points may be added by forming a 2-dimensional graph.
- FIG. 7 is a flowchart illustrating one example of a method for adding interior points within a boundary polygon or image contour outline.
- FIGS. 8A-8E illustrate an example of insertion of interior points within a boundary polygon or image contour outline.
- STEP 701 an inner polygon is constructed. The inner polygon is constructed within a boundary polygon corresponding to the boundary polygon of the image.
- an inner polygon is created by offsetting each vertex a distance in the direction opposite its normal. As illustrated in FIG.
- a boundary polygon corresponding to a shape as illustrated in FIG. 3A with vertex points is created.
- each vertex point is offset a distance in a direction opposite its normal to create an inner boundary within the boundary polygon or outer contour outline.
- additional lattice nodes are embedded into the interior of the polygon to create polygons within the inner boundary or the offset vertex points (STEP 703 ).
- lattice points are added to the interior of the boundary polygon and within the inner boundary. Also illustrated in FIG. 8C , lattice points outside of the inner boundary are removed (STEP 704 ).
- edge connections are created. As illustrated in FIG. 8D , edge connections are created between internal lattice points and between internal lattice points and the inner boundary nodes and boundary polygon nodes. Thus, inner polygons embedded within the interior of the boundary polygon create a graph of embedded polygons. Also, the graph may be simplified as illustrated in FIG. 8E (STEP 706 ). In simplifying the graph, the edges and/or lattice points may be further processed. In this example, the graph is simplified with edge collapse and graph smoothing.
- the graph may include total vertices n belonging to a set V and a total set of edges belonging to set E.
- the set of vertices V may further be divided into subsets.
- a subset of V, V p may contain m vertices of the boundary polygon while another subset of V, V g , may contain (n-m) interior points.
- the image and corresponding graph may be modified.
- a user may desire to move, adjust or deform a portion of the image.
- the user may input an indication of movement or alteration of at least one point or edge in the graph of the image such that a portion of the image may be deformed, moved, bent, etc.
- the system may determine deformation of the image while having a decreased energy level during the deformation.
- FIG. 9 is a flowchart illustrating a method of deformation of an image in which local properties are determined to decrease an energy function associated with the local properties during deformation.
- deformation positions may be determined.
- the deformation positions may be received, for example, by a user. Alternatively or additionally, the deformation positions may be stored in memory or may be predetermined. If the deformation positions are received from a user, the user may input a selection of points on a graph corresponding to the image and may indicate movement of the points to deform the shape of the image such as, for example, by dragging an input device. Deformation of the image may include any alteration of the image such as movement of a portion of the image or a modification in the image to change its configuration.
- FIGS. 10A-10D illustrate an example of deformation of an image.
- FIG. 10A illustrates an original shape of the image
- FIGS. 10B-10D illustrate various deformations of the original image of FIG. 10A .
- coordinates associated with a boundary polygon or outline contour of the image may be determined for the deformation.
- the identified coordinates may further be preserved to reduce an energy level or function associated with the deformation of the boundary polygon or outline contour of the image.
- the coordinates of the boundary polygon or outline contour include Laplacian coordinates that are determined for the deformation.
- Laplacian coordinates associated with the boundary polygon of the image are determined and preserved and an energy function corresponding to the Laplacian coordinates may be diminished, reduced, decreased, or even minimized.
- the Laplacian coordinates are preserved by decreasing energy in a corresponding energy function as follows:
- V p represents point positions on a boundary polygon
- L p represents a Laplace matrix (e.g., an m ⁇ m matrix)
- ⁇ is a vector of Laplacian coordinates and general function of the point positions V p .
- Zero elements may be added to the Laplace matrix L p to expand the matrix to an m ⁇ n matrix L such that preserving the Laplacian coordinates during deformation may be represented as follows: ⁇ LV ⁇ (V) ⁇ 2 (Eq. 2)
- local area coordinates associated with interior points and vertices in the image are determined and an energy level or function corresponding to the local area coordinates during deformation of the image may be reduced and/or minimized.
- One example of local area coordinates includes mean value coordinates.
- reducing an energy function corresponding to the mean value coordinates of the local area or interior areas of the image includes maintaining relative positions of interior points during deformation of the image. Maintaining the relative position of the interior points (v i ) of the image with respect to neighboring point in the image in the subset V g via the mean value coordinates associated with the interior points may be expressed through a weight function as follows:
- ⁇ j represents an angle formed by vector v j ⁇ v i and v j+1 ⁇ v i .
- the mean value coordinates of v i with respect to its neighboring points may be determined by normalizing each weight function w i,j by the sum of all weight functions.
- M g comprises a (n ⁇ m) ⁇ (n ⁇ m) matrix into which zero elements may be added to expand the matrix into an (n ⁇ m) ⁇ n matrix M.
- minimizing an energy function may preserve mean value coordinates during deformation, the energy function represented as follows: ⁇ MV ⁇ 2 (Eq. 3)
- Additional coordinates associated with local areas of the image may be determined and a corresponding energy function associated with the additional coordinates may also be reduced or minimized during deformation.
- FIG. 9 illustrates an example of determining additional local area coordinates of the image (STEP 904 ).
- the additional coordinates includes edge lengths that may be preserved during deformation. Edge length changes may be associated with the following energy formula:
- e ⁇ ( v i , v j ) l ⁇ i , j l i , j ⁇ ( v i - v j ) ; l i,j being the current length of edge (i,j) and ⁇ tilde over (l) ⁇ i,j being the original length before deformation.
- the energy as set forth in equation 4 above may be represented in matrix form as follows: ⁇ HV ⁇ e(V) ⁇ 2 (Eq. 5)
- position constraints may be applied to compute the positions of points of the image in the deformed state.
- the position constraints may be predetermined, for example.
- the position constraints may be received from an external source.
- a user may provide position constraints. For example, position constraints as provided or specified by a user may be presented as follows: ⁇ CV ⁇ U ⁇ 2
- C is a
- a user may specify weighting for each factor in the energy function. For example, a user may input any number of weighting parameters associated with each corresponding factor in the energy function where each of the weighting parameters indicates a weight of a corresponding energy factor. The factors may further be combined with associated weighting factors to determine relevance of each factor in an energy equation.
- a combination of energy terms associated with each of boundary polygon or outline contour coordinates and local area coordinates may be minimized to determine positions of points of the shape in the deformed state.
- the Laplacian coordinate, mean value coordinates, edge length and position constraints may be combined as follows: ⁇ L p V p ⁇ ( V p ) ⁇ 2 + ⁇ MV ⁇ 2 + ⁇ HV ⁇ e ( V ) ⁇ 2 + ⁇ CV ⁇ U ⁇ 2 (Eq. 6)
- the matrix A depends on the graph of the shape before deformation and b depends on current point positions V.
- the deformation positions are determined with a nonlinear least squares approach without using a linear approximation and without removing the dependence of b and V.
- the nonlinear least squares is computed directly in this example.
- energy associated with a deformation may be expressed iteratively in an interactive Gauss-Newton method as follows:
- V k represents point positions for the k-th iteration and V k+1 represents point positions to be determined at iteration k+1.
- G (A T A) ⁇ 1 A T . Because in this example A is dependent only on the graph before deformation, G may be pre-computed before deformation and fixed during deformation. In this way a back substitution may be executed for each iteration and the process may be run interactively.
- the nonlinear least squares optimization may be performed interactively.
- b may be computed based on point positions from a previous iteration (e.g., V k ).
- V k point positions from a previous iteration
- ⁇ (V k ) and e(V k ) are determined.
- e(V k ) may be determined as follows:
- ⁇ (v i 0 ) comprises the curve Laplacian coordinate before deformation.
- the transform matrix T i k may be determined when v i 0 and v i k are taken as rotation centers by minimizing the following energy equation:
- transform matrix T i k may be expressed in simplified form as follows:
- T i k ⁇ ( i , j ) ⁇ E p ⁇ ( v j k - v i k ) ⁇ ( v j 0 - v i 0 ) T ⁇ D i
- D i may depend on the original shape only and may be pre-computed.
- FIGS. 5A-5C illustrate an image being compressed.
- FIG. 5A illustrates an image of a bottle having a certain area size.
- FIG. 5 B illustrates the image of FIG. 5A after compression of the image.
- FIG. 5C illustrates an example in which global area preservation is not performed. In the example of FIG. 5C , the image is compressed, however, the area also decreases because the global area is not constrained in the example illustrated in FIG. 5C .
- global area preservation may be a hard constraint simulated using a nonlinear least squares process as described herein.
- an area of a boundary polygon may be determined from coordinates of points on the polygon as follows:
- (x i ,y i ) represents the coordinates of a point v i .
- ⁇ tilde over (g) ⁇ represents the area of the original shape prior to deformation.
- the global area constraint comprises a nonlinear function of the coordinates of points on the polygon and may further be applied as a hard constraint.
- equation 7 from above may be extended to include the global area constraint as follows:
- equation 8 may also be extended to include the constrained nonlinear least squares problem of global area preservation as follows:
- equation 11 may be expressed as follows:
- h ⁇ ( A T A ) ⁇ 1 ( A T S+J g T ⁇ )
- a computer-readable medium having computer-executable instructions stored thereon in which execution of the computer-executable instructions performs a method as described above.
- the computer-readable medium may be included in a system or computer and may include, for example, a hard disk, a magnetic disk, an optical disk, a CD-ROM, etc.
- a computer-readable medium may also include any type of computer-readable storage media that can store data that is accessible by computer such as random access memories (RAMs), read only memories (ROMs), and the like.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
Description
δi =L p(v i)=v i−(v i−1 +v i+1)/2
∥LV−δ(V)∥2 (Eq. 2)
MgVg=0,
∥MV∥2 (Eq. 3)
li,j being the current length of edge (i,j) and {tilde over (l)}i,j being the original length before deformation.
∥HV−e(V)∥2 (Eq. 5)
∥CV−U∥2
∥L p V p−δ(V p)∥2 +∥MV∥ 2 +∥HV−e(V)∥2 +∥CV−U∥ 2 (Eq. 6)
V k+1=(A T A)−1 A T b(V k)=Gb(V k). (Eq. 9)
δ(v i k)=T i Kδ(v i 0)
g(V)−{tilde over (g)}=0
g(V k +h)≈g(V k)+J g(V k)h
h=−(A T A)−1(A T S+J g Tλ)
Claims (14)
∥HV−e(V)∥2
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/612,391 US7843467B2 (en) | 2006-12-18 | 2006-12-18 | Shape deformation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/612,391 US7843467B2 (en) | 2006-12-18 | 2006-12-18 | Shape deformation |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080143711A1 US20080143711A1 (en) | 2008-06-19 |
US7843467B2 true US7843467B2 (en) | 2010-11-30 |
Family
ID=39526565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/612,391 Expired - Fee Related US7843467B2 (en) | 2006-12-18 | 2006-12-18 | Shape deformation |
Country Status (1)
Country | Link |
---|---|
US (1) | US7843467B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014160298A1 (en) * | 2013-03-14 | 2014-10-02 | Sciencestyle Capital Partners, Llc | Providing food-portion recommendations to faciliate dieting |
US10274935B2 (en) | 2016-01-15 | 2019-04-30 | Honeywell Federal Manufacturing & Technologies, Llc | System, method, and computer program for creating geometry-compliant lattice structures |
US10878641B1 (en) * | 2019-06-07 | 2020-12-29 | Adobe Inc. | Editing bezier patch by selecting multiple anchor points |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8749543B2 (en) * | 2006-08-15 | 2014-06-10 | Microsoft Corporation | Three dimensional polygon mesh deformation using subspace energy projection |
US7952595B2 (en) * | 2007-02-13 | 2011-05-31 | Technische Universität München | Image deformation using physical models |
US20140168204A1 (en) * | 2012-12-13 | 2014-06-19 | Microsoft Corporation | Model based video projection |
CN104238449B (en) * | 2013-06-06 | 2018-08-14 | 鸿富锦精密工业(深圳)有限公司 | Part processes clearance amendment system and method |
Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5731819A (en) * | 1995-07-18 | 1998-03-24 | Softimage | Deformation of a graphic object to emphasize effects of motion |
US5796400A (en) * | 1995-08-07 | 1998-08-18 | Silicon Graphics, Incorporated | Volume-based free form deformation weighting |
US6236403B1 (en) * | 1997-11-17 | 2001-05-22 | Ricoh Company, Ltd. | Modeling and deformation of 3-dimensional objects |
US6476804B1 (en) * | 2000-07-20 | 2002-11-05 | Sony Corporation | System and method for generating computer animated graphical images of an exterior patch surface layer of material stretching over an understructure |
US6525744B1 (en) * | 1999-03-11 | 2003-02-25 | Massachusetts Institute Of Technology | Correspondence between n-dimensional surface: vector fields that are defined by surfaces and that generate surfaces which preserve characteristics of the defining surfaces |
US6608631B1 (en) * | 2000-05-02 | 2003-08-19 | Pixar Amination Studios | Method, apparatus, and computer program product for geometric warps and deformations |
US20030179197A1 (en) | 2002-03-21 | 2003-09-25 | Microsoft Corporation | Graphics image rendering with radiance self-transfer for low-frequency lighting environments |
US20030206183A1 (en) * | 2002-05-03 | 2003-11-06 | Silverstein D. Amnon | Method of digitally distorting an image while preserving visual integrity |
US20040156556A1 (en) * | 2001-04-25 | 2004-08-12 | Lopez Javier Olivan | Image processing method |
US6853745B1 (en) | 2000-11-03 | 2005-02-08 | Nec Laboratories America, Inc. | Lambertian reflectance and linear subspaces |
US20050035965A1 (en) | 2003-08-15 | 2005-02-17 | Peter-Pike Sloan | Clustered principal components for precomputed radiance transfer |
US20050041023A1 (en) | 2003-08-20 | 2005-02-24 | Green Robin J. | Method and apparatus for self shadowing and self interreflection light capture |
US20050041024A1 (en) | 2003-08-20 | 2005-02-24 | Green Robin J. | Method and apparatus for real-time global illumination incorporating stream processor based hybrid ray tracing |
US20050080602A1 (en) | 2003-10-10 | 2005-04-14 | Microsoft Corporation | Systems and methods for all-frequency relighting using spherical harmonics and point light distributions |
US20050083340A1 (en) | 2003-10-15 | 2005-04-21 | Microsoft Corporation | Bi-scale radiance transfer |
US20050276441A1 (en) | 2004-06-12 | 2005-12-15 | University Of Southern California | Performance relighting and reflectance transformation with time-multiplexed illumination |
US20060120580A1 (en) | 2002-09-04 | 2006-06-08 | Sherif Makram-Ebeid | Characterizing, surfaces in medical imaging |
US7061489B2 (en) | 2003-08-15 | 2006-06-13 | Microsoft Corporation | Precomputed radiance transfer for rendering objects |
US20060132486A1 (en) | 2004-12-20 | 2006-06-22 | Electronics And Telecommunications Research Institute | Rendering apparatus and method for real-time global illumination in real light environment |
US20060214931A1 (en) | 2005-03-22 | 2006-09-28 | Microsoft Corporation | Local, deformable precomputed radiance transfer |
US20060244757A1 (en) * | 2004-07-26 | 2006-11-02 | The Board Of Trustees Of The University Of Illinois | Methods and systems for image modification |
US20070116381A1 (en) * | 2005-10-19 | 2007-05-24 | Ali Khamene | Method for deformable registration of images |
US20070229543A1 (en) * | 2006-03-29 | 2007-10-04 | Autodesk Inc. | System for controlling deformation |
US7286127B2 (en) * | 2005-06-22 | 2007-10-23 | Microsoft Corporation | Large mesh deformation using the volumetric graph Laplacian |
US20080043021A1 (en) * | 2006-08-15 | 2008-02-21 | Microsoft Corporation | Three Dimensional Polygon Mesh Deformation Using Subspace Energy Projection |
US20080170791A1 (en) * | 2004-05-13 | 2008-07-17 | Simon Fristed Eskildsen | Computerised Cortex Boundary Extraction From Mr Images |
-
2006
- 2006-12-18 US US11/612,391 patent/US7843467B2/en not_active Expired - Fee Related
Patent Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5731819A (en) * | 1995-07-18 | 1998-03-24 | Softimage | Deformation of a graphic object to emphasize effects of motion |
US5796400A (en) * | 1995-08-07 | 1998-08-18 | Silicon Graphics, Incorporated | Volume-based free form deformation weighting |
US6236403B1 (en) * | 1997-11-17 | 2001-05-22 | Ricoh Company, Ltd. | Modeling and deformation of 3-dimensional objects |
US6525744B1 (en) * | 1999-03-11 | 2003-02-25 | Massachusetts Institute Of Technology | Correspondence between n-dimensional surface: vector fields that are defined by surfaces and that generate surfaces which preserve characteristics of the defining surfaces |
US6608631B1 (en) * | 2000-05-02 | 2003-08-19 | Pixar Amination Studios | Method, apparatus, and computer program product for geometric warps and deformations |
US6476804B1 (en) * | 2000-07-20 | 2002-11-05 | Sony Corporation | System and method for generating computer animated graphical images of an exterior patch surface layer of material stretching over an understructure |
US6853745B1 (en) | 2000-11-03 | 2005-02-08 | Nec Laboratories America, Inc. | Lambertian reflectance and linear subspaces |
US20040156556A1 (en) * | 2001-04-25 | 2004-08-12 | Lopez Javier Olivan | Image processing method |
US20030179197A1 (en) | 2002-03-21 | 2003-09-25 | Microsoft Corporation | Graphics image rendering with radiance self-transfer for low-frequency lighting environments |
US20030206183A1 (en) * | 2002-05-03 | 2003-11-06 | Silverstein D. Amnon | Method of digitally distorting an image while preserving visual integrity |
US20060120580A1 (en) | 2002-09-04 | 2006-06-08 | Sherif Makram-Ebeid | Characterizing, surfaces in medical imaging |
US20050035965A1 (en) | 2003-08-15 | 2005-02-17 | Peter-Pike Sloan | Clustered principal components for precomputed radiance transfer |
US7061489B2 (en) | 2003-08-15 | 2006-06-13 | Microsoft Corporation | Precomputed radiance transfer for rendering objects |
US20050041024A1 (en) | 2003-08-20 | 2005-02-24 | Green Robin J. | Method and apparatus for real-time global illumination incorporating stream processor based hybrid ray tracing |
US20050041023A1 (en) | 2003-08-20 | 2005-02-24 | Green Robin J. | Method and apparatus for self shadowing and self interreflection light capture |
US20050080602A1 (en) | 2003-10-10 | 2005-04-14 | Microsoft Corporation | Systems and methods for all-frequency relighting using spherical harmonics and point light distributions |
US20050083340A1 (en) | 2003-10-15 | 2005-04-21 | Microsoft Corporation | Bi-scale radiance transfer |
US20080170791A1 (en) * | 2004-05-13 | 2008-07-17 | Simon Fristed Eskildsen | Computerised Cortex Boundary Extraction From Mr Images |
US20050276441A1 (en) | 2004-06-12 | 2005-12-15 | University Of Southern California | Performance relighting and reflectance transformation with time-multiplexed illumination |
US20060244757A1 (en) * | 2004-07-26 | 2006-11-02 | The Board Of Trustees Of The University Of Illinois | Methods and systems for image modification |
US20060132486A1 (en) | 2004-12-20 | 2006-06-22 | Electronics And Telecommunications Research Institute | Rendering apparatus and method for real-time global illumination in real light environment |
US20060214931A1 (en) | 2005-03-22 | 2006-09-28 | Microsoft Corporation | Local, deformable precomputed radiance transfer |
US7286127B2 (en) * | 2005-06-22 | 2007-10-23 | Microsoft Corporation | Large mesh deformation using the volumetric graph Laplacian |
US20070116381A1 (en) * | 2005-10-19 | 2007-05-24 | Ali Khamene | Method for deformable registration of images |
US20070229543A1 (en) * | 2006-03-29 | 2007-10-04 | Autodesk Inc. | System for controlling deformation |
US20080043021A1 (en) * | 2006-08-15 | 2008-02-21 | Microsoft Corporation | Three Dimensional Polygon Mesh Deformation Using Subspace Energy Projection |
Non-Patent Citations (8)
Title |
---|
Igarashi et al., As-rigid-as-possible shape manipulation, ACM Siggraph Transactions on Graphics, Jul. 2005, vol. 24, issue 3, pp. 1-8. * |
Jan Kautz et al. "Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics", ACM International Conference Proceeding Series; vol. 28, Proceedings of the 13th Eurographics workshop on Rendering, 2002. |
Jiaping Wang et al. "Spherical Harmonics Scaling", The Visual Computer: International Journal of Computer Graphics, Sep. 2006, vol. 22, Issue 9. |
Peter-Pike Sloan et al. "Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequency Lighting Environments", Proceedings of the 29th annual conference on Computer graphics and interactive techniques, 2002, pp. 638-647. |
S. Erturk et al. "3D model representation using spherical harmonics", Electronic Letters, May 22, 2997, vol. 33, No. 11. |
Sorkine et al., Laplacian Surface Editing, Eurographics Symposium on Geometry Processing, 2004, pp. 175-184. * |
Terzopoulos et al., Modeling Inelastic Deformation: Viscoelasticity, Plasticity, Fracture, Siggraph '88, Aug. 1-5, 1988, pp. 269-278. * |
Yanlin Weng et al. "2D Shape Deformation Using Nonlinear Least Squares Optimization", The Visual Computer: International Journal of Computer Graphics, Sep. 2006, vol. 22, Issue 9. |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014160298A1 (en) * | 2013-03-14 | 2014-10-02 | Sciencestyle Capital Partners, Llc | Providing food-portion recommendations to faciliate dieting |
US10274935B2 (en) | 2016-01-15 | 2019-04-30 | Honeywell Federal Manufacturing & Technologies, Llc | System, method, and computer program for creating geometry-compliant lattice structures |
US10878641B1 (en) * | 2019-06-07 | 2020-12-29 | Adobe Inc. | Editing bezier patch by selecting multiple anchor points |
Also Published As
Publication number | Publication date |
---|---|
US20080143711A1 (en) | 2008-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7843467B2 (en) | Shape deformation | |
Bonneel et al. | Displacement interpolation using Lagrangian mass transport | |
US8705848B2 (en) | Method and system for encoding an image using normalized feature vectors | |
US8773423B2 (en) | Creating optimized gradient mesh of a vector-based image from a raster-based image | |
US7737969B2 (en) | System and program product for re-meshing of a three-dimensional input model using progressive implicit approximating levels | |
KR101285984B1 (en) | Method for converting outline characters to stylized stroke characters | |
US11704802B2 (en) | Multi-dimensional model merge for style transfer | |
US7574017B2 (en) | Statistically comparing and matching plural sets of digital data | |
US20180174276A1 (en) | Completing an image | |
Ishimtsev et al. | Cad-deform: Deformable fitting of cad models to 3d scans | |
Dekkers et al. | Geometry seam carving | |
Hu et al. | Surface segmentation for polycube construction based on generalized centroidal Voronoi tessellation | |
Hurtado et al. | Enveloping CAD models for visualization and interaction in XR applications | |
US20170011552A1 (en) | 3D Model Enhancement | |
Zhao et al. | Progressive discrete domains for implicit surface reconstruction | |
JP4740688B2 (en) | A perception-based approach for planar shape morphing | |
US11941771B2 (en) | Multi-dimensional model texture transfer | |
US7369972B2 (en) | System, method, and program product for re-parameterizing three dimensional models represented as Catmull-Clark subdivision surfaces | |
CN107564105B (en) | Grid simplifying method for considering area and normal vector aiming at unsmooth surface | |
Xu et al. | Hexahedral meshing with varying element sizes | |
US20230281925A1 (en) | Generating mappings of three-dimensional meshes utilizing neural network gradient fields | |
CN116468761A (en) | Registration method, equipment and storage medium based on probability distribution distance feature description | |
Hofierka | Interpolation of radioactivity data using regularized spline with tension | |
US7091969B2 (en) | Frontier advancing polygonization | |
CN116962817B (en) | Video processing method, device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHOU, KUN;XU, WEIWEI;GUO, BAINING;REEL/FRAME:018895/0846 Effective date: 20061206 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034542/0001 Effective date: 20141014 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20221130 |