WO2007012989A1 - Mesh fusion - Google Patents

Mesh fusion Download PDF

Info

Publication number
WO2007012989A1
WO2007012989A1 PCT/IB2006/052307 IB2006052307W WO2007012989A1 WO 2007012989 A1 WO2007012989 A1 WO 2007012989A1 IB 2006052307 W IB2006052307 W IB 2006052307W WO 2007012989 A1 WO2007012989 A1 WO 2007012989A1
Authority
WO
WIPO (PCT)
Prior art keywords
mesh
intersection
meshes
vertex
polygon
Prior art date
Application number
PCT/IB2006/052307
Other languages
French (fr)
Inventor
Franck Laffargue
Gaspar Delso
Original Assignee
Koninklijke Philips Electronics N.V.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Publication of WO2007012989A1 publication Critical patent/WO2007012989A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Definitions

  • the present invention relates to a method of processing electronic data representing a first mesh and a second mesh to generate a common intersection contour for the meshes so that the meshes can be validly fused.
  • a valid mesh object 1 ' formed by the fusion of a triangular mesh sphere 2' and a triangular mesh torus 3' is illustrated in Figure 1 b.
  • All edges and vertices of the triangles are shared between the sphere 2' and the torus 3'.
  • Embodiments of the present invention aim to provide an improved approach that allows the fusing of two meshes together to create a valid mesh.
  • a method of processing electronic data representing a first mesh and a second mesh, each mesh comprising polygons having vertices and edges comprising a first step of determining if any polygon edge of the first mesh intersects any polygon of the second mesh and if any polygon edge of the second mesh intersects any polygon of the first mesh to generate a set of intersection locations. Then, a new vertex in the first mesh and a new vertex in the second mesh are inserted at each intersection location to generate new polygons in each mesh that define a common intersection contour for the meshes.
  • a different vertex insertion scheme is implemented depending upon whether a new vertex is to be inserted in a polygon edge or in a polygon.
  • the vertex insertion scheme may be implemented in the instances where a new vertex inserted in a polygon edge generates more new polygons in a mesh than does the vertex insertion scheme implemented when a new vertex is inserted in a polygon.
  • vertices may be decimated in the first mesh and in the second mesh along the intersection contour so as to improve a geometric quality of the meshes.
  • Figure Ib illustrates a valid fusion of mesh objects; and which have already been discussed above;
  • Figure 2 illustrates a block diagram of a system embodying the present invention
  • Figure 3 illustrates two intersecting meshes
  • Figure 4a illustrates two meshes having an intersection location
  • Figure 4b illustrates the meshes of Figure 4a, each having a new vertex inserted at the intersection location
  • Figures 5a to 5e illustrate the solving of an intersection contour
  • Figure 6 illustrates the solving of an intersection contour for two meshes
  • Figure 7 illustrates a process of vertex decimation.
  • a system 10 embodying the present invention comprises an intersection contour detection block 11, a bimodal vertex insertion block 12 and a multiple mesh decimation and filtering block 13. The function of each of these blocks will be discussed in turn.
  • the system 10 may be implemented by a suitably programmed computer.
  • FIG. 3 of the drawings there is illustrated a part of a first computer generated triangular mesh 20 and a part of a second computer generated triangular mesh 30 that are to be merged.
  • Each mesh 20 and 30 represents the surface of a three dimensional object.
  • the part of the first triangular mesh 20 comprises five vertices labelled A, B, C, D and E with a first triangle 20a having vertices ABC, a second triangle 20b having vertices BCD and a third triangle 20c having vertices CDE.
  • the part of the second triangular mesh 30 comprises four vertices labelled W, X, Y and Z with a fourth triangle 30a having vertices labelled WXY and a fifth triangle 30b having vertices XYZ.
  • a triangular mesh is said to intersect another triangular mesh when at least one of its edges goes through a triangle of the other mesh.
  • the edges of each mesh intersect some triangles of the other one.
  • first mesh 20 and the second mesh 30 intersect each other. Sections of the edges of the triangles of the first mesh 20 that are obscured by the second mesh 30 (as viewed looking into the plane of the paper) are drawn in broken lines. Likewise, sections of the edges of the triangles of the second mesh 30 that are obscured by the first mesh 20 (as viewed looking into the plane of the paper) are also drawn in broken lines.
  • the intersection contour detection block 11 checks if any triangle edge of the first mesh 20 intersects any triangle of the second mesh 30. If such intersections are detected The intersection contour detection block 11 computes and stores the intersection locations. Similarly, the intersection contour detection block 11 also checks if any triangle edge of the second mesh 30 intersects any triangle of the first mesh 20, and again computes and stores the locations of any detected intersection. In this example, it is detected that the edge BC of the first mesh 20 intersects the second mesh 30 through the fourth triangle 30a at a location labelled Ll, that the edge DC of the first mesh 20 intersects the second mesh 30 through the fourth triangle at location L2 and that the edge DE of the first mesh 20 intersects the second mesh through the fifth triangle at location L3.
  • intersection locations Ll to L5 define an intersection contour, labelled IC and shown in broken line. This operation can be optimised using space partitioning techniques like bucket grid or octree. If there is no detected intersection, the domains of both meshes are separated so they can be directly merged.
  • the bimodal vertex insertion block inserts new vertices at the determined intersection locations. Adding new vertices creates a new triangulation that will act as a common interlace between the two meshes. In other words, the intersection contour will be solved by creating common edges on both meshes.
  • the bimodal vertex insertion block 12 applies two different schemes depending upon whether a vertex is to be inserted on the intersecting edge of a mesh or on the intersected triangle of a mesh.
  • Figure 4a shows the third triangle 20c of the first mesh 20 and the second mesh 30.
  • the third triangle 20c and the second mesh 30 are illustrated in Figure 4a as being separated in space.
  • the edge XY of the second mesh 30 intersects with the third triangle 20c at intersection location L5.
  • the bimodal vertex insertion block implements an intersected triangle vertex insertion scheme.
  • the bimodal vertex insertion block inserts a new vertex at the location L5 in the third triangle 20c of the first mesh 20, creating three new edges (labelled CL5, DL5 and EL5) and hence three new triangles in the first mesh 20.
  • the bimodal vertex insertion block For intersection location L5 on the edge XY of the second mesh 30 the bimodal vertex insertion block implements an edge vertex insertion scheme. As is also illustrated in Figure 4b the bimodal vertex insertion block inserts a new vertex at the location L5 on the edge XY, creating four new edges (labelled WL5, XL5, YL5 and ZL5) and hence four new triangles in the second mesh 30. The process is repeated for each intersection detected by the intersection contour detection block 11 resulting in the intersection contour being completely retrieved creating a valid interface between both meshes.
  • embodiments of the invention do not require solving the intersection locations in a specific order by marching along the contour. Neither is there a need to create a model (e.g. B-splines, snakes) of the intersection contour. With the present approach the intersection contour appears naturally while intersections are solved.
  • a model e.g. B-splines, snakes
  • Figure 6 illustrates a torus mesh 40 and a sphere mesh 50 that are to be merged and for which their intersection contour has been solved in the above described manner. On both meshes, the common contour is clearly visible.
  • the multiple mesh decimation and filtering block 13 operates to improve the geometric aspect quality of the mesh.
  • the multiple mesh decimation and filtering block 13 selects and decimates, or in other words removes, vertices in the intersection contour. This operation is performed on both meshes simultaneously in order to keep the interface between them consistent. On a triangle mesh, removing a vertex causes edge removal. Thus, the mesh decimation and filtering block 13 selects a vertex to be removed, on the basis that removal of an edge connected to that vertex will give an improved geometrical quality of the remaining triangles. This process is illustrated in Figure 7, which illustrates on its left a mesh 60 prior to decimation and on its right the mesh 60 after decimation. Prior to decimation the mesh 60 comprises six vertices labelled F, G, H, I, J and K.
  • vertex J and vertex K are shorter than other edges, creating two flat triangles 60a and 60b.
  • the mesh decimation and filtering block 13 selects and removes the vertex K on the basis that removal of this vertex and the short edge JK improves the quality of triangulation.
  • the mesh decimation and filtering block 13 filters both meshes by applying a modified Laplacian smooth, which tends to creates equilateral triangles.
  • Basic Laplacian smoothing is an iterative process that moves each vertex to the centre of its neighbours. This filter is optimal in 2D but not in 3D where it reduces the local curvature by shrinking and modifies the overall aspect of the meshes.
  • the mesh decimation and filtering block 13 applies a modified version of the Laplacian that takes into account the local curvature and keeps the object aspect unchanged.
  • Embodiments of the invention provide several advantages.
  • the fusion algorithm employed by embodiments does not modify the final object aspect, since this could lead to a wrong finite-element solution. Even local modifications of the object shape at intersection locations as occurs in the method described in the T. Kanai et al document cited above, need not be permitted.
  • Embodiments are automatic and do not require any user interaction or correction.
  • Embodiments of the invention implement a direct approach, there being no need to create a model of the intersection contour and/or to march along this contour.
  • Embodiments utilise a generic procedure that works for any object geometry and topology.
  • Resultant triangle quality is good (avoiding degenerate or flat triangles) and is reliable for finite-element computation.
  • Embodiments of the invention are robust and are only limited by numerical accuracy of intersection location computation.
  • Embodiments of the invention are fast, allowing fusion to be computed quickly, preferably within a few seconds.
  • aspects of the invention may be implemented by means of hardware comprising several distinct elements and by means of a suitably programmed computer.
  • a device claim enumerating several means several of these means may be embodied by one and the same item of hardware.
  • the mere fact that certain measures are recited in mutually dependent claims does not mean that a combination of these measures cannot be used to advantage.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

