WO2006106863A1 - 画像処理システムおよび画像処理プログラム - Google Patents
画像処理システムおよび画像処理プログラム Download PDFInfo
- Publication number
- WO2006106863A1 WO2006106863A1 PCT/JP2006/306727 JP2006306727W WO2006106863A1 WO 2006106863 A1 WO2006106863 A1 WO 2006106863A1 JP 2006306727 W JP2006306727 W JP 2006306727W WO 2006106863 A1 WO2006106863 A1 WO 2006106863A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- mesh
- data
- step2
- triangular
- stepl
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Definitions
- the present invention relates to an image processing apparatus and an image processing program that can freely deform a displayed object.
- FFD Free Form Deformation
- Non-Patent Document 1 "Laplacian Surface Editing” (Orga Solkine et al., Eurographics / ACM SIGGRAPH Symposium, 179-188), [on line] , July 9, 2004, [Search February 23, 2005], Internet, ⁇ URL: http: // ww w— sop.inna.fr/ geometnca / events / sgp2004 / program.html
- Non-Patent Document 1 discloses a method of generating a new triangular mesh by enlarging, reducing, and rotating each of the triangular meshes constituting the two-dimensional object, and displaying the two-dimensional object based on the new triangular mesh. Has been proposed.
- An object of the present invention is to provide an image processing system and an image processing program in which an object can be naturally deformed and its processing time is remarkably short. Means for solving the problem
- the present invention provides a technique for manipulating the shape without using a skeleton or FFD.
- the user sets a plurality of points inside the object as handles, and moves these handles to desired positions.
- the image processing system deforms the entire shape according to a given position of the needle while minimizing local shape distortion.
- the processing result that is, the motion of the object can be compared with the conventional technique that can naturally deform the shape of the object and distort the space in which the object is embedded. Is close to the behavior of objects in the real world.
- the key point is to properly design the second-order error metric and formulate the minimization problem as a linear system of equations.
- the image processing system can find the solution by multiplying a single matrix.
- an object of the present invention is to provide an image processing system having a storage device in which original shape data as data power of a triangular mesh constituting an object to be deformed is stored.
- the original shape data is read from the storage device based on information indicating a plurality of handle positions including points to be fixed and moved points in the triangular mesh in the image from the input device.
- the difference between the original triangle mesh and the intermediate triangle mesh after processing was expressed while allowing its rotation and expansion Z reduction 2
- the intermediate mesh For each of the intermediate triangular meshes indicated by the intermediate mesh data, the intermediate mesh is allowed to rotate and translate, but not to allow non-uniform distortion, expansion and contraction, and enlargement / reduction.
- a final mesh data that also has the data power of the final triangular mesh is generated and stored in the storage device so that the error metric expressing the difference between the triangular mesh and the final triangular mesh is minimized. This is achieved by an image processing system comprising two mesh generation means.
- the second mesh generation unit rotates and translates each of the original triangular meshes indicated by the original shape data, and the correspondence indicated by the intermediate mesh data.
- the final triangular mesh that minimizes the second-order error metric indicating the difference between the triangular meshes indicated by the matching mesh data and the corresponding final triangular meshes that represent the triangle edges.
- the final mesh data having the data power is generated and stored in the storage device.
- the memory stored in the storage device is further stored.
- Image generation means for reading the final shape data or the final mesh data and generating an image including an object based on the read data is provided.
- E stepl is a function that expresses the second-order error metric in the first mesh generation means, expressed by a quadratic expression with 2n variables vox, voy, vlx, vly, ..., vnx, vny
- E step2 is the triangle mesh and the final point indicated by the matching mesh data by the second mesh generation means expressed by a quadratic expression with 2n variables vox, voy, vlx, vly, ..., vnx, vny.
- Function representing the second-order error metric expressing the difference of a typical triangular mesh
- Eiitting is a function indicating a second-order error metric representing a difference between the triangular mesh and the intermediate triangular mesh indicated by the original shape data in the second mesh generating means
- a registration means configured to calculate
- the first mesh generating means is
- the second mesh generation means comprises:
- the object to be deformed is a two-dimensional object constituted by the triangular mesh.
- the object to be deformed may be a curve.
- the image processing system generates a triangular mesh configured by connecting three adjacent points of the vertices constituting the line from the polyline data indicating the curve, and the triangular mesh data is generated.
- Initial triangle to store in storage Shape mesh generating means is provided.
- Another object of the present invention is an image processing program that can be read by a computer having a storage device in which original shape data, which is the data power of a triangular mesh that constitutes an object to be deformed, is stored in the computer. ,
- the original shape data is read from the storage device based on information indicating a plurality of handle positions including points to be fixed and moved points in the triangular mesh in the image from the input device.
- the second order representing the difference between the original triangular mesh and the processed intermediate triangular mesh while allowing its rotation and enlargement z reduction.
- a first mesh generation step of generating intermediate mesh data that also has the data power of an intermediate triangle mesh that minimizes the error metric of and storing it in the storage device;
- the intermediate mesh For each of the intermediate triangular meshes indicated by the intermediate mesh data, the intermediate mesh is allowed to rotate and translate, but not to allow non-uniform distortion, expansion and contraction, and enlargement / reduction.
- the final mesh data which is the data power of the final triangular mesh, is generated and stored in the storage device so that the error metric representing the difference between the triangular mesh and the final triangular mesh is minimized. This is achieved by an image processing program characterized by executing the mesh generation step.
- the computer in the second mesh generation step, includes:
- the computer further reads the original shape data or the final mesh data stored in the storage device, and generates an image including an object based on the read data.
- the image generation step to be executed is executed.
- E stepl is a function that represents the second-order error metric in the first mesh generation step, expressed by a quadratic expression with 2n variables vox, voy, vlx, vly, ..., vnx, vny
- E step2 is the triangular mesh indicated by the second mesh generation step and the final mesh represented by the quadratic expression of 2n variables vox, voy, vlx, vly, ..., vnx, vny A function that expresses a second-order error metric that expresses the difference between simple triangular meshes)
- Eiitting is a function indicating a second-order error measure that expresses the difference between the triangular mesh indicated by the original shape data and the intermediate triangular mesh in the second mesh generation step)
- the object to be deformed is a two-dimensional object constituted by the triangular mesh.
- the object to be deformed is a curved line
- the image processing program power computer generates a triangular mesh composed of three points adjacent to each other constituting the line from the polyline data indicating the curve, and generates a triangle mesh.
- An initial triangle mesh generation step for storing data in a storage device may be executed.
- FIG. 1 is a block diagram showing a hardware configuration of an image processing system according to the present embodiment.
- the image processing system 10 reads / writes data from / to an input device 12, such as a mouse and keyboard, a display device 14, and a portable storage medium 18 such as a CD or DVD, connected via a node 11.
- an input device 12 such as a mouse and keyboard
- a display device 14 and a portable storage medium 18 such as a CD or DVD
- a driver 16 a CPU 20, a ROM 22, a RAM 24, and an external storage device 26 such as a hard disk.
- it is realized by installing a computer program including processing steps (these will be described in detail later) to be executed by a personal computer on a normal personal computer.
- FIG. 2 is a functional block diagram of an image processing system that is useful in the present embodiment.
- the image processing system 10 functionally includes an initial mesh generation unit 30, a registration processing unit 32, a compilation processing unit 34, and a first mesh generation unit 36.
- a second mesh generation unit 38 is provided. These functions are mainly realized by the CPU 20.
- the image processing system 10 includes a storage device 40 that stores image data to be described later. This function is mainly realized by the RAM 24.
- the image processing system 10 accepts an instruction from the input device and gives the instruction to the constituent parts such as the initial mesh generation unit 30 or based on the generated data. Based on the interface (IZF) 42 that outputs the resulting image to the display device 14 and the data stored in the storage device 40 (for example, original shape data, final mesh data) And an image generation unit 52 for drawing an object.
- IZF interface
- the initial mesh generation unit 30 generates a triangular mesh inside a two-dimensional object to be operated by the user in the image.
- the initial mesh generation unit 30 stores the coordinates of the obtained mesh vertices in the storage device 40 as original shape data 44.
- the processing of the initial mesh generation unit 30 is known in the art, and this processing does not form part of the present invention.
- the object having a two-dimensional shape may be vector graphics or a bitmap image. What is necessary is that the two-dimensional shape should be obtained as a closed polygon. If the image is a bitmap image, the background can be erased and the outer contour can be traced to create a polygon with a closed boundary.
- the initial mesh generation unit 30 generates a triangular mesh inside the polygon whose boundary is closed, and stores the coordinate data of the vertex in the storage device 40 as the original shape data 44.
- Various methods are known for generating a triangular mesh. In the present embodiment, it is desirable to generate substantially equilateral triangles over the entire polygonal region with closed boundaries.
- the initial mesh generation unit 30 repeatedly corrects the mesh by adjusting the position of the vertex and the connection of the mesh with the constraint draw-division as a base point. The data power of the mesh coordinates finally obtained is used as the original shape data 44 for later processing.
- the registration processing unit 32 and the compilation processing unit 34 perform preprocessing of processing in the first mesh generation unit 36 and the second mesh generation unit 38, which will be described in detail later.
- the registration processing unit 32 performs necessary processing when a user operates the input device 12 to generate a mesh on a two-dimensional object displayed on the screen of the display device 14.
- the compilation processing unit 34 executes necessary processing when the handle force is arranged, added or deleted.
- the handle can be set by the user operating the mouse and clicking on the displayed two-dimensional shape.
- the image processing system The memory 10 stores the coordinates of the handle in the storage device 40.
- the handle can be moved with the handle set or by specifying the handle and the user dragging the mouse.
- the system may update the coordinates of the handle stored in the storage device 40 as the handle is moved. Note that the processing executed in the image processing system 10 when the handle is arranged, added or deleted is different from the processing executed in the image processing system 10 when the handle is moved. This will be described in detail again with reference to the flowcharts of FIGS.
- the user places one or more handles on the shape and interactively moves the handles (see symbols (b) and (c) in FIG. 3).
- the user can set the handle by placing the icon in the desired position on the shape and clicking it, and move the handle set by dragging. Can do.
- the user arranges the handle at an arbitrary position so that the mesh structure can be deformed to include the handle.
- the image processing system executes additional preprocessing (reference (b) in FIG. 3). This process is called “compilation”. This process obtains information indicating the structure of the handle as an input, that is, which is the vertex set as the handle, and returns the shape of the process result as output (receives the coordinates of the node and handle) And a function that returns the positions of the remaining mesh vertices.
- image processing system 10 is responsible for the updated handle configuration. Send to the number.
- mesh generation is realized by the two processes of the first mesh generation processing unit 36 and the second mesh generation processing unit 38 executing the processing sequentially.
- the input to the algorithm is the x—y coordinates of the constrained mesh vector (see symbol a in Figure 4), and the output minimizes the distortion associated with each of the processed mesh triangles.
- the coordinates of the remaining free vertices other than the constrained vertices see symbol d in Fig. 4).
- the main problem is how to define the distortion of the triangle.
- a second-order error metric is designed for free variables, and the minimization problem is solved by simple matrix operations.
- intermediate mesh data 46 which is an intermediate result, is generated (see symbol b in FIG. 4).
- the generated intermediate mesh data 46 is stored in the storage device 40.
- the subsequent processing in the second mesh generation processing unit 38 is divided into two consecutive processes.
- the second mesh generation processing unit 38 first adds a triangle without changing the scale (a triangle based on the intermediate mesh data 46 obtained by the first mesh generation processing unit 36). Fit an intermediate triangle (see c in Figure 4).
- the second mesh processing unit 38 stores the data related to the fitted triangle in the storage device 40 as matched mesh data 48.
- the second mesh generation processing unit 38 minimizes an error metric representing a difference between the triangle based on the final processing result (final mesh data 50) and the triangle based on the matching mesh data 48.
- calculate the final processing result see symbol d in Fig. 4
- the final mesh data 50 obtained in this way is stored in the storage device 40.
- the two-dimensional object is displayed on the screen of the display device 14 as a set of triangular meshes based on the final mesh data 50.
- the intermediate mesh data 46 which is an intermediate result, is minimized by minimizing an error function that allows rotation and scaling. Is generated.
- the input is the X—y coordinates of the constrained vertices in the original shape data 44 stored in the storage device 40, and the output is the X—y coordinates of the remaining free vertices other than the constrained vertices. It is.
- FIG. 5 is a diagram for explaining an error function in the processing by the first mesh generation unit that works according to the present embodiment.
- v2 desired fits the original triangle over the target triangle so that ⁇ and vl match vO 'and VI' by translation, rotation, and scaling, respectively. Acquired by (fit).
- the error function for the triangle ⁇ vO, vl, v2 ⁇ is defined as follows (see FIG. 5).
- the first mesh generation unit 36 first uses the local coordinates defined by vO and vl'. Calculate the relative coordinates ⁇ x, y ⁇ of ⁇ 2 '.
- Equation 1 Given vO, vl, xOl and yOl, the first mesh generator 36 can calculate a desired position for v2 (this corresponds to v2 desired ).
- the error for the entire mesh is simply the sum of the errors for all triangles in the mesh.
- G step1 ' was obtained by removing the component relating constrained variables G STEPL matrix "2mX2m", B STEPL is G STEPL and constrained variable force sizes can also be obtained in the "m" Is a vector.
- G step1 ′ is a fixed value and only B stepl changes during manipulation, by calculating the reciprocal of G step1 ′ at the beginning of the interaction, ⁇ u '' is calculated by simple matrix multiplication be able to.
- the LU decomposition of G step1 ′ is calculated and stored in the storage device 40.
- a symbol b in FIG. 4 shows an outline of a processing result by the first mesh generation unit 36. Since only a single matrix multiplication is required during the interaction, the computation speed can be increased.
- E stepl is expressed as 2n variables V, V, V, V, V, V, V, V, V, V, V, V
- E stepl a water v water v + b water V water V + c water V water v G stepl can be obtained as follows.
- the image processing system 10 firstly performs error metric to allow scaling. Is generated to generate an intermediate result (intermediate mesh data 46) (symbol b in Fig. 4). Next, the image processing system 10 fits the triangle based on the original shape data 44 to the corresponding triangle in the intermediate result (intermediate mesh data) to obtain the matched mesh data 48 (reference numeral c in FIG. 4). . Finally, the image processing system 10 generates the final result (final mesh data 50) by minimizing the difference between the fitted triangle and the corresponding triangle in the final result.
- the second mesh generation unit 38 acquires the intermediate mesh data 46 (X—y coordinates of all vertices) stored in the storage device 40 as input, and adjusts the size of the triangles in the mesh. Then, the final mesh data 50 (updated x—y coordinates of free vertices) that is the final result is returned as output.
- the second mesh generation unit 38 matches each triangle based on the original shape data 44 with a corresponding triangle based on the intermediate mesh data 46.
- the rotation and translation of the triangle are allowed, but if it is distorted, non-uniform stretching and scaling are not allowed (see symbol c in Fig. 4).
- the matching process for generating the matching mesh data is as follows.
- vl intermediate , and the corresponding triangle ⁇ ', vl', ⁇ 2 ' ⁇ based on the original shape data 44, are congruent with the triangle ⁇ ', vl ', ⁇ 2' ⁇ , and The problem is to find a new triangle ⁇ v0, vl, v2 ⁇ that minimizes the following function (see Fig. 6).
- the original triangle is fitted to an intermediate triangle by translation and rotation.
- v2 is expressed as follows using ⁇ and vl.
- Ox O lx ly is a quadratic expression of two free variables. E fitting can be minimized by setting the gradient VE fitting so that the four free variables are zero. The result is a simple system of four equations that can be solved.
- VE fittin g ⁇ dE / v ⁇ / ⁇ , dE / v , dE / v ⁇
- the second mesh generation unit 38 minimizes the difference between the triangle based on the final mesh data and the triangle based on the matched mesh data, so that the constrained vertex given X— Calculate the final X —y coordinates of the free vertices other than the constrained vertices with respect to the y coordinate (see symbol d in FIG. 4). It should be noted here that only conforming mesh data 48 is used and intermediate mesh data 46 is not used.
- the image processing system 10 calculates the difference between the fitted triangle edge vector and the target triangle edge vector.
- the following quadratic error function Given a triangle ⁇ vo fi1 ted , yetted, yetted ⁇ based on conforming mesh data 48, the following quadratic error function can be defined:
- G step2 ′ is a fixed value and B step2 ′ changes during manipulation
- u is calculated by simply multiplying the matrix by calculating the inverse function of G step2 ′ at the beginning of the interaction. can do.
- the LU decomposition of G step2 ' is calculated and stored in the storage device 40.
- G step2 can also be obtained by equation modification based on equation (11), as with G stepl .
- FIG. 8 and FIG. 9 are flowcharts showing processing executed in the image processing system 10 that works according to the present embodiment.
- the registration processing unit 32, the compilation processing unit 34, the first mesh generation unit 36, and the second mesh generation unit 38 of the image processing system 10 read data necessary for processing from the storage device 40, and The data generated by the processing is stored in the storage device 40.
- the initial mesh generation unit 30 generates original shape data including the coordinates of the vertices of the triangle generated inside the object by a well-known method, and stores it in the storage device 40 (step 801).
- the image generation unit 52 reads the data from the storage device 40, and for example, a 2D object based on the original shape data is arranged in the background. An image is generated (step 802).
- the registration processing unit 32 When the original shape data is newly generated, the registration processing unit 32 is activated, reads the original shape data from the storage device 40, and shows the equation (5) based on the vertex coordinates. matrix G STEPL, and calculates the G step2 shown in equation (11) (step 8 03). Next, the registration processing unit 32 calculates a matrix Giitting and an inverse matrix G fitting_1 shown in Equation (9) for each triangle based on the original shape data (Step 804). The calculated matrix data is stored in the storage device 40. These G stepl, G s tep2, G fitting and G Fitting_1, unless newly created original shape data, again It is not calculated, and the following arrangement of the handle by user interaction, etc.
- step 805 When the user operates the input device 12 to place a handle on the two-dimensional object displayed on the screen of the display device 14, or to add or delete a handle (step 805), In response, the compilation processing unit 34 is activated. Konno I Leh Chillon processor 34, G STEPL obtained in step 803, based on G step2, by removing the component relating to the vertices to be bound by the setting of the handle, (6) shows expression in the matrix G step1 ' And a matrix G step2 ′ shown in the equation (1 2) is generated (step 806). Then, comparator I rate Chillon processing unit 34, the inverse matrix G STEPL of the resulting matrix in step 806 '_1, and, G step2' generates a _ 1 (step 807). The data of the inverse matrix G stepl ' _1 and G step2 ' _1 obtained in step 807 is stored in the storage device 40.
- G step1 ′ and G step2 ′ are matrices obtained by removing the constrained components of the matrices G stepl and G step2 , respectively.
- step 900 when the user operates input device 12 to move any handle (step 900), calculation by first mesh generation unit 36 and second mesh generation unit 38 is started.
- the first mesh generation unit 36 Based on the updated position of the constrained vertex as the handle moves, the first mesh generation unit 36 generates the vector B stepl shown in equation (6) (step 901).
- the product of the inverse matrix G stepl ' _1 of the matrix G step1 ' and B stepl can also be obtained as intermediate coordinate data (ie, intermediate mesh data 46). Therefore, the first mesh generation unit 36 reads G stepl ' _1 calculated in step 806 and stored in the storage device 40, and multiplies it with the vector B stepl obtained in step 901 (step 902).
- the first mesh generation unit 36 stores the result thus obtained in the storage device 40 as intermediate mesh data 46.
- the second mesh generation unit 38 reads the intermediate mesh data 46 from the storage device 40, and applies the vector B fitting shown in Equation (9) for each triangle based on the intermediate mesh data 46. Calculate (step 903).
- the product of the inverse matrix G iitting_1 of the matrix G fitting and B fitting is obtained, and the scale is expressed as (I vO '-vl'
- the second mesh generation unit 38 reads G fitting — 1 generated in step 804 and stored in the storage device 40, takes the product of B itti ng calculated in step 903, and calculates the scale. Is adjusted (step 904).
- the second mesh generation unit 40 stores the data thus obtained in the storage device 40 as the matching mesh data.
- the second mesh generation unit 38 calculates the vector B step2 shown in equation (11) based on the coordinates of the triangle based on the matching mesh data (step 905), and then the vector B ste Based on p2 (by removing the constrained component), a vector B step2 ′ is calculated (step 906).
- the image generating unit 52 reads the final mesh data 50 and, for example, uses a two-dimensional object based on the original shape data as a background. Is generated and displayed on the screen of the display device 14 (step 908).
- step 900 the processing from step 901 to step 907 is executed, the final mesh data is updated, and the storage device 40 is updated.
- the image generation unit 52 generates an image and displays it on the screen of the display device 14. That is, as long as the handle is moved, the process shown in FIG. 8 is not executed. In other words, it is possible to vector B STEPL, B fitting, only multiplication of B step2 and B step2 'product and matrix is performed in Rukoto, to appropriately deform the object.
- the compilation processing unit 34 When the handle is arranged, added, or deleted, the compilation processing unit 34 generates the matrices G stepl ′, G step2 ′ and their inverse matrices. However, the processing of the registration unit 32 does not need to be newly executed unless a new object mesh is generated.
- intermediate mesh data which is intermediate triangular mesh data in which error metric that allows rotation and enlargement / reduction of the triangular mesh is minimized
- the final triangular mesh data is minimized so as to minimize the error function that does not allow distortion, uneven expansion / contraction, and rotation reduction while allowing rotation and translation. Calculate and store. In this way, natural deformation of the object can be realized by deforming the mesh in two stages.
- the operator uses the mouse to place, add, delete, or move any handle on the object.
- the operator uses the mouse to place, add, delete, or move any handle on the object.
- three handles are placed on an object, for example, the object is deformed by the operator moving the right handle further to the right.
- the arrangement of the handle can be realized by another input device that is not limited to the mouse.
- a multipoint 'tracking device can be utilized. When using a multi-point 'tracking' device, the user refers to the object displayed on the screen of the display device, grabs the shape of the 2D object directly with both hands, and maps the shape. can do.
- each of the triangular meshes representing the object can be controlled. For example, given one or more triangle meshes are given a predetermined amount (for example, 10000), and other triangle meshes are given a weight of “1”, giving a given amount of triangles.
- the mesh has rigidity and can be made difficult to be deformed by moving the handle.
- the present invention is applied to the manipulation of a two-dimensional object, but the present invention is not limited to this.
- the present invention may be applied to a manipulation of a three-dimensional object. it can.
- the triangle object in addition to (X coordinate, y coordinate), the triangle object is given three-dimensional coordinates including the z value representing the depth. Initially, the z value is “0”, but when manipulating, when different meshes overlap, the z value is set according to the predetermined order of overlap (which comes first). By giving, it becomes possible to represent either triangle mesh in front.
- the two-stage processing algorithm (that is, processing using the first mesh generation unit and the second mesh generation unit) according to the present invention can be applied to curve editing.
- a polyline is input.
- the mesh generation unit in the present embodiment generates a plurality of triangular meshes based on polylines, thereby making it possible to apply the present invention to curve editing.
- the initial mesh generation is performed.
- the forming unit 30 divides the curve into a plurality of polylines and stores the coordinate data and the like in the storage device 40 (step 1002).
- the initial mesh generation unit 30 creates, for example, a triangle connecting three consecutive vertices of the polyline (step 1003), and uses this as a triangular mesh, and the coordinate data is stored in the storage device 40 as original shape data 44.
- the original shape data includes information (connection information) indicating whether a curve is formed by connecting the coordinates of V and deviation.
- any of the coordinates indicated in the final mesh data 50 should be connected according to the connection information.
- a curve is generated (step 1012) and displayed on the screen of the display device 14.
- FIG. 11 is a diagram illustrating an example of editing a curve displayed on the screen of the display device.
- the curve behaves as if the force has rigidity.
- the curve is arbitrarily expanded and reduced.
- the handle shown with a human hand in the figure
- the left diagram in Fig. 11 shows the case where only the processing by the first mesh generator is performed (comparative example), and the right diagram shows the processing by both the first mesh generator and the second mesh generator. (Example) is shown.
- the stretched area increases and the crushed area shrinks.
- an example (example) to which the present invention is applied a more natural result is obtained.
- a “peeling” interface is provided so that the user can directly adjust the area to be affected during the interaction.
- the area to be affected increases as the user drags the curve further away (see FIG. 11). This eliminates the need for the user to specify areas that should be affected in advance, and makes the interaction more intuitive.
- FIG. 12 is a diagram showing an example of curve editing using the “peeling” interface.
- the area to be affected increases (in the figure) , See left to right).
- the user can also clearly specify the area in advance (see the lower left in the figure).
- the initial mesh generation unit 30 may store the pin coordinates in the storage device 40, and the pin coordinates may be used in the processing.
- FIG. 1 is a block diagram showing a hardware configuration of an image processing system that is useful in the present embodiment.
- FIG. 2 is a functional block diagram of an image processing system that is useful in the present embodiment.
- FIG. 3 shows the processing (registration) performed by the image processing system that is effective in this embodiment.
- FIG. 4 is a diagram for explaining generation of a handle configuration, first mesh generation, and two-stage second mesh generation by the image processing system according to the present embodiment.
- FIG. 5 is a diagram for explaining an error function in the processing by the first mesh generation unit that is useful in the present embodiment.
- FIG. 6 is a diagram for explaining a fitting (fitting), which is the first step, in the processing by the second mesh generation unit that is helpful in the present embodiment.
- FIG. 7 is a diagram for explaining a second step in the processing by the second mesh generation unit that is helpful in the present embodiment.
- FIG. 8 is a flowchart showing processing executed in the image processing system 10 according to the present embodiment.
- FIG. 9 is a flowchart showing processing executed in the image processing system 10 according to the present embodiment.
- FIGS. 10A and 10B show image processing when the present invention is used for curve editing.
- 3 is a flowchart showing processing executed in the system 10.
- FIG. 11 is a diagram showing an example of curve editing using the present invention.
- FIG. 12 is a diagram showing another example of curve editing using the present invention.
- FIG. 13 is a diagram for explaining generation of a triangular mesh when the present invention is used for editing a curve.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
著しく短い処理時間で、オブジェクトが自然に変形できる。画像処理システム10は、三角形メッシュにおける固定すべき点および移動される点を含む、複数のハンドル位置を示す情報に基づいて、オリジナル形状の三角形メッシュについて、その回転および拡大/縮小を許容しつつ、オリジナル三角形メッシュと、処理後の中間的な三角形メッシュとの間の差異を表現した2次の誤り計量が最小となるような、中間的な三角形メッシュのデータを生成する第1のメッシュ生成部36と、中間的な三角形メッシュについて、その回転および平行移動を許容しつつ、不均一な歪、伸縮および拡大/縮小を許容しない状態で、中間的な三角形メッシュと、最終的な三角形メッシュとの間の差異を表現した誤り計量が最小となるような、最終的な三角形メッシュのデータを生成する第2のメッシュ生成部38と、を備える。
Description
明 細 書
画像処理システムおよび画像処理プログラム
技術分野
[0001] 本発明は、表示されたオブジェクトを自在に変形させることができる画像処理装置 および画像処理プログラムに関する。
背景技術
[0002] 画像中の 2次元のオブジェクトを、ユーザの指示にしたがって操作する、たとえば、 移動、回転、伸縮、曲げるための技術が提案されている。従来、このような操作のた めに、画像中のオブジェクトを三角形のメッシュで仕切り、そのメッシュを変形させるこ とで、オブジェクトを変形させていた。
[0003] 形状を操作する手法として、予め定義されたスケルトンを利用することが知られてい る。ユーザが、スケルトンの形状を操作すると、画像処理システムが、操作されたスケ ルトンの形状にしたがって、全体の形状を調整する。し力しながら、スケルトン形状の 定義は、簡単な処理ではなぐアメーバのような明瞭なスケルトン構造をもたないォブ ジェタトに対しては有効ではな 、と 、う問題点があった。
[0004] 他の公知の手法として、フリー'フォーム 'デフォーメーシヨン(Free Form Deformati on: FFD)が知られている。ユーザが、空間を複数のドメインに分割し、かつ、各ドメイ ンを定義する制御ポイントを動かすことによりドメインを操作する。し力しながら、 FFD の設定は面倒であり、ユーザは、数多くの頂点を手動で操作する必要があるという問 題点があった。
非特許文献 1: "ラプラシアン'サーフェイス ·エディティング(Laplacian SurfaceEditing) " (オルガ'ソルキネ (Orga Solkine)他著、ユーログラフィクス ZACM SIGGRAPH シンポジウム(Eurographics/ACM SIGGRAPH Symposium)、 179— 188)、 [on line ] , 2004年 7月 9日、 [平成 17年 2月 23日検索]、インターネット、 <URL:http://ww w— sop.inna.fr/ geometnca/ events/ sgp2004/ program.html
発明の開示
発明が解決しょうとする課題
[0005] 非特許文献 1には、 2次元オブジェクトを構成する三角形メッシュのそれぞれを拡大 Z縮小、回転させて、新たな三角形メッシュを生成し、新たな三角形メッシュに基づく 2次元オブジェクトを表示させる手法が提案されて 、る。
[0006] この場合にも、オブジェクトの変形が自然であり、かつ、その処理時間が短いような システムやプログラムが望まし 、。
[0007] 本発明は、オブジェクトが自然に変形でき、かつ、その処理時間も著しく短い画像 処理システムおよび画像処理プログラムを提供することを目的とする。 課題を解決するための手段
[0008] 本発明は、スケルトンや FFDを用いずに、形状を操作する手法を提供する。ユーザ は、ハンドルとして、オブジェクトの内側に複数のポイントを設定し、これらハンドルを 所望の位置に移動させる。
[0009] 次いで、画像処理システムは、局所的な形状のひずみを最小化させつつ、与えら れたノヽンドルの位置にしたがって、全体の形状を変形させる。本発明に力かる手法に よれば、オブジェクトの形状を自然に変形することができ、かつ、従来のオブジェクト の埋め込まれた空間自体を歪ませる手法と比較して、処理結果、つまり、オブジェクト の動きは、実際の世界でのオブジェクトの振る舞いに近 、ものとなる。
[0010] 本発明においては、歪を最小限にするために、形状の構成を見出すために、基本 的には、 2つのステップの閉じた (繰り返し演算に頼らず一通りの計算で結果がでる) アルゴリズムが設けられる。従来の手法では、物理ベースのシミュレーション、あるい は、非線形の最適化が用いられていた。しかしながら、ユーザとの間の対話的な操作 (インタラクション)では、これらの手法は低速である。
[0011] キーポイントは、二次の誤り計量を適切に設計して、最小化の問題を、線形の連立 方程式として定式ィ匕することにある。インタラクションの冒頭で連立方程式を解くこと により、画像処理システムは、単一の行列の乗算により解を見出すことができる。理想 的には、ある形状の全ての属性を取り扱うような単一の二次の誤り関数を有するのが 望ましいが、このような単一の誤り関数を設計することは困難である。そこで、本発明 においては、上記最小化の問題点を、回転方向の問題と、大きさの問題とに分けた。 これにより、本発明では、問題は、二つの最小二乗法の最小化の問題に分解され、
それぞれが順番に解かれる。
[0012] より詳細には、本発明の目的は、変形すべきオブジェクトを構成する三角形メッシュ のデータ力 なるオリジナル形状データが記憶された記憶装置を有する画像処理シ ステムにおいて、
前記入力装置からの、前記画像中の前記三角形メッシュにおける固定すべき点お よび移動される点を含む、複数のハンドル位置を示す情報に基づいて、前記オリジ ナル形状データを前記記憶装置から読み出して、当該オリジナル形状データが示す それぞれのオリジナル三角形メッシュにつ 、て、その回転および拡大 Z縮小を許容 しつつ、オリジナル三角形メッシュと、処理後の中間的な三角形メッシュとの間の差異 を表現した 2次の誤り計量が最小となるような、中間的な三角形メッシュのデータから なる中間的メッシュデータを生成し、前記記憶装置に記憶する第 1のメッシュ生成手 段と、
前記中間的メッシュデータが示すそれぞれの中間的な三角形メッシュにつ 、て、そ の回転および平行移動を許容しつつ、不均一な歪、伸縮および拡大 Z縮小を許容 しない状態で、前記中間的な三角形メッシュと、最終的な三角形メッシュとの間の差 異を表現した誤り計量が最小となるような、最終的な三角形メッシュのデータ力もなる 最終メッシュデータを生成し、前記記憶装置に記憶する第 2のメッシュ生成手段と、を 備えたことを特徴とする画像処理システムにより達成される。
[0013] 好ま 、実施態様にぉ 、ては、第 2のメッシュ生成手段が、前記オリジナル形状デ ータが示すオリジナル三角形メッシュのそれぞれを回転および平行移動させて、中 間的メッシュデータが示す対応する対応する中間的な三角形メッシュとの間の 2次の 誤り計量を最小化させる、適合ィ匕された三角形メッシュのデータ力もなる適合メッシュ データを生成し、かつ、前記記憶装置に記憶し、
前記適合メッシュデータが示す三角形メッシュと、対応する最終的な三角形メッシュ との間の、三角形の辺を表すベクトルの差を示す 2次の誤り計量が最小となるような、 最終的な三角形メッシュのデータ力もなる最終メッシュデータを生成し、かつ、前記記 憶装置に記憶するように構成されて 、る。
[0014] また、別の好ましい実施態様においては、さらに、前記記憶装置に記憶されたオリ
ジナル形状データ、或いは、最終メッシュデータを読み出して、読み出されたデータ に基づくオブジェクトを含む画像を生成する画像生成手段を備える。
より好ましい実施態様においては、さらに、オリジナル形状データが前記記憶装置 に記憶されると、
(a)前記オリジナル形状データが示すそれぞれのオリジナル三角形メッシュの頂点座 標に基づいて、
^ste l T stepl
匕 (v) =V G V
を満たす行列 Gstepl、および、
-r^,ste 2 step 2
匕 (v) =V G V
を満たす行列 Gstep2
(ただし、
Esteplは、 2n個の変数 vox, voy, vlx, vly, · · · , vnx, vnyによる 2次式で表された 、第 1のメッシュ生成手段における 2次の誤り計量を表す関数
Estep2は、 2n個の変数 vox, voy, vlx, vly, · · · , vnx, vnyによる 2次式で表された 、第 2のメッシュ生成手段による、適合メッシュデータが示す三角形メッシュおよび最 終的な三角形メッシュの差異を表現した 2次の誤り計量を表す関数)
を算出し、
(b) VEfittine{w} =Gfittinew+Bfittine=0
であるような、行列 Gfitting、および、当該 Giittingの逆行列 Gfitting_1
(ただし、
Eiittingは、前記第 2のメッシュ生成手段における、前記オリジナル形状データが示す 三角形メッシュおよび中間的な三角形メッシュの間の差異を表現した 2次の誤り計量 を示す関数)
を算出するように構成されたレジストレーシヨン手段と、
前記入力装置からの情報により、ある位置にハンドルが配置、追加され、あるいは、 ある位置のハンドルが削除されると、
(c)前記 Gsteplおよび Gstep2に関して、ハンドルにより拘束される頂点の成分を除去す ることにより、行列 Gstep1'および Gstep2'を算出し、
(d)前記行列 Gstep1'および Gstep2'の逆行列 Gstepl'_ 1および Gstep2'_1を算出するコンパ ィレーシヨン手段と、を備えている。
[0016] また、さらに好ましい実施態様においては、前記入力装置からの情報により、いず れかの位置のハンドルが移動されると、
前記第 1のメッシュ生成手段が、
(e)前記ハンドルの移動に伴って、三角形メッシュにおける拘束された頂点の更新さ れた位置を用いて、ベクトル Bstepl
(ただし、 VEstepl{u} = Gstep1' + Bstepl = 0
VEstepl {v}は、 Estepl {v} = vTGstepl Vの偏微分)
を算出し、
(f)前記行列 Gstepl'_1と前記 Bsteplとを乗じて、三角形メッシュにおける自由な頂点に 関する座標を含む、中間的なメッシュ三角形の中間的メッシュデータを生成するよう に構成され、かつ、
前記第 2のメッシュ生成手段が、
(g)前記中間的メッシュデータに基づいて、前記ベクトル Bfittingを算出し、
(h)前記行列 Gfitting_1と Bfittingとを乗じて、前記適合化された三角形の適合メッシュデ ータを生成し、
(i)前記適合メッシュデータに基づき、ベクトル Bstep2'
(ただし、 VEstep2{u} =Gstep2 u+Bstep2' = 0
VEstep2{v}は、 Estep2{v} =vTGstep2 V+Bstep2 Vの偏微分)
を算出し、
(j)前記行列 Gstep2'_1とベクトル Bstep2'とを乗じて、最終的な三角形メッシュの最終メッ シュデータを生成するように構成されて 、る。
[0017] ある実施態様においては、前記変形すべきオブジェクトが、前記三角形メッシュによ り構成される 2次元オブジェクトである。或いは、前記変形すべきオブジェクトが曲線 であっても良い。この場合には、画像処理システムは、前記曲線を示すポリラインの データから、前記ラインを構成する頂点の近接する 3点ずつを結んで構成される三角 形メッシュを生成し、当該三角形メッシュのデータを、記憶装置に記憶する初期三角
形メッシュ生成手段を備える。 また、本発明の目的は、変形すべきオブジェクトを構 成する三角形メッシュのデータ力 なるオリジナル形状データが記憶された記憶装置 を有するコンピュータにより読み出し可能な、画像処理プログラムであって、前記コン ピュータに、
前記入力装置からの、前記画像中の前記三角形メッシュにおける固定すべき点お よび移動される点を含む、複数のハンドル位置を示す情報に基づいて、前記オリジ ナル形状データを前記記憶装置から読み出して、当該オリジナル形状データが示す それぞれのオリジナル三角形メッシュにつ 、て、その回転および拡大 z縮小を許容 しつつ、オリジナル三角形メッシュと、処理後の中間的な三角形メッシュとの間の差異 を表す 2次の誤り計量が最小となるような、中間的な三角形メッシュのデータ力もなる 中間的メッシュデータを生成し、前記記憶装置に記憶する第 1のメッシュ生成ステツ プと、
前記中間的メッシュデータが示すそれぞれの中間的な三角形メッシュにつ 、て、そ の回転および平行移動を許容しつつ、不均一な歪、伸縮および拡大 z縮小を許容 しない状態で、前記中間的な三角形メッシュと、最終的な三角形メッシュとの間の差 異を表す誤り計量が最小となるような、最終的な三角形メッシュのデータ力 なる最終 メッシュデータを生成し、前記記憶装置に記憶する第 2のメッシュ生成ステップと、を 実行させることを特徴とする画像処理プログラムにより達成される。
好ましい実施態様においては、前記第 2のメッシュ生成ステップにおいて、前記コン ピュータに、
前記オリジナル形状データが示すオリジナル三角形メッシュのそれぞれを回転およ び平行移動させて、中間的メッシュデータが示す対応する対応する中間的な三角形 メッシュとの間の 2次の誤り計量を最小化させる、適合ィ匕された三角形メッシュのデー タからなる適合メッシュデータを生成し、かつ、前記記憶装置に記憶するステップと、 前記適合メッシュデータが示す三角形メッシュと、対応する最終的な三角形メッシュ との間の、三角形の辺を表すベクトルの差を示す 2次の誤り計量が最小となるような、 最終的な三角形メッシュのデータ力もなる最終メッシュデータを生成し、かつ、前記記 憶装置に記憶するステップとを、実行させる。
[0019] 別の好ましい実施態様においては、前記コンピュータに、さらに、前記記憶装置に 記憶されたオリジナル形状データ、或いは、最終メッシュデータを読み出して、読み 出されたデータに基づくオブジェクトを含む画像を生成する画像生成ステップを、実 行させる。
[0020] より好ましい実施態様においては、さらに、オリジナル形状データが前記記憶装置 に記憶されると、
(a)前記オリジナル形状データが示すそれぞれのオリジナル三角形メッシュの頂点座 標に基づいて、
^ste l T stepl
匕 (v) =V G V
を満たす行列 Gstepl、および、
-r^,ste 2 step 2
匕 (v) =V G V
を満たす行列 Gstep2
(ただし、
Esteplは、 2n個の変数 vox, voy, vlx, vly, · · · , vnx, vnyによる 2次式で表された 、第 1のメッシュ生成ステップにおける 2次の誤り計量を表す関数
Estep2は、 2n個の変数 vox, voy, vlx, vly, · · · , vnx, vnyによる 2次式で表された 、第 2のメッシュ生成ステップによる、適合メッシュデータが示す三角形メッシュおよび 最終的な三角形メッシュの差異を表す 2次の誤り計量を表す関数)
を算出するステップと、
(b) VEfitting{w} =Gfittinew+Bfittine=0
であるような、行列 Gfitting、および、当該 Giittingの逆行列 Gfitting_1
(ただし、
Eiittingは、前記第 2のメッシュ生成ステップにおける、前記オリジナル形状データが示 す三角形メッシュおよび中間的な三角形メッシュの間の差異を表現する 2次の誤り計 量を示す関数)
を算出するステップと、を前記コンピュータに実行させ、さらに、
前記入力装置からの情報により、ある位置にハンドルが配置、追加され、あるいは、 ある位置のハンドルが削除されると、
(c)前記 Gsteplおよび Gstep2に関して、ハンドルにより拘束される頂点の成分を除去す ることにより、行列 Gstep1'および Gstep2'を算出するステップと、
(d)前記行列 Gstep1'および Gstep2'の逆行列 Gstepl'_ 1および Gstep2'_1を算出するステツ プと、を前記コンピュータに実行させる。
[0021] また、さらに好ましい実施態様においては、前記入力装置からの情報により、いず れかの位置のハンドルが移動されると、
前記第 1のメッシュ生成ステップにお 、て、
(e)前記ハンドルの移動に伴って、三角形メッシュにおける拘束された頂点の更新さ れた位置を用いて、ベクトル Bstepl
(ただし、 VEstepl{u} = Gstep1' + Bstepl = 0
VEstepl {v}は、 Estepl {v} = vTGstepl Vの偏微分)
を算出するステップと、
(f)前記行列 Gstepl'_1と前記 Bsteplとを乗じて、三角形メッシュにおける自由な頂点に 関する座標を含む、中間的なメッシュ三角形の中間的メッシュデータを生成するステ ップと、を前記コンピュータに実行させ、かつ、
前記第 2のメッシュ生成ステップにお 、て、
(g)前記中間的メッシュデータに基づいて、前記ベクトル Bfittingを算出するステップと
(h)前記行列 Gfitting_1と Bfittingとを乗じて、前記適合化された三角形の適合メッシュデ ータを生成するステップと、
(i)前記適合メッシュデータに基づき、ベクトル Bstep2'
(ただし、 VEstep2{u} =Gstep2 u+Bstep2' = 0
VEstep2{v}は、 Estep2{v} =vTGstep2 V+Bstep2 Vの偏微分)
を算出するステップと、
(j)前記行列 Gstep2'_1とベクトル Bstep2'とを乗じて、最終的な三角形メッシュの最終メッ シュデータを生成するステップと、を前記コンピュータに実行させる。
[0022] ある実施態様にぉ 、ては、前記変形すべきオブジェクトが、前記三角形メッシュによ り構成される 2次元オブジェクトである。或いは、前記変形すべきオブジェクトが曲線
であり、さらに、画像処理プログラム力 コンピュータに、曲線を示すポリラインのデー タから、前記ラインを構成する頂点の近接する 3点ずつを結んで構成される三角形メ ッシュを生成し、当該三角形メッシュのデータを、記憶装置に記憶する初期三角形メ ッシュ生成ステップを実行させても良 、。
発明の効果
[0023] 本発明によれば、オブジェクトを自然に変形でき、かつ、その処理時間も著しく短!ヽ 画像処理システムおよび画像処理プログラムを提供することが可能となる。
発明を実施するための最良の形態
[0024] 以下、添付図面を参照して、本発明の実施の形態について説明する。
[システム構成]
図 1は、本実施の形態にカゝかる画像処理システムのハードウェア構成を示すブロッ クダイヤグラムである。図 1に示すように、画像処理システム 10は、ノ ス 11を介して接 続された、マウスやキーボードなどの入力装置 12、表示装置 14、 CDや DVDなどの 可搬記憶媒体 18への読み書きを実行するドライバ 16、 CPU20、 ROM22、 RAM2 4、および、ハードディスクなどの外部記憶装置 26を備えている。すなわち、通常の ノ ーソナルコンピュータに、当該パーソナルコンピュータに実行させる処理ステップ( これらについては後に詳細に説明する)を含むコンピュータプログラムを、インスト一 ルすることにより実現される。
[0025] 図 2は、本実施の形態に力かる画像処理システムの機能ブロックダイヤグラムである 。図 2に示すように、画像処理システム 10は、機能的には、初期メッシュ生成部 30、 レジストレーシヨン処理部 32、コンパィレーシヨン処理部 34、および、第 1のメッシュ生 成部 36、第 2のメッシュ生成部 38を備える。これらの機能は、主として CPU20により 実現される。また、画像処理システム 10は、後述する画像データを記憶する記憶装 置 40を備える。この機能は、主として、 RAM24により実現される。また、図 2に示すよ うに、画像処理システム 10は、入力装置からの指示を受け入れて、初期メッシュ生成 部 30などの構成部分に対して、当該指示を与え、或いは、生成されたデータに基づ く画像を表示装置 14に出力するインタフェース (IZF) 42、および、記憶装置 40に 記憶されたデータ (たとえば、オリジナル形状データ、最終メッシュデータ)に基づい
て、オブジェクトを描画する画像生成部 52を有する。
[処理の概略]
初期メッシュ生成部 30は、画像中、ユーザにより操作させるべき 2次元形状のォブ ジェタトの内部に三角形のメッシュを生成する。初期メッシュ生成部 30は、得られたメ ッシュの頂点の座標を、オリジナル形状データ 44として記憶装置 40に記憶する。初 期メッシュ生成部 30の処理は、従来力 知られており、この処理は、本発明の一部を なすものではない。
[0026] 2次元形状のオブジェクトは、ベクトル 'グラフィクスであっても良いし、ビットマップィ メージであっても良い。必要なことは、 2次元形状の境界が閉じた多角形として得られ ていれば良い。また、画像がビットマップイメージである場合には、背景を消去して、 外側の輪郭をトレースしておくことで、境界を閉じた多角形とすることができる。初期メ ッシュ生成部 30は、境界が閉じた多角形の内側に、三角形のメッシュを生成し、その 頂点の座標のデータを、オリジナル形状データ 44として記憶装置 40に記憶する。三 角形メッシュを生成するためには、種々の手法が知られている。本実施の形態にお いては、ほぼ等辺の三角形を、境界が閉じた多角形の領域全体にわたって生成する のが望ましい。初期メッシュ生成部 30は、拘束デロー-分割を基点として、頂点の位 置およびメッシュの連結を調整することで、繰り返しメッシュを修正する。最終的に得 られたメッシュの座標のデータ力 オリジナル形状データ 44として、後の処理に使用 される。
[前処理]
また、レジストレーショ処理部 32およびコンパィレーシヨン処理部 34は、後に詳述 する第 1のメッシュ生成部 36および第 2のメッシュ生成部 38における処理の前処理を 実行する。レジストレーシヨン処理部 32は、ユーザが、入力装置 12を操作して、表示 装置 14の画面上に表示された 2次元形状のオブジェクトに、メッシュが生成されたと きに、必要な処理を実行する。また、コンパィレーシヨン処理部 34は、ハンドル力 配 置、追加或いは削除されたときに、必要な処理を実行する。
[0027] ここに、本明細書において、ハンドルは、ユーザがマウスを操作して、表示された 2 次元形状の上でクリックすることで、設定することができる。この際に、画像処理システ
ム 10は、記憶装置 40中に、ハンドルの座標を記憶しておく。また、ハンドルを設定し た状態で、或いは、ハンドルを指定して、ユーザが、マウスをドラッグすることで、ハン ドルを移動させることができる。ハンドルの移動に伴って、システムは、記憶装置 40に 記憶されたハンドルの座標を更新すれば良い。なお、ハンドルが配置、追加或いは 削除された場合に、画像処理システム 10において実行される処理と、ハンドルが移 動された場合に、画像処理システム 10において実行される処理とは異なる。これに ついては、図 8および図 9のフローチャートを参照して、再度詳細に説明する。
[0028] なお、以下、ユーザがハンドルを設定し、或いは、ハンドルを移動させて、それに応 答して、システムが処理を実行することを、「インタラクション」とも称する。また、ユーザ 力 ハンドルの設定や移動により、 2次元形状のオブジェクトを変形させることを、「マ -ピユレーシヨン」とも称する。
[0029] ユーザは、形状の上に 1以上のハンドルを配置し、対話的にハンドルを移動させる( 図 3の符号 (b)および (c)参照)。マウスを利用する場合に、ユーザは、アイコンを形 状の上の所望の位置に配置して、クリックすることで、ハンドルを設定することができ、 かつ、ドラッグにより設定したノヽンドルを移動することができる。
[0030] 現状では、本発明にお 、て、ユーザは、ハンドルを任意の位置に配置して、メッシ ュ構造を、ハンドルを含むように変形できるようにして 、る。
[0031] 第 1に、形状のマニピュレーションは、三角形のメッシュに適用される。次いで、シス テムは、元の線および画像を、元のメッシュ力も変形されたメッシュに写像する。
[0032] ベクトル ·グラフィクスを操作する場合に、メッシュの対応する三角形中、それぞれの 頂点の重心座標 (barycentric coordinates)が利用される。ビットマップイメージを操作 するときには、単純な線形写像が利用される。
[0033] 画像処理システムは、新たなハンドルが追加され、或いは、ハンドルが削除されたと きに、追カ卩的な前処理を実行する(図 3の符号 (b) )。この処理を、「コンパィレーショ ン」と称する。この処理は、入力としてハンドルの構成、つまり、どれがハンドルとして 設定された頂点であるかを示す情報を取得し、出力として、処理結果の形状を返す ような関数 (ノ、ンドルの座標を受け取ると残りのメッシュの頂点の位置を返す関数)を 返す。インタラクションの間、画像処理システム 10は、更新されたハンドルの構成を関
数に送る。
[メッシュ生成の概略]
本実施の形態では、第 1のメッシュ生成処理部 36および第 2のメッシュ生成処理部 38の 2つがシーケンシャルに処理を実行することで、メッシュ生成が実現される。この メッシュ生成において、アルゴリズムへの入力は、拘束されたメッシュベクトルの x—y 座標であり(図 4の符号 a参照)、出力は、処理されたメッシュ三角形のそれぞれに関 連する歪みを最小化するような、拘束された頂点以外の、残りの自由な頂点の座標 である(図 4の符号 d参照)。主たる問題は、どのように三角形の歪みを定義するかに ある。本実施の形態においては、自由変数において二次の誤り計量 (error metric)を デザインして、単純な行列演算により最小化の問題を解決する。
[0034] 第 1のメッシュ生成処理部 36では、拘束された頂点の座標を与えたときに、歪みや 非均一は伸縮を回避する一方、回転および拡大縮小は認められる誤り計量を最小 ィ匕することにより、中間結果である中間的メッシュデータ 46が生成される(図 4の符号 b参照)。生成された中間的メッシュデータ 46は、記憶装置 40中に記憶される。
[0035] 引き続ぐ第 2のメッシュ生成処理部 38における処理は、 2つの連続する処理に分 解される。第 2のメッシュ生成処理部 38は、まず、まず、スケールを変更することなぐ もとの三角形 (第 1のメッシュ生成処理部 36で得られた中間的メッシュデータ 46に基 づく三角形)を、さらに中間的な三角形に適合させる(図 4の符号 c参照)。第 2のメッ シュ処理部 38は、この適合された三角形に関するデータを、適合メッシュデータ 48と して、記憶装置 40に記憶する。次いで、第 2のメッシュ生成処理部 38は、最終的な 処理結果 (最終メッシュデータ 50)に基づく三角形と、適合メッシュデータ 48に基づく 三角形との間の相違を表す誤り計量を最小にするような、最終的な処理結果を算出 する(図 4の符号 d参照)。このようにして得られた最終メッシュデータ 50が記憶装置 4 0に記憶される。また、 2次元形状のオブジェクトは、最終メッシュデータ 50に基づく 三角形メッシュの集合として、表示装置 14の画面上に表示される。
[第 1のメッシュ生成部 36における処理]
本実施の形態に力かる第 1のメッシュ生成部 36の処理では、回転および拡大縮小 を認める誤り関数を最小化することにより、中間結果である中間的メッシュデータ 46
を生成する。入力は、記憶装置 40に記憶された、オリジナル形状データ 44中の拘束 された頂点の X— y座標であり、出力は、上記拘束された頂点以外の、残りの自由な 頂点の X— y座標である。
[0036] 本発明に力かるアルゴリズムでは、物理ベースのシミュレーションやリラクゼーション 方法のように、初期的な構成として、以前の結果を利用しないことに留意すべきであ る。本発明では、閉じた形態での解法を提供することができる。
[0037] 図 5は、本実施の形態に力かる第 1のメッシュ生成部による処理における誤り関数を 説明する図である。図 5において、 v2desiredは、平行移動、回転および拡大'縮小によ り、 νθおよび vlが、 vO'、 VI 'にそれぞれマッチするように、ターゲットとなる三角形の 上に元の三角形を適合させる(フィットされる)ことにより取得される。
[0038] 第 1のメッシュ生成部 36の処理において、三角形 {vO, vl, v2}のための誤り関数 は、以下のように定義される(図 5参照)。
[0039] オリジナル形状データに基づく三角形 (νθ' , νΐ ' , ν2' )における対応する三角形 について、第 1のメッシュ生成部 36は、まず、 vO,および vl 'にて定義される局所座 標における ν2'の相対座標 {x , y }を算出する。
01 01
[0040] [数 1]
vO、 vl、 xOlおよび yOlを与えると、第 1のメッシュ生成部 36は、 v2に対する望まし い位置 (これが v2desiredに相当する)を算出することができる。
[0041] [数 2]
desired r *
v2 二 vo + ½ v0v, + y0, R90 v0 νγ where
( 2 )
v2に関する誤りは、以下のように表される
?=1,2,3 . . . (4) 全体のメッシュに対する誤りは、単に、メッシュ中の全ての三角形に対する誤りの合 計となる。誤り計量は、 ντ= {ν , V , V , V , · · ·, V , V }において 2次であるた
ox oy lx ly nx ny
め、誤りを行列の形式で表すことができる。
Stenl r 1 Tハ stepl /「ヽ
[0044] E {v} =v G v … {5)
最小化は、関数 Eの自由変数 UT二 {U , U , U , U , · · ·, !! , U }による偏微
ox oy lx ly mx my
分 VEstepl{v}を 0とすることにより解決することができる。
[0045] VEstepl{u}=Gstepl'+Bstepl = 0 · · · (6)
ここに、 Gstep1'は、 Gsteplの拘束された変数に関する成分を除去することにより得られ た「2mX2m」の行列、 Bsteplは、 Gsteplおよび拘束された変数力も得られるサイズ「m」 のベクトルである。 Gstep1'は固定値であり、 Bsteplのみが、マニピュレーション中に変化 するため、インタラクションの冒頭で、 Gstep1'の逆数を求めておくことで、単なる行列の 乗算によって、「u」を算出することができる。実際には、 Gstep1'の LU分解が算出され 、記憶装置 40に記憶される。 図 4の符号 bは、第 1のメッシュ生成部 36による処理結 果の概略を示す。インタラクションの間に、単一の行列の乗算が必要とされるだけな ので、演算速度を速めることが可能となる。
[0046] 上記式(5)によれば、 Esteplは、 V , V , V , V , · · ·, V , V という 2n個の変数の
Ox Oy lx oy nx ny
2次式で表すことができる。
[0047] たとえば、
Estepl = a水 v 水 v +b水 V 水 V +c水 V 水 v
という 2次式であったとすると、 Gsteplは、以下のように求めることができる。
Ljstepl =
{a b}
{b c}
再度、図 4について説明すると、図 4において、与えられたノヽンドル構成 (handle con figuration)に対して(図 4の符号 a)、画像処理システム 10は、まず、拡大縮小を許す ような誤り計量を最小化することにより、中間結果(中間的メッシュデータ 46)を生成 する(図 4の符号 b)。次いで、画像処理システム 10は、オリジナル形状データ 44に基 づく三角形を、中間結果(中間的メッシュデータ)中の対応する三角形に適合させて 、適合メッシュデータ 48を取得する(図 4の符号 c)。最終的に、画像処理システム 10 は、適合した三角形と、最終結果中の対応する三角形との間の差異を最小化するこ とにより、最終結果 (最終メッシュデータ 50)を生成する。
[第 2のメッシュ生成部 38における処理]
第 2のメッシュ生成部 38は、記憶装置 40に記憶された、中間的メッシュデータ 46 ( 全ての頂点の X— y座標)を入力として取得し、メッシュ中の三角形の大きさを調整す ることで、出力として、最終結果である最終メッシュデータ 50 (自由な頂点の更新され た x—y座標)を出力として返す。
[適合メッシュデータの生成]
第 2のメッシュ生成部 38は、オリジナル形状データ 44に基づく各三角形を、中間的 メッシュデータ 46に基づぐ対応する三角形と適合させる。ここでは、三角形の回転 および平行移動を許容するが、歪みゃ不均一な伸縮や拡大縮小は許容されな ヽ ( 図 4の符号 c参照)。適合メッシュデータを生成する適合処理は以下のとおりである。
[0048]
vl intermediate, 、 および、オリジナル形状データ 44に基づぐ対応する三角形 {νθ' , vl ' , ν2' }を与 えたときに、三角形 {νθ' , vl ' , ν2' }と合同で、かつ、以下の関数を最小化する新た な三角形 {v0, vl, v2}を見出すことが問題となる(図 6参照)。図 6においては、平行 移動および回転により、元の三角形が中間的な三角形に適合 (fitting)されている。
上記数式の解を直接得ることは容易ではないため、まず、拡大縮小を許容して誤り を最小化し、かつ、その後にスケールを調整することにより、近似している。第 1のメッ シュ生成部 36の処理に関して、 v2を、 νθおよび vlを用いて以下のように表した。
[数 6] v2 = vQ + xm vQvl + γΜ 90ν0ν{
• · · ( 8 ) この式を、誤り関数に投入することにより、誤り関数は、 wT= {v , V , V , V }の 4
Ox O lx ly つの自由変数の 2次式となる。 4つの自由変数を 0とするよう勾配 VEfittingを設定する ことにより、 Efittingを最小化することができる。結果は、単純な 4つの連立方程式となり 、これを解けば良い。
[0051] VEfitting{w} =Gfittingw+Bfittine=0 …(9)
上記数式を解くことにより、元の三角形 {νθ' , vl ' , ν2' }と類似する、新たに適合さ れた三角形 {vO, vl, v2}を得ることができる。次いで、 I νθ,一 vl, I / I vO-vl
Iの因子で、適合された三角形を拡大縮小することにより、合同の三角形を得ること ができる。本実施の形態においては、この適合処理を全ての三角形に対して施す。
[0052] Gfittingおよび Bfittin%、上記 Gstepl等と同様に算出することができる。 Efittingが、 w= { vox, voy, vlx, vly}の 2次式で得られれば、それを wの各要素で偏微分した VEfitt ingは、(9)式に表すようになる。
[0053] たとえば、
V Efitting = { dE/v άΕ/γ , dE/v , dE/v }
Ox oy lx ly
dE/v =a 水 v +b 水 v +c 水 v +d水 v +e
Ox 0 ox o oy o lx o ly 0
dE/v =a 水 v +b 水 v +c 水 v +d 水 v +e
oy 1 ox 1 oy 1 lx 1 ly 1
dE/v =a 氺 v +b 氺 v +c 氺 v +d 氺 v +e
lx 2 ox 2 oy 2 lx 2 ly 2
dE/v =a 氺 v +b 氺 v +c 氺 v +d氺 v +e
ly 3 ox 3 oy 3 lx 3 ly 3
とすると、
^fitting―
{
{aO, bO, cO, dO}
{al, bl, cl, dl }
{a2, b2, c2, d2}
{a3, b3, c3, d3}
B fitting= {eO, el, e2, e3}
となる。
[最終メッシュデータの生成]
次いで、第 2のメッシュ生成部 38は、最終的なメッシュデータに基づく三角形と、適 合メッシュデータに基づく三角形との間の差異を最小化することで、拘束された頂点 の与えられた X— y座標に対する、拘束された頂点以外の自由な頂点の最終的な X —y座標を算出する(図 4の符号 d参照)。ここでは、適合メッシュデータ 48のみが利 用され、中間的メッシュデータ 46は利用されな 、ことに留意すべきである。
[0054] 図 7に示す単一の三角形 {vO, vl, v2}を参照して説明する。図 7において、画像 処理システム 10は、適合された三角形のエッジベクトルと、ターゲットとなる三角形の エッジベクトルとの間の相違を算出する。適合メッシュデータ 48に基づく三角形 {vofi1 ted, yetted, yetted}を与えると、以下の 2次の誤り関数を定義することができる。
[0055] [数 7]
Inst p 2 sに、,、, Jmm » , J 2
( (0,1),(1, (2¾0)}
• • • ( 1 0 ) ここに、誤りは、頂点ではなくエッジ (ベクトル)であることに留意すべきである。すな わち、ここでは、適合された三角形の方向のみを利用し、その位置は無視される。
[0056] 以下の処理は、第 1のステップと同様に実現される。全てのメッシュに対する誤りは
、行列の形式で表され得る。
[0057] Estep2{v} =vTGstep v+Bstep V · · · (11)
次いで、関数 Eの自由変数 uによる、偏微分 VE を 0にする。
[0058] VEstep2{u} =Gstep2 u+Bstep2' = 0 · · · (12)
Gstep2'が固定値であり、 Bstep2'がマニピュレーションの間に変化するため、インタラタ シヨンの冒頭で、 Gstep2'の逆関数を算出しておくことで、単なる行列の乗算によって、 uを算出することができる。実際には、 Gstep2'の LU分解が算出され、記憶装置 40に
SC fedれる。
[0059] なお、上記 Gstep2も、 Gsteplと同様に、上記(11)式に基づく式変形により求めること ができる。
[実際の処理]
図 8および図 9は、本実施の形態に力かる画像処理システム 10において実行され る処理を示すフローチャートである。画像処理システム 10のレジストレーシヨン処理部 32、コンパィレーシヨン処理部 34、第 1のメッシュ生成部 36および第 2のメッシュ生成 部 38は、処理に必要なデータを記憶装置 40から読み出し、また、処理で生成された データを、記憶装置 40に記憶する。
[0060] 初期メッシュ生成部 30は、周知の手法で、オブジェクトの内部に生成された三角形 の頂点の座標を含むオリジナル形状データを生成し、記憶装置 40に記憶する (ステ ップ 801)。また、画像生成部 52は、オリジナル形状データが生成されると、記憶装 置 40力ら、当該データを読み出して、たとえば、背景に、オリジナル形状データに基 づく 2次元オブジェクトが配置されたような画像を生成する(ステップ 802)。
[0061] レジストレーショ処理部 32は、新たにオリジナル形状データが生成されると、起動し て、記憶装置 40から、オリジナル形状データを読み出して、その頂点座標に基づい て、(5)式に示した行列 Gstepl、および、(11)式に示した Gstep2を算出する (ステップ 8 03)。次いで、レジストレーシヨン処理部 32は、オリジナル形状データに基づく各三角 形について、(9)式に示す行列 Giittingおよびその逆行列 Gfitting_1を算出する (ステツ プ 804)。算出された行列のデータは、記憶装置 40中に記憶される。これら Gstepl、 Gs tep2、 Gfittingおよび Gfitting_1は、新たにオリジナル形状データが作られない限り、再度
算出されることはなく、以下の、ユーザとのインタラクションによるハンドルの配置など
、マニピュレーション中に、記憶装置 40中に格納され、必要に応じて読み出される。
[0062] ユーザが入力装置 12を操作して、表示装置 14の画面中に表示された 2次元ォブ ジェタトに、ハンドルを配置し、或いは、ハンドルを追加、削除すると (ステップ 805)、 これに応答して、コンパィレーシヨン処理部 34が起動する。コンノィレーシヨン処理部 34は、ステップ 803で得られた Gstepl、 Gstep2に基づき、ハンドルの設定により拘束さ れる頂点に関する成分を除去することにより、(6)式に示した行列 Gstep1'、および、(1 2)式に示した行列 Gstep2'を生成する(ステップ 806)。次いで、コンパィレーシヨン処 理部 34は、ステップ 806で生成した行列の逆行列 Gstepl'_1、および、 Gstep2'_ 1を生成 する (ステップ 807)。ステップ 807で得られた逆行列 Gstepl'_1、および、 Gstep2'_1のデ ータは、記憶装置 40に記憶される。
[0063] 前述したように、 Gstep1'、 Gstep2'は、それぞれ、行列 Gstepl、 Gstep2の拘束された成分 を除くことにより得られた行列である。
[0064] たとえば、行列 Gsteplが以下のように表されるとする。
丄
{
{aO, bO, cO, dO} ,
{al, bl, cl, dl } ,
{a2, b2, c2, d2} ,
{a3, b3, c3, d3} , v= iv , V , V , V )
このときに、 Viを除けば、
{aO, bO} ,
{al, bl } ,
となる。
[0065] 次いで、ユーザが入力装置 12を操作して、いずれかのハンドルを移動させると (ス テツプ 900)、第 1のメッシュ生成部 36および第 2のメッシュ生成部 38による演算が開 始される。第 1のメッシュ生成部 36は、ハンドルの移動に伴った、拘束された頂点の 更新された位置に基づ 、て、 (6)式に示したベクトル Bsteplを生成する (ステップ 901) 。 (6)式に示すように、行列 Gstep1'の逆行列 Gstepl'_1と、 Bsteplとの積力も中間座標の データ(つまり、中間的メッシュデータ 46)を求めることができる。したがって、第 1のメ ッシュ生成部 36は、ステップ 806で算出し、記憶装置 40に記憶された Gstepl'_1を読 み出して、ステップ 901で得たベクトル Bsteplと乗ずる(ステップ 902)。第 1のメッシュ 生成部 36は、このようにして得られた結果を、中間的メッシュデータ 46として記憶装 置 40に記憶する。
[0066] その後、第 2のメッシュ生成部 38が、記憶装置 40から、中間的メッシュデータ 46を 読み出して、中間的メッシュデータ 46に基づく各三角形について、(9)式に示すベタ トル Bfittingを算出する (ステップ 903)。ここで、 (9)式に示すように、行列 Gfittingの逆行 列 Giitting_1と Bfittingとの積を得て、かつ、そのスケールを、 ( I vO' -vl ' | / | νθ-ν 1 I )にしたがって調整することで、適合された三角形の座標 (適合メッシュデータ)を 取得することができる。そこで、第 2のメッシュ生成部 38は、ステップ 804で生成され、 記憶装置 40に記憶されていた、 Gfitting_1を読み出して、ステップ 903で算出した Biitti ngとの積をとり、かつ、そのスケールを調整する(ステップ 904)。このようにして得られ たデータを、第 2のメッシュ生成部 40は適合メッシュデータとして、記憶装置 40に記 憶する。
[0067] さらに、第 2のメッシュ生成部 38は、適合メッシュデータに基づく三角形の座標に基 づいて、(11)式に示したベクトル Bstep2を算出し (ステップ 905)、その後、ベクトル Bste p2に基づいて (拘束された成分を除去することで)、ベクトル Bstep2'を算出する (ステツ プ 906)。
[0068] (12)式に示すように、行列 Gstep2'の逆行列 Gstep2'_1と、 Bstep2'との積から、最終的な 座標のデータ (最終メッシュデータ 50)を取得することができる。そこで、第 2のメッシ ュ生成部 38は、ステップ 807で生成し、記憶装置 40に記憶していた Gstep2'_1を読み
出して、ステップ 905で算出した Bstep2'との積をとり、最終的な三角形の座標を取得 する (ステップ 908)。この最終的な三角形の座標が、最終メッシュデータ 50として、 記憶装置 40に記憶される。
[0069] このようにして、最終メッシュデータ 50が記憶装置 40に記憶されると、画像生成部 5 2は、最終メッシュデータ 50を読み出して、たとえば、背景に、オリジナル形状データ に基づく 2次元オブジェクトが配置されたような画像を生成し、表示装置 14の画面上 に表示する(ステップ 908)。
[0070] これ以降、ユーザの入力装置 12の操作によってハンドルが移動された場合には (ス テツプ 900)、ステップ 901からステップ 907の処理が実行されて、最終メッシュデータ が更新され、記憶装置 40中に記憶される。また、この更新された最終メッシュデータ に基づいて、画像生成部 52が、画像を生成して表示装置 14の画面上に表示する。 つまり、ハンドルが移動される限りにおいては、図 8に示す処理は実行されない。つま り、ベクトル Bstepl、 Bfitting、 Bstep2および Bstep2'生成および行列の乗算のみが実行され ることで、オブジェクトを適切に変形させることが可能である。
[0071] また、ハンドルが配置、追加、削除された場合には、コンパィレーシヨン処理部 34に より、行列 Gstepl'、 Gstep2'およびこれらの逆行列の生成が行われる。し力しながら、レ ジストレーシヨン部 32の処理は、新たなオブジェクトのメッシュが生成されない限り、新 たに実行する必要がない。
[0072] このように、本実施の形態によれば、バンドルの移動に伴う演算を軽減することがで きる。また、第 1のメッシュ生成部の処理では、三角形メッシュの回転および拡大縮小 を認める誤り計量を最小化した中間的な三角形メッシュのデータである中間メッシュ データを生成、記憶する。また、第 2のメッシュ生成部の処理では、回転や平行移動 を許容しつつ、歪、不均一な伸縮、回転縮小を許容しない誤り関数を最小化するよう に、最終的な三角形メッシュのデータを算出し、記憶する。このように、 2段階でメッシ ュを変形させることで、オブジェクトの自然な変形を実現することができる。
[0073] 本発明は、以上の実施の形態に限定されることなぐ特許請求の範囲に記載された 発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含される ものであることは言うまでもない。
[0074] たとえば、前記実施の形態においては、オペレータが、マウスを用いて、オブジェク ト上にハンドルを、配置し、追加し、削除し、或いは、いずれかのハンドルを移動して いる。たとえば、図 2に示す例では、 3つのハンドルがオブジェクトに配置され、たとえ ば、オペレータが、右側のハンドルを、さらに右に移動させることで、オブジェクトが変 形されている。しかしながら、ハンドルの配置等のためには、マウスに限定されるもの ではなぐ他の入力装置により、ハンドルの配置等を実現できることは言うまでもない 。たとえば、マルチポイント 'トラッキング ·デバイスを利用することができる。マルチポ イント 'トラッキング 'デバイスを利用する場合には、ユーザは、表示装置の画面上に 表示されたオブジェクトを参照して、両手で直接、 2次元オブジェクトの形状をつかん で、その形状をマ-ピュレートすることができる。
[0075] また、オブジェクトを表す三角形メッシュのそれぞれに異なる重みを与え、形状の局 地的な剛性を制御できるようにすることもできる。たとえば、特定の 1以上の三角形メッ シュに、所定量(たとえば、 10000)の重みを与え、他の三角形メッシュに、「1」の重 みを与えることで、所定量の重みが与えられた三角形メッシュが剛性を持ち、ハンド ルに移動により変形を受け難 、ようにすることができる。
[0076] また、本実施の形態においては、 2次元オブジェクトのマニピュレーションに、本発 明が適用されたがこれに限定されるものではなぐ 3次元オブジェクトのマニピユレ一 シヨンに本発明を適用することもできる。この場合、三角形オブジェクトに (X座標, y座 標)に加えて、奥行きを表す z値を含む三次元の座標を与える。初期的に、 z値は「0」 であるが、マニピュレーションの際に、異なるメッシュが重なるときに、予め決められて いた重なりの順序 (いずれが手前に来るかの順序)にしたがって、 z値を与えることで 、いずれかの三角形メッシュを手前に表すことが可能となる。
[0077] 本発明にかかる 2段階処理のアルゴリズム(つまり、第 1のメッシュ生成部および第 2 のメッシュ生成部を利用した処理)を、曲線の編集にも適用することができる。 2次元 オブジェクトにおける三角形メッシュの代わりに、ポリラインを入力とする。本実施の形 態におけるメッシュ生成部は、図 13に示すように、ポリラインに基づいて、複数の三角 形メッシュを生成することで、曲線の編集に本発明を適用可能としている。
[0078] つまり、図 10Aに示すように、曲線が与えられると (ステップ 1001)、初期メッシュ生
成部 30が、曲線を複数のポリラインに分割し、その座標データ等を、記憶装置 40〖こ 記憶する (ステップ 1002)。次いで、初期メッシュ生成部 30は、たとえば、ポリラインの 連続する 3つの頂点を結ぶ三角形つくり(ステップ 1003)、これを三角形メッシュとし て、その座標のデータを、オリジナル形状データ 44として、記憶装置 40に記憶する( ステップ 1004)。以後の処理は、図 8および図 9を参照したものと同様である。なお、 オリジナル形状データにぉ 、て、 V、ずれの座標を連結することで曲線が形成される かを示す情報 (接続情報)が含まれるのが望ま 、。
[0079] 画像生成部 52は、図 10Bに示すように、記憶装置 40から最終メッシュデータ 50を 読み出すと (ステップ 1011)、前記接続情報にしたがって、最終メッシュデータ 50に 示す座標のいずれを接続すべきかを判断して、曲線を生成し (ステップ 1012)、表示 装置 14の画面上に表示する
図 11は、表示装置の画面上に表示された曲線を編集する例を示す図である。本発 明のように、第 1のメッシュ生成部および第 2のメッシュ生成部における処理が実行さ れた場合には、曲線は、あた力も剛性を有しているように振舞う。その一方、たとえば 、第 1のメッシュ生成部における処理のみが実行された場合には、曲線が勝手に拡 大、縮小してしまう。図 11の上図において、ハンドル(図中、人間の手で示されている )を移動している。図 11の左側の図は、第 1のメッシュ生成部による処理のみを施した 場合 (比較例)を示し、右側の図は、第 1のメッシュ生成部および第 2のメッシュ生成 部の双方の処理を施した場合 (実施例)を示す。比較例では、引き伸ばされた領域が 増大し、押しつぶされた領域が縮小している。その一方、本発明を適用した例(実施 例)によれば、より自然な結果を得られている。
[0080] ユーザが、インタラクションの間、影響を及ぼすべき領域を直接調整することができ るように、「ピーリング'インタフェース」を提供する。「ピーリング'インタフェース」にお いては、ユーザが、曲線をより遠くにドラッグするのにしたがって、影響を及ぼすべき 領域が増大する(図 11参照)。これにより、ユーザは、予め影響を及ぼすべき領域を 特定する必要が無くなり、また、インタラクションをより直観的にすることが可能となる。
[0081] 図 12は、「ピーリング」インタフェース」を利用した曲線の編集の例を示す図である。
ユーザが、曲線をさらに遠くに引っ張ると、影響を及ぼすべき領域が増大する(図中
、左から右を参照)。また、ユーザは、予め領域を明瞭に特定することもできる(図中、 左下参照)。
[0082] また、ドラッグに先立って、曲線の上にピンを配置することにより、ユーザが明瞭に 影響を及ぼすべき領域を特定することも可能である。しかしながら、ピンを配置する場 合には、局地的な変形だけが可能であり、ユーザが影響を及ぼすべき領域を変更す ることはできない。なお、実際の処理では、ユーザの入力に応答して、初期メッシュ生 成部 30により、ピンの座標を記憶装置 40に記憶し、処理において、そのピンの座標 を利用すれば良い。
図面の簡単な説明
[0083] [図 1]図 1は、本実施の形態に力かる画像処理システムのハードウェア構成を示すブ ロックダイヤグラムである。
[図 2]図 2は、本実施の形態に力かる画像処理システムの機能ブロックダイヤグラムで ある。
[図 3]図 3は、本実施の形態に力かる画像処理システムによる処理 (レジストレーシヨン
、コンパィレーシヨンおよびマニピュレーション)を概略的に示す図である。
[図 4]図 4は、本実施の形態にカゝかる画像処理システムによるハンドル構成の生成、 第 1のメッシュ生成、 2段階の第 2のメッシュ生成を説明する図である。
[図 5]図 5は、本実施の形態に力かる第 1のメッシュ生成部による処理における誤り関 数を説明する図である。
[図 6]図 6は、本実施の形態に力かる第 2のメッシュ生成部による処理における、第 1 のステップである適合ィ匕 (フィッティング)を説明する図である。
[図 7]図 7は、本実施の形態に力かる第 2のメッシュ生成部による処理における、第 2 のステップを説明する図である。
[図 8]図 8は、本実施の形態にカゝかる画像処理システム 10において実行される処理を 示すフローチャートである。
[図 9]図 9は、本実施の形態にカゝかる画像処理システム 10において実行される処理を 示すフローチャートである。
[図 10]図 10A、 Bは、それぞれ、本発明を、曲線の編集に利用した場合に、画像処理
システム 10にて実行される処理を示すフローチャートである。
[図 11]図 11は、本発明を利用した曲線の編集の例を示す図である。
[図 12]図 12は、本発明を利用した曲線の編集の他の例を示す図である。
[図 13]図 13は、本発明を曲線の編集に利用した場合の三角形メッシュ生成を説明す る図である。
符号の説明
10 画像処理システム
12 入力装置
14 表示装置
30 初期メッシュ生成部
32 レジストレーシヨン処理部
34 コンパィレーシヨン処理部
36 第 1のメッシュ生成部
38 第 2のメッシュ生成部
40 記憶装置
52 画像生成部
Claims
請求の範囲
[1] 変形すべきオブジェクトを構成する三角形メッシュのデータ力 なるオリジナル形状 データが記憶された記憶装置を有する画像処理システムにおいて、
前記入力装置からの、前記画像中の前記三角形メッシュにおける固定すべき点お よび移動される点を含む、複数のハンドル位置を示す情報に基づいて、前記オリジ ナル形状データを前記記憶装置から読み出して、当該オリジナル形状データが示す それぞれのオリジナル三角形メッシュにつ 、て、その回転および拡大 Z縮小を許容 しつつ、オリジナル三角形メッシュと、処理後の中間的な三角形メッシュとの間の差異 を表現した 2次の誤り計量が最小となるような、中間的な三角形メッシュのデータから なる中間的メッシュデータを生成し、前記記憶装置に記憶する第 1のメッシュ生成手 段と、
前記中間的メッシュデータが示すそれぞれの中間的な三角形メッシュにつ 、て、そ の回転および平行移動を許容しつつ、不均一な歪、伸縮および拡大 Z縮小を許容 しない状態で、前記中間的な三角形メッシュと、最終的な三角形メッシュとの間の差 異を表現した誤り計量が最小となるような、最終的な三角形メッシュのデータ力もなる 最終メッシュデータを生成し、前記記憶装置に記憶する第 2のメッシュ生成手段と、を 備えたことを特徴とする画像処理システム。
[2] 前記第 2のメッシュ生成手段が、前記オリジナル形状データが示すオリジナル三角形 メッシュのそれぞれを回転および平行移動させて、中間的メッシュデータが示す対応 する対応する中間的な三角形メッシュとの間の 2次の誤り計量を最小化させる、適合 化された三角形メッシュのデータ力もなる適合メッシュデータを生成し、かつ、前記記 憶装置に記憶し、
前記適合メッシュデータが示す三角形メッシュと、対応する最終的な三角形メッシュ との間の、三角形の辺を表すベクトルの差を示す 2次の誤り計量が最小となるような、 最終的な三角形メッシュのデータ力もなる最終メッシュデータを生成し、かつ、前記記 憶装置に記憶するように構成されたことを特徴とする請求項 1に記載の画像処理シス テム。
[3] さらに、前記記憶装置に記憶されたオリジナル形状データ、或!、は、最終メッシュデ
ータを読み出して、読み出されたデータに基づくオブジェクトを含む画像を生成する 画像生成手段を備えたことを特徴とする請求項 2に記載の画像処理システム。
さらに、オリジナル形状データが前記記憶装置に記憶されると、
(a)前記オリジナル形状データが示すそれぞれのオリジナル三角形メッシュの頂点座 標に基づいて、
匕 (V) =V V
を満たす行列 Gstepl、および、
-r^,ste 2 r i T stet>2
匕 (v) =V G V
を満たす行列 Gstep2
(ただし、
Esteplは、 2n個の変数 vox, voy, vlx, vly, · · · , vnx, vnyによる 2次式で表された 、第 1のメッシュ生成手段における 2次の誤り計量を表す関数
Estep2は、 2n個の変数 vox, voy, vlx, vly, · · · , vnx, vnyによる 2次式で表された 、第 2のメッシュ生成手段による、適合メッシュデータが示す三角形メッシュおよび最 終的な三角形メッシュの差異を表現した 2次の誤り計量を表す関数)
を算出し、
(b) VEfittine{w} =Gfittinew+Bfittine=0
であるような、行列 Gfitting、および、当該 Giittingの逆行列 Gfitting_1
(ただし、
Eiittingは、前記第 2のメッシュ生成手段における、前記オリジナル形状データが示す 三角形メッシュおよび中間的な三角形メッシュに関する 2次の誤り計量を示す関数) を算出するように構成されたレジストレーシヨン手段と、
前記入力装置からの情報により、ある位置にハンドルが配置、追加され、あるいは、 ある位置のハンドルが削除されると、
(c)前記 Gsteplおよび Gstep2に関して、ハンドルにより拘束される頂点の成分を除去す ることにより、行列 Gstep1'および Gstep2'を算出し、
(d)前記行列 Gstep1'および Gstep2'の逆行列 Gstepl'_ 1および Gstep2'_1を算出するコンパ ィレーシヨン手段と、を備えたことを特徴とする請求項 2または 3に記載の画像処理シ
ステム。
[5] 前記入力装置からの情報により、いずれかの位置のハンドルが移動されると、
前記第 1のメッシュ生成手段が、
(e)前記ハンドルの移動に伴って、三角形メッシュにおける拘束された頂点の更新さ れた位置を用いて、ベクトル Bstepl
(ただし、 VEstepl{u} = Gstep1' + Bstepl = 0
VEstepl {v}は、 Estepl {v} = vTGstepl Vの偏微分)
を算出し、
(f)前記行列 Gstepl'_1と前記 Bsteplとを乗じて、三角形メッシュにおける自由な頂点に 関する座標を含む、中間的なメッシュ三角形の中間的メッシュデータを生成するよう に構成され、かつ、
前記第 2のメッシュ生成手段が、
(g)前記中間的メッシュデータに基づいて、前記ベクトル Bfittingを算出し、
(h)前記行列 Gfitting_1と Bfittingとを乗じて、前記適合化された三角形の適合メッシュデ ータを生成し、
(i)前記適合メッシュデータに基づき、ベクトル Bstep2'
(ただし、 VEstep2{u} =Gstep2 u+Bstep2' = 0
VEstep2{v}は、 Estep2{v} =vTGstep2 V+Bstep2 Vの偏微分)
を算出し、
(j)前記行列 Gstep2'_1とベクトル Bstep2'とを乗じて、最終的な三角形メッシュの最終メッ シュデータを生成するように構成されたことを特徴とする請求項 4に記載の画像処理 システム。
[6] 前記変形すべきオブジェクトが、前記三角形メッシュにより構成される 2次元オブジェ タトであることを特徴とする請求項 1ないし 5の何れか一項に記載の画像処理システム
[7] 前記変形すべきオブジェクトが曲線であり、前記曲線を示すポリラインのデータから、 前記ラインを構成する頂点の近接する 3点ずつを結んで構成される三角形メッシュを 生成し、当該三角形メッシュのデータを、記憶装置に記憶する初期三角形メッシュ生
成手段を備えたことを特徴とする請求項 1ないし 5の何れか一項に記載の画像処理 システム。
[8] 変形すべきオブジェクトを構成する三角形メッシュのデータ力 なるオリジナル形状 データが記憶された記憶装置を有するコンピュータにより読み出し可能な、画像処理 プログラムであって、前記コンピュータに、
前記入力装置からの、前記画像中の前記三角形メッシュにおける固定すべき点お よび移動される点を含む、複数のハンドル位置を示す情報に基づいて、前記オリジ ナル形状データを前記記憶装置から読み出して、当該オリジナル形状データが示す それぞれのオリジナル三角形メッシュにつ 、て、その回転および拡大 Z縮小を許容 しつつ、オリジナル三角形メッシュと、処理後の中間的な三角形メッシュとの間の差異 を表現した 2次の誤り計量が最小となるような、中間的な三角形メッシュのデータから なる中間的メッシュデータを生成し、前記記憶装置に記憶する第 1のメッシュ生成ス テツプと、
前記中間的メッシュデータが示すそれぞれの中間的な三角形メッシュにつ 、て、そ の回転および平行移動を許容しつつ、不均一な歪、伸縮および拡大 z縮小を許容 しない状態で、前記中間的な三角形メッシュと、最終的な三角形メッシュとの間の差 異を表現した誤り計量が最小となるような、最終的な三角形メッシュのデータ力もなる 最終メッシュデータを生成し、前記記憶装置に記憶する第 2のメッシュ生成ステップと 、を実行させることを特徴とする画像処理プログラム。
[9] 前記第 2のメッシュ生成ステップにおいて、前記コンピュータに、
前記オリジナル形状データが示すオリジナル三角形メッシュのそれぞれを回転およ び平行移動させて、中間的メッシュデータが示す対応する対応する中間的な三角形 メッシュとの間の 2次の誤り計量を最小化させる、適合ィ匕された三角形メッシュのデー タからなる適合メッシュデータを生成し、かつ、前記記憶装置に記憶するステップと、 前記適合メッシュデータが示す三角形メッシュと、対応する最終的な三角形メッシュ との間の、三角形の辺を表すベクトルの差を示す 2次の誤り計量が最小となるような、 最終的な三角形メッシュのデータ力もなる最終メッシュデータを生成し、かつ、前記記 憶装置に記憶するステップとを、実行させることを特徴とする請求項 8に記載の画像
処理プログラム。
[10] 前記コンピュータに、さらに、前記記憶装置に記憶されたオリジナル形状データ、或 いは、最終メッシュデータを読み出して、読み出されたデータに基づくオブジェクトを 含む画像を生成する画像生成ステップを、実行させることを特徴とする請求項 9に記 載の画像処理プログラム。
[11] さらに、オリジナル形状データが前記記憶装置に記憶されると、
(a)前記オリジナル形状データが示すそれぞれのオリジナル三角形メッシュの頂点座 標に基づいて、
^ste l T stepl
匕 (v) =V G V
を満たす行列 Gstepl、および、
-r^,ste 2 step 2
匕 (v) =V G V
を満たす行列 Gstep2
(ただし、
Esteplは、 2n個の変数 vox, voy, vlx, vly, · · · , vnx, vnyによる 2次式で表された 、第 1のメッシュ生成ステップにおける 2次の誤り計量を表す関数
Estep2は、 2n個の変数 vox, voy, vlx, vly, · · · , vnx, vnyによる 2次式で表された 、第 2のメッシュ生成ステップによる、適合メッシュデータが示す三角形メッシュおよび 最終的な三角形メッシュの差異を表現した 2次の誤り計量を表す関数)
を算出するステップと、
(b) VEfitting{w} =Gfittinew+Bfittine=0
であるような、行列 Gfitting、および、当該 Giittingの逆行列 Cfitting_1
(ただし、
Eiittingは、前記第 2のメッシュ生成ステップにおける、前記オリジナル形状データが示 す三角形メッシュおよび中間的な三角形メッシュに関する 2次の誤り計量を示す関数 )
を算出するステップと、を前記コンピュータに実行させ、さらに、
前記入力装置からの情報により、ある位置にハンドルが配置、追加され、あるいは、 ある位置のハンドルが削除されると、
(c)前記 Gsteplおよび Gstep2に関して、ハンドルにより拘束される頂点の成分を除去す ることにより、行列 Gstep1'および Gstep2'を算出するステップと、
(d)前記行列 Gstep1'および Gstep2'の逆行列 Gstepl'_ 1および Gstep2'_1を算出するステツ プと、を前記コンピュータに実行させることを特徴とする請求項 9または 10に記載の 画像処理プログラム。
[12] 前記入力装置からの情報により、いずれかの位置のハンドルが移動されると、
前記第 1のメッシュ生成ステップにお 、て、
(e)前記ハンドルの移動に伴って、三角形メッシュにおける拘束された頂点の更新さ れた位置を用いて、ベクトル Bstepl
(ただし、 VEstepl{u} = Gstep1' + Bstepl = 0
VEstepl {v}は、 Estepl {v} = vTGstepl Vの偏微分)
を算出するステップと、
(f)前記行列 Gstepl'_1と前記 Bsteplとを乗じて、三角形メッシュにおける自由な頂点に 関する座標を含む、中間的なメッシュ三角形の中間的メッシュデータを生成するステ ップと、を前記コンピュータに実行させ、かつ、
前記第 2のメッシュ生成ステップにお 、て、
(g)前記中間的メッシュデータに基づいて、前記ベクトル Bfittingを算出するステップと
(h)前記行列 Gfitting_1と Bfittingとを乗じて、前記適合化された三角形の適合メッシュデ ータを生成するステップと、
(i)前記適合メッシュデータに基づき、ベクトル Bstep2'
(ただし、 VEstep2{u} =Gstep2 u+Bstep2' = 0
VEstep2{v}は、 Estep2{v} =vTGstep2 V+Bstep2 Vの偏微分)
を算出するステップと、
(j)前記行列 Gstep2'_1とベクトル Bstep2'とを乗じて、最終的な三角形メッシュの最終メッ シュデータを生成するステップと、を前記コンピュータに実行させることを特徴とする 請求項 11に記載の画像処理プログラム。
[13] 前記変形すべきオブジェクトが、前記三角形メッシュにより構成される 2次元オブジェ
タトであることを特徴とする請求項 8ないし 12の何れか一項に記載の画像処理プログ ラム。
前記変形すべきオブジェクトが曲線であり、さらに、前記コンピュータに、
前記曲線を示すポリラインのデータから、前記ラインを構成する頂点の近接する 3 点ずつを結んで構成される三角形メッシュを生成し、当該三角形メッシュのデータを 、記憶装置に記憶する初期三角形メッシュ生成ステップを実行させることを特徴とす る請求項 8ないし 12の何れか一項に記載の画像処理プログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP06730675A EP1865467B1 (en) | 2005-04-01 | 2006-03-30 | Image processing system and program |
| CN2006800094661A CN101147172B (zh) | 2005-04-01 | 2006-03-30 | 图像处理系统以及图像处理方法 |
| US11/909,588 US8063917B2 (en) | 2005-04-01 | 2006-03-30 | Image processing system and program |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005-106371 | 2005-04-01 | ||
| JP2005106371A JP4613313B2 (ja) | 2005-04-01 | 2005-04-01 | 画像処理システムおよび画像処理プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2006106863A1 true WO2006106863A1 (ja) | 2006-10-12 |
Family
ID=37073418
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2006/306727 Ceased WO2006106863A1 (ja) | 2005-04-01 | 2006-03-30 | 画像処理システムおよび画像処理プログラム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8063917B2 (ja) |
| EP (1) | EP1865467B1 (ja) |
| JP (1) | JP4613313B2 (ja) |
| CN (1) | CN101147172B (ja) |
| WO (1) | WO2006106863A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107181883A (zh) * | 2016-03-11 | 2017-09-19 | 卡西欧计算机株式会社 | 补正页图像的装置、方法以及记录介质 |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8493340B2 (en) * | 2009-01-16 | 2013-07-23 | Corel Corporation | Virtual hard media imaging |
| JP5357685B2 (ja) * | 2009-09-28 | 2013-12-04 | 株式会社ソニー・コンピュータエンタテインメント | 3次元オブジェクト処理装置、3次元オブジェクト処理方法、プログラム、及び情報記憶媒体 |
| JP5587132B2 (ja) * | 2010-10-19 | 2014-09-10 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
| JP5857531B2 (ja) * | 2011-08-24 | 2016-02-10 | カシオ計算機株式会社 | 画像処理装置、画像処理方法及びプログラム |
| JP5811690B2 (ja) * | 2011-08-24 | 2015-11-11 | カシオ計算機株式会社 | 画像処理装置、画像処理方法及びプログラム |
| JP5408206B2 (ja) | 2011-08-25 | 2014-02-05 | カシオ計算機株式会社 | 画像生成方法、画像生成装置及びプログラム |
| JP5408205B2 (ja) * | 2011-08-25 | 2014-02-05 | カシオ計算機株式会社 | 制御点設定方法、制御点設定装置及びプログラム |
| JP5375897B2 (ja) * | 2011-08-25 | 2013-12-25 | カシオ計算機株式会社 | 画像生成方法、画像生成装置及びプログラム |
| US8891845B2 (en) * | 2011-09-28 | 2014-11-18 | Telesystems Co., Ltd. | Image processing apparatus and image processing method |
| KR20140099295A (ko) * | 2011-12-28 | 2014-08-11 | 인텔 코포레이션 | 파이프라인 이미지 프로세싱 시퀀서 |
| JP5906897B2 (ja) * | 2012-03-30 | 2016-04-20 | カシオ計算機株式会社 | 動き情報生成方法、動き情報生成装置及びプログラム |
| US9536338B2 (en) * | 2012-07-31 | 2017-01-03 | Microsoft Technology Licensing, Llc | Animating objects using the human body |
| JP5966800B2 (ja) * | 2012-09-19 | 2016-08-10 | カシオ計算機株式会社 | 画像処理装置、画像処理方法及びプログラム |
| KR20150015680A (ko) | 2013-08-01 | 2015-02-11 | 씨제이씨지브이 주식회사 | 특징점의 생성을 이용한 이미지 보정 방법 및 장치 |
| US10403020B2 (en) * | 2016-04-19 | 2019-09-03 | Autodesk, Inc. | Techniques for generating dynamic illustrations using principles of animation |
| EP3568832B1 (en) * | 2017-01-13 | 2026-04-08 | Warner Bros. Entertainment Inc. | Adding motion effects to digital still images |
| US10861196B2 (en) | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
| US10909725B2 (en) | 2017-09-18 | 2021-02-02 | Apple Inc. | Point cloud compression |
| US10510186B2 (en) | 2017-12-22 | 2019-12-17 | Adobe Inc. | Digital media environment for intuitive modifications of digital graphics |
| US10388045B2 (en) * | 2018-01-04 | 2019-08-20 | Adobe Inc. | Generating a triangle mesh for an image represented by curves |
| US10410317B1 (en) | 2018-03-26 | 2019-09-10 | Adobe Inc. | Digital image transformation environment using spline handles |
| US10867414B2 (en) | 2018-04-10 | 2020-12-15 | Apple Inc. | Point cloud attribute transfer algorithm |
| US10489946B1 (en) * | 2018-06-29 | 2019-11-26 | Adobe Inc. | Generalized primitives for smooth coloring of vector graphics artwork in constant time |
| US11012713B2 (en) | 2018-07-12 | 2021-05-18 | Apple Inc. | Bit stream structure for compressed point cloud data |
| US11430155B2 (en) | 2018-10-05 | 2022-08-30 | Apple Inc. | Quantized depths for projection point cloud compression |
| US10846889B2 (en) | 2018-11-29 | 2020-11-24 | Adobe Inc. | Color handle generation for digital image color gradients using machine learning |
| US10832446B2 (en) * | 2019-01-07 | 2020-11-10 | Adobe Inc. | Bone handle generation |
| US10943375B2 (en) | 2019-04-17 | 2021-03-09 | Adobe Inc. | Multi-state vector graphics |
| US10878641B1 (en) * | 2019-06-07 | 2020-12-29 | Adobe Inc. | Editing bezier patch by selecting multiple anchor points |
| US11711544B2 (en) | 2019-07-02 | 2023-07-25 | Apple Inc. | Point cloud compression with supplemental information messages |
| CN110443751B (zh) * | 2019-07-10 | 2022-09-23 | 广东智媒云图科技股份有限公司 | 基于绘画线条的图像变形方法、装置、设备及存储介质 |
| US11948338B1 (en) * | 2021-03-29 | 2024-04-02 | Apple Inc. | 3D volumetric content encoding using 2D videos and simplified 3D meshes |
| US11631207B2 (en) | 2021-09-09 | 2023-04-18 | Adobe Inc. | Vector object stylization from raster objects |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06282614A (ja) * | 1993-03-26 | 1994-10-07 | A T R Tsushin Syst Kenkyusho:Kk | 物体形状表示装置 |
| JPH1069549A (ja) * | 1996-08-29 | 1998-03-10 | Nippon Telegr & Teleph Corp <Ntt> | 画像処理方法 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6765589B1 (en) * | 2000-11-16 | 2004-07-20 | Adobe Systems Incorporated | Brush for warping and water reflection effects |
| US7538764B2 (en) * | 2001-01-05 | 2009-05-26 | Interuniversitair Micro-Elektronica Centrum (Imec) | System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display |
| US6987511B2 (en) * | 2002-10-17 | 2006-01-17 | International Business Machines Corporation | Linear anisotrophic mesh filtering |
| CN1246803C (zh) * | 2003-11-24 | 2006-03-22 | 浙江大学 | 一种与视点相关的用于地形网格生成的误差度量方法 |
| US7286127B2 (en) * | 2005-06-22 | 2007-10-23 | Microsoft Corporation | Large mesh deformation using the volumetric graph Laplacian |
| CA2553546A1 (en) * | 2005-07-29 | 2007-01-29 | Avid Technology, Inc. | Three-dimensional animation of soft tissue of characters using controls associated with a surface mesh |
| US8749543B2 (en) * | 2006-08-15 | 2014-06-10 | Microsoft Corporation | Three dimensional polygon mesh deformation using subspace energy projection |
| US7843456B2 (en) * | 2007-06-29 | 2010-11-30 | Microsoft Corporation | Gradient domain editing of animated meshes |
-
2005
- 2005-04-01 JP JP2005106371A patent/JP4613313B2/ja not_active Expired - Lifetime
-
2006
- 2006-03-30 US US11/909,588 patent/US8063917B2/en not_active Expired - Fee Related
- 2006-03-30 EP EP06730675A patent/EP1865467B1/en not_active Expired - Lifetime
- 2006-03-30 CN CN2006800094661A patent/CN101147172B/zh not_active Expired - Fee Related
- 2006-03-30 WO PCT/JP2006/306727 patent/WO2006106863A1/ja not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06282614A (ja) * | 1993-03-26 | 1994-10-07 | A T R Tsushin Syst Kenkyusho:Kk | 物体形状表示装置 |
| JPH1069549A (ja) * | 1996-08-29 | 1998-03-10 | Nippon Telegr & Teleph Corp <Ntt> | 画像処理方法 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107181883A (zh) * | 2016-03-11 | 2017-09-19 | 卡西欧计算机株式会社 | 补正页图像的装置、方法以及记录介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20090213143A1 (en) | 2009-08-27 |
| EP1865467B1 (en) | 2012-12-19 |
| US8063917B2 (en) | 2011-11-22 |
| JP4613313B2 (ja) | 2011-01-19 |
| CN101147172A (zh) | 2008-03-19 |
| EP1865467A1 (en) | 2007-12-12 |
| EP1865467A4 (en) | 2011-12-21 |
| JP2006285765A (ja) | 2006-10-19 |
| CN101147172B (zh) | 2010-05-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4613313B2 (ja) | 画像処理システムおよび画像処理プログラム | |
| Benson et al. | Isogeometric shell analysis: the Reissner–Mindlin shell | |
| US7570264B2 (en) | Rig baking | |
| Picinbono et al. | Nonlinear and anisotropic elastic soft tissue models for medical simulation | |
| US6608631B1 (en) | Method, apparatus, and computer program product for geometric warps and deformations | |
| CN108074284A (zh) | 使用多个输入网格生成有效的风格化的网格形变 | |
| US20080192049A1 (en) | Image deformation using physical models | |
| WO2023027700A1 (en) | Performing topology optimization fully with deep learning networks | |
| Anastacio et al. | Sketch-based parameterization of L-systems using illustration-inspired construction lines and depth modulation | |
| Singh et al. | Real-time volume manipulation | |
| Angelidis et al. | Sweepers: Swept user-defined tools for modeling by deformation | |
| Chen et al. | A displacement driven real-time deformable model for haptic surgery simulation | |
| Herrera et al. | Study of a ray casting technique for the visualization of deformable volumes | |
| Wang et al. | Shape-aware skeletal deformation for 2D characters | |
| Grimm et al. | Visual interfaces for solids modeling | |
| Gain | Enhancing spatial deformation for virtual sculpting | |
| Gain et al. | Warp sculpting | |
| US6941251B1 (en) | Method for transforming CAD model using general function composition mechanism | |
| Angelidis et al. | Sweepers: Swept deformation defined by gesture | |
| US20070018987A1 (en) | Plane shape creation system, plane shape creation method and program recording medium | |
| CN107292942B (zh) | 一种权值c2连续的线性混合形状编辑方法 | |
| Ma et al. | Folding by Skinning | |
| JP4463008B2 (ja) | 切断面画像生成装置、切断面画像生成プログラム及び記録媒体 | |
| US12450835B2 (en) | Character articulation through profile curves | |
| Czanner et al. | Growth simulation of human embryo brain |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 200680009466.1 Country of ref document: CN |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 2006730675 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| NENP | Non-entry into the national phase |
Ref country code: RU |
|
| WWP | Wipo information: published in national office |
Ref document number: 2006730675 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 11909588 Country of ref document: US |