There is described a method of processing electronic data that represents a first mesh (20) and a second mesh (30) to fuse the meshes (20, 30). It is determined which polygon edges of the first mesh (20) intersect which polygons (30a, 30b) of the second mesh (30) and which polygon edges of the second mesh (30) intersect which polygons (20a, 20b, 20c) of the first mesh to generate a set of intersection locationsLl, (Ll, L2, L3, L4, L5). At each intersection location there is inserted a new vertex in the first mesh and a new vertex in the second mesh to generate new polygons in each mesh that define a common intersection contour for the meshes.

Description

MESH FUSION
The present invention relates to a method of processing electronic data representing a first mesh and a second mesh to generate a common intersection contour for the meshes so that the meshes can be validly fused.
It is commonplace in the field of computer graphics to represent objects as a surface mesh of polygons, for example triangles. It is often necessary to merge the geometrical information of several different surface meshes together in order to obtain a complete description of a modelled object. For instance, in Computer Aided Design (CAD), a single mechanical object is often initially modelled as several separate surfaces or patches (open surfaces), which are then merged together to form the final design. This also occurs in certain medical applications, where complex human organs are modelled as a set of several separate internal and external surfaces (e.g. the heart and its internal chambers, the aorta aneurysm with the lumen, the wall and the thrombus) which are then merged. Those models may be used as input for finite-element methods of computation and simulation, like in the case of Computational Fluid Dynamic (CFD).
In general, such surfaces do not perfectly match when they are merged together: they usually intersect each other along certain contours. This is illustrated in Figure Ia, which shows a mesh object 1 formed by the fusion of a triangular mesh sphere 2 and a triangular mesh torus 3. The fusion of the sphere 2 and the torus 3 is not valid because along the intersection contour A - B there is no clear interface between the two meshes 2 and 3. Instead, mesh intersections between the triangles of the two meshes 2 and 3 are visible. In order to obtain a valid mesh that can be used in finite-element modelling, the common contours must be explicitly defined on both surfaces. This means both surfaces must be reparametrized in order to share the same edges that define these contours. A valid mesh object 1 ' formed by the fusion of a triangular mesh sphere 2' and a triangular mesh torus 3' is illustrated in Figure 1 b. Here, along the intersection contour A'-B', all edges and vertices of the triangles are shared between the sphere 2' and the torus 3'.
One approach to mesh fusion is described in, "T. Kanai, H. Suzuki, J Mitani, F Kimura, Interactive Mesh Fusion Based on local 3D Metamorphosis, Proceedings of the 1999 conference on Graphics interface '99, Kingston, Ontario, Canada Pages: 148 - 156,ISBN:1- 55860-632-7."
This approach is not fully automated and has the disadvantage of allowing user intervention and correction. Local modifications of the object shape at intersection locations are allowed, which can lead to a wrong finite element solution. Another approach is described in, "W.M. Lira, L.C.G. Coelho, L.F. Martha,Multiple Intersections of Finite- Element Surface Meshes, Proceedings of the 1 lth International Meshing Roundtable, IMR 2002, September 15-18, 2002, Ithaca, New York, USA". This approach is complicated because it requires the solving of mesh intersection locations in a specific order.
Embodiments of the present invention aim to provide an improved approach that allows the fusing of two meshes together to create a valid mesh.
According to the present invention there is provided a method of processing electronic data representing a first mesh and a second mesh, each mesh comprising polygons having vertices and edges, the method comprising a first step of determining if any polygon edge of the first mesh intersects any polygon of the second mesh and if any polygon edge of the second mesh intersects any polygon of the first mesh to generate a set of intersection locations. Then, a new vertex in the first mesh and a new vertex in the second mesh are inserted at each intersection location to generate new polygons in each mesh that define a common intersection contour for the meshes.
In an exemplary embodiment, a different vertex insertion scheme is implemented depending upon whether a new vertex is to be inserted in a polygon edge or in a polygon.
The vertex insertion scheme may be implemented in the instances where a new vertex inserted in a polygon edge generates more new polygons in a mesh than does the vertex insertion scheme implemented when a new vertex is inserted in a polygon.
Also, vertices may be decimated in the first mesh and in the second mesh along the intersection contour so as to improve a geometric quality of the meshes.
An embodiment of the invention will now be described by way of example only with reference to the accompanying drawing in which: Figure Ia illustrates a non valid fusion of two meshes;
Figure Ib illustrates a valid fusion of mesh objects; and which have already been discussed above; and
Figure 2 illustrates a block diagram of a system embodying the present invention;
Figure 3 illustrates two intersecting meshes; Figure 4a illustrates two meshes having an intersection location;
Figure 4b illustrates the meshes of Figure 4a, each having a new vertex inserted at the intersection location;
Figures 5a to 5e illustrate the solving of an intersection contour; Figure 6 illustrates the solving of an intersection contour for two meshes;
Figure 7 illustrates a process of vertex decimation.
Referring now to Figure 2 of the drawings, a system 10 embodying the present invention comprises an intersection contour detection block 11, a bimodal vertex insertion block 12 and a multiple mesh decimation and filtering block 13. The function of each of these blocks will be discussed in turn. The system 10 may be implemented by a suitably programmed computer.
Intersection contour detection:
Referring now to Figure 3 of the drawings there is illustrated a part of a first computer generated triangular mesh 20 and a part of a second computer generated triangular mesh 30 that are to be merged. Each mesh 20 and 30 represents the surface of a three dimensional object.
The part of the first triangular mesh 20 comprises five vertices labelled A, B, C, D and E with a first triangle 20a having vertices ABC, a second triangle 20b having vertices BCD and a third triangle 20c having vertices CDE. The part of the second triangular mesh 30 comprises four vertices labelled W, X, Y and Z with a fourth triangle 30a having vertices labelled WXY and a fifth triangle 30b having vertices XYZ.
A triangular mesh is said to intersect another triangular mesh when at least one of its edges goes through a triangle of the other mesh. In general, when two meshes intersect each other, the edges of each mesh intersect some triangles of the other one. As discussed in the introduction, when merging two meshes it is necessary to detect and solve those intersection, otherwise the resultant merged mesh will not be valid for finite-element computation.
As illustrated in Figure 3, the first mesh 20 and the second mesh 30 intersect each other. Sections of the edges of the triangles of the first mesh 20 that are obscured by the second mesh 30 (as viewed looking into the plane of the paper) are drawn in broken lines. Likewise, sections of the edges of the triangles of the second mesh 30 that are obscured by the first mesh 20 (as viewed looking into the plane of the paper) are also drawn in broken lines.
The intersection contour detection block 11 checks if any triangle edge of the first mesh 20 intersects any triangle of the second mesh 30. If such intersections are detected The intersection contour detection block 11 computes and stores the intersection locations. Similarly, the intersection contour detection block 11 also checks if any triangle edge of the second mesh 30 intersects any triangle of the first mesh 20, and again computes and stores the locations of any detected intersection. In this example, it is detected that the edge BC of the first mesh 20 intersects the second mesh 30 through the fourth triangle 30a at a location labelled Ll, that the edge DC of the first mesh 20 intersects the second mesh 30 through the fourth triangle at location L2 and that the edge DE of the first mesh 20 intersects the second mesh through the fifth triangle at location L3. It is also detected that the edge WX of the second mesh 30 intersects the first mesh through the first triangle 20a at location L4 and that the edge XY of the second mesh 30a intersects the first mesh 20a through the third triangle 20c at location L5. The set of intersection locations Ll to L5 define an intersection contour, labelled IC and shown in broken line. This operation can be optimised using space partitioning techniques like bucket grid or octree. If there is no detected intersection, the domains of both meshes are separated so they can be directly merged.
Bimodal Vertex Insertion
At this stage, the bimodal vertex insertion block inserts new vertices at the determined intersection locations. Adding new vertices creates a new triangulation that will act as a common interlace between the two meshes. In other words, the intersection contour will be solved by creating common edges on both meshes.
The bimodal vertex insertion block 12 applies two different schemes depending upon whether a vertex is to be inserted on the intersecting edge of a mesh or on the intersected triangle of a mesh.
Referring to Figures 4a and b this process is explained in more detail, by reference to an example. Figure 4a shows the third triangle 20c of the first mesh 20 and the second mesh 30. For reasons of clarity, the third triangle 20c and the second mesh 30 are illustrated in Figure 4a as being separated in space. The edge XY of the second mesh 30 intersects with the third triangle 20c at intersection location L5. For intersection location L5 in the third triangle 20c, the bimodal vertex insertion block implements an intersected triangle vertex insertion scheme. As illustrated in Figure 4b the bimodal vertex insertion block inserts a new vertex at the location L5 in the third triangle 20c of the first mesh 20, creating three new edges (labelled CL5, DL5 and EL5) and hence three new triangles in the first mesh 20. For intersection location L5 on the edge XY of the second mesh 30 the bimodal vertex insertion block implements an edge vertex insertion scheme. As is also illustrated in Figure 4b the bimodal vertex insertion block inserts a new vertex at the location L5 on the edge XY, creating four new edges (labelled WL5, XL5, YL5 and ZL5) and hence four new triangles in the second mesh 30. The process is repeated for each intersection detected by the intersection contour detection block 11 resulting in the intersection contour being completely retrieved creating a valid interface between both meshes.
The process by which the intersection contour IC for the first mesh 20 and the second mesh 30 is solved is illustrated in Figures 5a to 5e.
Advantageously, unlike the approach described in the W.M. Lira reference mentioned above, embodiments of the invention do not require solving the intersection locations in a specific order by marching along the contour. Neither is there a need to create a model (e.g. B-splines, snakes) of the intersection contour. With the present approach the intersection contour appears naturally while intersections are solved.
Figure 6 illustrates a torus mesh 40 and a sphere mesh 50 that are to be merged and for which their intersection contour has been solved in the above described manner. On both meshes, the common contour is clearly visible.
Multiple passes of mesh decimation and filtering: At this stage, the fusion of the meshes is possible because the intersection contour has been solved. However, as can be seen from Figure 6, the density of vertices on the intersection contour is generally much higher than on the rest of the mesh and the newly created triangles tend to be flat and far from equilateral. In a preferred embodiment, the multiple mesh decimation and filtering block 13 operates to improve the geometric aspect quality of the mesh.
To this end, the multiple mesh decimation and filtering block 13 selects and decimates, or in other words removes, vertices in the intersection contour. This operation is performed on both meshes simultaneously in order to keep the interface between them consistent. On a triangle mesh, removing a vertex causes edge removal. Thus, the mesh decimation and filtering block 13 selects a vertex to be removed, on the basis that removal of an edge connected to that vertex will give an improved geometrical quality of the remaining triangles. This process is illustrated in Figure 7, which illustrates on its left a mesh 60 prior to decimation and on its right the mesh 60 after decimation. Prior to decimation the mesh 60 comprises six vertices labelled F, G, H, I, J and K. It can be seen that the edge defined by vertex J and vertex K is shorter than other edges, creating two flat triangles 60a and 60b. The mesh decimation and filtering block 13 selects and removes the vertex K on the basis that removal of this vertex and the short edge JK improves the quality of triangulation.
Preferably, in order to ensure a quality improvement, a vertex is removed only if the resulting triangulation is improved for both meshes. The quality improvement process may not be optimal unless there is a spatial movement of vertices that do not belong to the intersection contour. To achieve this, the mesh decimation and filtering block 13 filters both meshes by applying a modified Laplacian smooth, which tends to creates equilateral triangles. Basic Laplacian smoothing is an iterative process that moves each vertex to the centre of its neighbours. This filter is optimal in 2D but not in 3D where it reduces the local curvature by shrinking and modifies the overall aspect of the meshes. Preferably, the mesh decimation and filtering block 13 applies a modified version of the Laplacian that takes into account the local curvature and keeps the object aspect unchanged.
This decimation and filtering process is iterated several times until quality is no longer improved. The meshes may then be fused.
Although the above has been described with respect to 3D objects and triangular meshes it will be appreciated that the invention may also be employed with respect to 2D objects and/or other mesh types, for example, quadrangle, simplex.
Embodiments of the invention provide several advantages. The fusion algorithm employed by embodiments does not modify the final object aspect, since this could lead to a wrong finite-element solution. Even local modifications of the object shape at intersection locations as occurs in the method described in the T. Kanai et al document cited above, need not be permitted.
Embodiments are automatic and do not require any user interaction or correction. Embodiments of the invention implement a direct approach, there being no need to create a model of the intersection contour and/or to march along this contour. Embodiments utilise a generic procedure that works for any object geometry and topology.
Resultant triangle quality is good (avoiding degenerate or flat triangles) and is reliable for finite-element computation. Embodiments of the invention are robust and are only limited by numerical accuracy of intersection location computation.
Embodiments of the invention are fast, allowing fusion to be computed quickly, preferably within a few seconds. Having thus described the present invention by reference to a preferred embodiment it is to be well understood that the embodiment in question is exemplary only and that modifications and variations such as will occur to those possessed of appropriate knowledge and skills may be made without departure from the spirit and scope of the invention as set forth in the appended claims and equivalents thereof. In the claims, any reference signs placed in parentheses shall not be construed as limiting the claims. The word "comprising" and "comprises", and the like, does not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole. The singular reference of an element does not exclude the plural reference of such elements. Aspects of the invention may be implemented by means of hardware comprising several distinct elements and by means of a suitably programmed computer. In a device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually dependent claims does not mean that a combination of these measures cannot be used to advantage.

Claims

1. A method of processing electronic data representing a first mesh and a second mesh, each mesh comprising polygons having vertices and edges, the method comprising; determining if any polygon edge of the first mesh intersects any polygon of the second mesh and if any polygon edge of the second mesh intersects any polygon of the first mesh to generate a set of intersection locations; inserting at each intersection location a new vertex in the first mesh and a new vertex in the second mesh to generate new polygons in each mesh that define a common intersection contour for the meshes.
2. A method according to claim 1 wherein a different vertex insertion scheme is implemented depending upon whether a new vertex is to be inserted in a polygon edge or in a polygon.
3. A method according to claim 2, wherein the vertex insertion scheme implemented when a new vertex is inserted in a polygon edge generates more new polygons in a mesh than does the vertex insertion scheme implemented when a new vertex is inserted in a polygon.
4. A method according to any of claims 1 the method further comprising; decimating vertices in the first mesh and in the second mesh along the intersection contour so as to improve a geometric quality of the meshes.
5. A method according to claim 4, wherein, vertices are selected for decimation in dependence upon there being polygons generated in response to the decimation that improve a geometric quality of the meshes.
6. A method according to claim 1 further comprising; applying a smoothing function to move vertices in both meshes that are outside of the intersection contour to improve a geometric quality of the meshes.
7. A method according to claim 1 wherein the polygons are triangles.
8. Computer apparatus comprising: an analyser (11) for determining if any polygon edge of the first mesh intersects any polygon of the second mesh and if any polygon edge of the second mesh intersects any polygon of the first mesh to generate a set of intersection locations; a computing unit (12, 13) for inserting at each intersection location a new vertex in the first mesh and a new vertex in the second mesh to generate new polygons in each mesh that define a common intersection contour for the meshes.
9. A computer program for implementing the method of claim 1 when executed on a suitable processor.
PCT/IB2006/052307 2005-07-28 2006-07-07 Mesh fusion WO2007012989A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05300626 2005-07-28
EP05300626.8 2005-07-28

Publications (1)

Publication Number Publication Date
WO2007012989A1 true WO2007012989A1 (en) 2007-02-01

Family

ID=37400962

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2006/052307 WO2007012989A1 (en) 2005-07-28 2006-07-07 Mesh fusion

Country Status (1)

Country Link
WO (1) WO2007012989A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2018113A2 (en) * 2006-05-17 2009-01-28 St. Jude Medical, Atrial Fibrillation Division, Inc. System and method for complex geometry modeling of anatomy using multiple surface models
AU2009325211B2 (en) * 2008-12-12 2013-09-26 Fmc Kongsberg Subsea As A method and apparatus for measurement of composition and flow rates of a wet gas
EP3667623A1 (en) * 2018-12-12 2020-06-17 Twikit NV A system for optimizing a 3d mesh

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
COELHO L C G ET AL: "An algorithm for intersecting and trimming parametric meshes", COMPUTER GRAPHICS, IMAGE PROCESSING, AND VISION, 1998. PROCEEDINGS. SIBGRAPI '98. INTERNATIONAL SYMPOSIUM ON RIO DE JANEIRO, BRAZIL 20-23 OCT. 1998, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 20 October 1998 (1998-10-20), pages 86 - 93, XP010309820, ISBN: 0-8186-9215-4 *
LIRA W.M., COELHO L.C.G., MARTHA L.F.: "Multiple Intersections of Finite-element Surface Meshes", PROCEEDINGS OF 11TH INTERNATIONAL MESHING ROUNDTABLE, 15 September 2002 (2002-09-15), pages 355 - 366, XP002409005, Retrieved from the Internet <URL:http://www.imr.sandia.gov/papers/imr11/lira.pdf> [retrieved on 20061122] *
LO S.H., WAND W.X.: "A fast robust algorithm for the intersection of triangulated surfaces", ENGINEERING WITH COMPUTERS, vol. 20, no. 1, 31 March 2004 (2004-03-31), pages 11 - 21, XP009075308 *
LO S.H.: "Automatic Mesh Generation over Intersecting Surfaces", INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN ENGINEERING, vol. 38, no. 6, 31 December 1995 (1995-12-31), pages 943 - 954, XP002409003, Retrieved from the Internet <URL:http://www3.interscience.wiley.com/cgi-bin/abstract/110548551/ABSTRACT?CRETRY=1&SRETRY=0> [retrieved on 20061122] *
SHOSTKO A.A., LÖHNER R., SANDBERG W.C.: "Surface Triangulation over Intersecting Geometries", INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN ENGINEERING, vol. 44, no. 9, 17 March 1999 (1999-03-17), pages 1359 - 1376, XP002409004, Retrieved from the Internet <URL:http://www3.interscience.wiley.com/cgi-bin/abstract/55001836/ABSTRACT> [retrieved on 20061122] *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2018113A2 (en) * 2006-05-17 2009-01-28 St. Jude Medical, Atrial Fibrillation Division, Inc. System and method for complex geometry modeling of anatomy using multiple surface models
EP2018113A4 (en) * 2006-05-17 2010-03-03 St Jude Medical Atrial Fibrill System and method for complex geometry modeling of anatomy using multiple surface models
US7988639B2 (en) 2006-05-17 2011-08-02 St. Jude Medical, Atrial Fibrillation Division, Inc. System and method for complex geometry modeling of anatomy using multiple surface models
AU2009325211B2 (en) * 2008-12-12 2013-09-26 Fmc Kongsberg Subsea As A method and apparatus for measurement of composition and flow rates of a wet gas
EP3667623A1 (en) * 2018-12-12 2020-06-17 Twikit NV A system for optimizing a 3d mesh
WO2020120698A1 (en) * 2018-12-12 2020-06-18 Twikit Nv A system for optimizing a 3d mesh
US11605200B2 (en) 2018-12-12 2023-03-14 Twikit Nv System for optimizing a 3D mesh

Similar Documents

Publication Publication Date Title
Westermann et al. Real-time exploration of regular volume data by adaptive reconstruction of isosurfaces
Lee et al. Geometric snakes for triangular meshes
US9030475B2 (en) Method of computer-aided design of a modeled object having several faces
Bischoff et al. Automatic restoration of polygon models
JP3768923B2 (en) 3D computer modeling device
Bernhardt et al. Implicit blending revisited
JP2013507679A (en) Method and system capable of 3D printing of 3D object model
WO2000042576A2 (en) Scalable visualization for interactive geometry modeling
CN105760570B (en) Selecting viewpoints of a set of objects
TW201946033A (en) System and method for multi-material mesh generation from fill-fraction voxel data
Shabat et al. Design of porous micro-structures using curvature analysis for additive-manufacturing
Updegrove et al. Boolean and smoothing of discrete polygonal surfaces
CN109558624A (en) Generate the 2D drawing for representing mechanical part
Coelho et al. Intersecting and trimming parametric meshes on finite element shells
Ehab Moustafa Kamel et al. An integrated approach for the conformal discretization of complex inclusion-based microstructures
Aubry et al. A surface remeshing approach
WO2007012989A1 (en) Mesh fusion
Charton et al. Mesh repairing using topology graphs
US7952592B2 (en) System and method for view-dependent cutout geometry for importance-driven volume rendering
Léon et al. A new approach to the Preparation of models for FE analyses
Schmidt et al. Adaptive mesh booleans
US20070088531A1 (en) Methods For Generating Digital Or Visual Representations Of A Closed Tessellated Surface Geometry
Lau et al. A collision detection framework for deformable objects
Patel et al. Automatic CAD model topology generation
Cebral et al. Flow visualization on unstructured grids using geometrical cuts, vortex detection and shock surfaces

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06766047

Country of ref document: EP

Kind code of ref document: A1