EP2904587A2 - Procédé de traitement de données définissant un élément dans un espace e de dimensions d, programme d'ordinateur associé - Google Patents

Procédé de traitement de données définissant un élément dans un espace e de dimensions d, programme d'ordinateur associé

Info

Publication number
EP2904587A2
EP2904587A2 EP13774392.8A EP13774392A EP2904587A2 EP 2904587 A2 EP2904587 A2 EP 2904587A2 EP 13774392 A EP13774392 A EP 13774392A EP 2904587 A2 EP2904587 A2 EP 2904587A2
Authority
EP
European Patent Office
Prior art keywords
intersection
hyperplane
mediating
point
sign
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.)
Withdrawn
Application number
EP13774392.8A
Other languages
German (de)
English (en)
Inventor
Bruno Levy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Institut National de Recherche en Informatique et en Automatique INRIA
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 Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Institut National de Recherche en Informatique et en Automatique INRIA
Publication of EP2904587A2 publication Critical patent/EP2904587A2/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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

Definitions

  • the present invention relates to methods of data processing defining an element in a space E of dimensions d, comprising the following steps:
  • al defines a set of n points in the space E;
  • Such techniques are used, inter alia, to generate a mesh of an element such as a surface or a volume.
  • Surface meshes are used in many technical applications, for example in the numerical simulation of flow for aeronautical design or for oil exploration, in the mechanics of structures for the design of frames, bridges and other structures. art, in the mechanics of deformations for the simulation of automobile impact tests etc.
  • the mesh consists of cutting the element in question into a set of basic cells.
  • Each base cell and the set of basic cells as a whole must satisfy predefined validity conditions, for example relating to the geometric shape of the basic cells (square, triangle, tetrahedron, hexahedron, cube, etc.) or on angle values at vertices (respect of minimum / maximum angle values).
  • Voronoi Tessellation ", or” CVT ”
  • ODT Optimal Delaunay Triangulation
  • an anisotropic mesh that is to say which has elements that differ from each other in size. and / or in orientation, in predefined areas of the element.
  • An anisotropy matrix is defined for each base cell specifying these orientation and size constraints.
  • the document FR 2962582 describes an anisotropic mesh generation technique.
  • an anisotropic element of dimension d0 for example 3D
  • a corresponding isotropic element of dimension d for example 6D
  • each deformed circle represents the equidistant points of the center of the deformed circle in terms of anisotropic distance defined by the anisotropic metric considered.
  • an isotropic Voronoi diagram is then generated for this 3D surface, represented in part B of FIG. 2.
  • an isotropic mesh by Delaunay triangulation represented in part C of FIG. 2, is deduced from this diagram of FIG. Vorono ⁇ .
  • the isotropic 3D surfaces shown in parts A, B, C of FIG. 2 are projected on the (xOy) plane to generate the corresponding anisotropic 2D surfaces of parts A, B, C of FIG.
  • references_1 Some of these techniques are notably exposed in the following documents, named references_1:
  • the computation of a Delaunay triangulation has a complexity proportional to d !, where d is the dimension of the computing space.
  • d is the dimension of the computing space.
  • the dipping space has a dimension of 6D or even 10D, which makes the calculation volume prohibitive.
  • the present invention aims at providing a solution for reducing the computing load in a space of dimension d.
  • the invention proposes a data processing method of the aforementioned type, characterized in that in step b /, the result of the intersection between said element and a determined Voronoi cell is determined. from the point which associates it x ,, by implementing an iterative processing according to which, at a current iteration step k, an additional point x jk of the set of points other than the point x is selected, and a result is calculated an intersection of one half of the space E delimited by the mediating hyperplane of the segment (x ,, x Jk ) and containing x ,, and the result of intersection calculated at the previous iteration step,
  • selection of at least one additional point in the iteration steps is a function of a comparison between the distance between the associated point x and said additional point and twice the maximum distance between the associated point x , and a point of an intersection result calculated during iterative processing.
  • the invention makes it possible to reduce the volume of calculations necessary for calculating the intersections of Voronoi cells with the element under consideration, by using a test that makes it possible to avoid unnecessary calculations. It also makes it possible to parallelize the treatments for distinct Voronoi cells.
  • the method according to the invention further comprises one or more of the following features:
  • step b / the n-1 other points of the game arranged in order of increasing distance with respect to the point x , are denoted y , - - - x Jn 1 , and the iterative processing is implemented by selecting at the current iteration step k, the point x jk of the succeeding set of points in said increasing distance order the point x Jk 1 selected at the iteration step k-1;
  • said iterative processing is stopped according to a comparison between the distance between the associated point x, and the point ik + i and the double of the maximum distance existing between the associated point x, and a point of the calculated intersection result. at the iteration step k;
  • the index k is set to 1 and the intersection result is set equal to the element
  • a vertex q of the updated intersection result is the intersection between the mediating hyperplane of [x ,, x p ] and an edge [qi, q 2 ] between two vertices q1, q2 of the element, where x p is a point in the set of n points;
  • the coordinates of q are determined using the following formulas:
  • ⁇ 2 ⁇ 1 (
  • ⁇ .,.> represents the scalar product function
  • a vertex q of the updated intersection result is the intersection between the mediating hyperplane of [x ,, x p ], the mediating hyperplane of [ ⁇ ,, x,], and a triangle of vertices ç q 2 , q 3 of the element, where x p and x, are two points of the set of n points;
  • a 2 A " [(a 21 - 3 ⁇ 4 3)
  • ⁇ 3 ⁇ "1 [(a 22 - a 21 ) II x p II 2 + (ai 1 - a 12 )
  • a 21 - 2 ⁇ q 1; X
  • ⁇ .,.> represents the scalar product function
  • ⁇ .,.> represents the scalar product function and sign (x) is the function supplying the sign of the variable x;
  • a vertex q of the updated intersection result is the intersection between the mediating hyperplane of [x ,, x p ] and an edge [qi, q 2 ] between two vertices q1, q2 of the element, where x p is a point in the set of n points;
  • said vertex q of the updated intersection result is determined as the intersection between the mediating hyperplane of [x ,, x p ], the mediating hyperplane of [x ,, X
  • ⁇ .,.> represents the scalar product function and sign (x) is the function providing the sign of the variable x.
  • the present invention provides a data processing computer program defining an element in a space E of dimensions d, said program comprising instructions for implementing the steps of a method according to the first aspect of the present invention. invention when executing the program by processing means.
  • FIG. 1 shows in part A a field of anisotropy prescribed on a 2D surface, in part B a Voronoi diagram resulting and in part C the result of the corresponding triangulation Delaunay;
  • Figure 2 shows in part A an isotropic surface D, in part B a Voronoi diagram resulting and in part C the result of the corresponding triangulation of Delaunay;
  • FIG. 3 partially shows a Voronoi diagram of a set of points, in part B the configuration obtained after one iteration of a Lloyd relaxation algorithm, in part C the configuration obtained after 100. iterations of a Lloyd relaxation algorithm and in part D the result of the Delaunay triangulation resulting from the configuration represented in part C;
  • FIG. 4 is a view of a data processing device in one embodiment of the invention.
  • FIG. 5 represents steps of a method in one embodiment of the invention.
  • FIG. 6 represents steps of a method in one embodiment of the invention.
  • FIG. 7 represents steps of a method in one embodiment of the invention.
  • the Voronoi Vor cell (x,) associated with the point x is defined by:
  • Voronoi Vor (X) diagram i.e. the abstract simplicial complex derived from the combinatorial Vor (X), is called the Delaunay triangulation.
  • Delaunay's triangulation has several interesting geometric properties and is used in many applications, for example, but not only, mesh generation treatments (see Jean-Daniel Boissonnat and Mariette Yvinec, Algorithmic Geometry, Cambridge University Press, 1998). .
  • a CVT can be realized by an algorithm, called Lloyd's Relaxation, which iteratively moves each point x, to the center of Vor (Xi), and provides isotropic triangles (see Stuart P. Lloyd, Least Squares Quantization in PCM, IEEE). Transactions on Information Theory, 28 (2): 129-137, 1982).
  • part A (corresponding to non fat points) is shown in part A.
  • the centers of Voronoi cells are in bold points.
  • part B of FIG. 3 the configuration obtained after an iteration of the Lloyd relaxation algorithm is represented.
  • part C of FIG. 3 the configuration obtained after 100 iterations of the Lloyd relaxation algorithm is represented.
  • part D of FIG. 3 the Delaunay triangulation deduced from the configuration of part C of FIG. 3 is represented.
  • S is a surface or a volume, or any other domain.
  • s The Voronoi diagram of the set X restricted to S, labeled Vor (X)
  • s , is the set of Voronoi Vor cells (x,), i 1 to n, restricted to S, denoted Vor (Xi)
  • s Vor (x,) ⁇ S.
  • s is called the restricted Delaunay triangulation. Each triangle of a restricted Delaunay triangulation corresponds to three restricted Voronoi cells with a non-empty intersection.
  • restricted Voronoi cells can also be defined by Vor (Xi)
  • s S ⁇ Q ⁇ (', /),
  • ⁇ + (/, y) ⁇ x
  • d (x, x,) ⁇ c / (x, x y ) ⁇ is the half-space in 9i d limited by l mediator hyperplane of the segment [x ,, Xj] and which contains x ,.
  • One of the aspects of the invention is to make it possible to determine efficiently, among the mediating hyperplanes defined by the segments [x ,, x,], which are contributors to the Voronoi Vor cell determination (x,) and which are non-contributors. , ie Vor (x,)
  • V k (Xi) be the intersection of the first k mediating hyperplanes between x, and each of these k first points, and R k its radius centered on x ,, ie:
  • the safety radius theorem according to the invention is as follows:
  • S0 may be a volume delimited by a surface or any other type of domain.
  • the goal of the treatment is to generate an anisotropic mesh of the S0 domain according to a prescribed anisotropy field.
  • a data processing device 10 shown in FIG. 4 is considered.
  • Such a processing device 10 comprises a memory 1 1, a microcomputer
  • a human-machine interface 13 including a display screen on which to display a mesh generated for the domain S0.
  • the memory 10 notably comprises digital data defining the domain S0 and a computer program P.
  • the program P includes software instructions, which when executed by the microcomputer 12, implement the steps indicated below with reference to FIGS. 5-7.
  • a domain S of dimensions d> d0 is made to correspond to domain S0 of dimension d0 in accordance with the documents named references_1 above.
  • d 6, or 10.
  • N x , N y , N z are the normal unit vectors at the surface S0 at the point
  • an iterative processing 101 is implemented to determine an isotropic mesh of the S domain.
  • a step 102 the value n of the number of Voronoi cells being fixed, a set X of n points of the space 3 ⁇ 4 d , ⁇ xi, x 2 , ..., x n ⁇ with x, 6 3 ⁇ 4 d , is determined for the current iteration.
  • the set X of points is for example chosen randomly.
  • the set X is determined according to the results of the last iteration performed for the processing 101.
  • a step 103 a step of determining the Voronoi diagram restricted to S, ie Vor (Xj)
  • This loop output condition includes for example:
  • the gradient standard of an "objective" function is below a certain threshold.
  • the "objective" function represents the noise power of the sampling
  • a restricted step Delaunay triangulation step 105 is then implemented, to determine the dual of the Voronoi diagram provided at the output of the iterative processing 101, by direct deduction of the combinatorial of the restricted Voronoi diagram, namely for each vertex of the Voronoi restricted, one generates the corresponding Delaunay triangle.
  • s is carried out in the manner indicated below with reference to FIG.
  • the ANN tool is used for example (David M. Mount and Sunil
  • a division of the domain S into subdomains is performed, in order to be able to parallelize the steps performed on distinct subdomains (triangles, tetrahedra, etc.).
  • the subdomains f of the surface S are triangles.
  • the area of Vor (Xi)
  • cell, associated with x, and restricted to the subdomain f, is implemented using the safety radius theorem, and considering the points x h x jn 1 ordered according to a distance X, increasing.
  • step 103_4 thus comprises the following operations.
  • an initialization step 103_41 consider a domain V equal to the subdomain f considered, a value t equal to 1 and a value R equal to max ⁇ d (x ,, x) / x 6V ⁇ .
  • a step 103_42 the following steps are iterated as long as d (Xi, i ( ) ⁇ 2R and that t ⁇ n:
  • step 103_42 is stopped.
  • V is then equal to the Voronoi cell Vor (Xi)
  • Sutherland &Hodgman's reentrant fenestration algorithm could be used, for example (Ivan Sutherland and Gary W. Hodgman, Reentrant Polygon Clipping, Communications of the ACM, 17: 32-42, 1974).
  • the use of the safety radius theorem allows us to determine only those sections of the Voronoi cell that are useful for calculating the intersection between this cell and the considered subdomain f, thus greatly reducing the necessary computational volume. which is very appreciable especially when the value of the dimension d of the space considered increases.
  • a method according to the invention implements the steps indicated below, to define the intersection between a subdomain f and a Voronoi cell, in a space of dimensions d, using the products scalars and the linear combination of vectors, the calculation volume implemented being independent of the dimension d.
  • a- q is a vertex of the subdomain f considered
  • b- q is the intersection between the mediating hyperplane of [x ,, x k ] and an edge [qi, q 2 ] between two vertices qi, q 2 of the subdomain f;
  • c- q is the intersection between two mediating hyperplanes (for example the mediating hyperplane of [x ,, x k ] and that of [ ⁇ ,, x,], and the subdomain f; in this case, the subdomain is the triangle of vertices qi, q 2 , q 3 .
  • a 21 - 2 ⁇ q 1; X
  • c 3 i + c 32 + c 33 .
  • a 2 A " [(a 21 -a 23 )
  • ⁇ 3 ⁇ "1 [(a 22 - a 21 ) II x k II 2 + (a! -a ⁇ )
  • 2 + c 33 ]; and orient ( ⁇ (', j), q) sign ( ⁇
  • the formulation of q and the orient function is therefore independent of the dimension d, in that only the scalar product ⁇ .,.> and linear combinations intervene, and where the dimension of the linear systems is independent of d.
  • Recentering improves filtering performance.
  • the algorithm implementing these steps of calculating the coordinates of q and the orient function is parametrized by a geometric kernel, defining the types of points and vectors, the dot product and the linear combinations of vectors. This allows to have a working implementation whatever the dimension d.
  • the subdomain f is a triangle.
  • the formulas indicated above are valid also for any subdomain f, for example an arbitrary polygon or any object of greater size, for example a tetrahedron (these formulas are therefore applicable in the case of a volume mesh).
  • 3D reconstruction applications in particular the steps of passing from a cloud of points to a surface

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Generation (AREA)
  • Complex Calculations (AREA)

Description

Procédé de traitement de données définissant un élément dans un espace E de dimensions d, programme d'ordinateur associé
La présente invention concerne les procédés de traitement de données définissant un élément dans un espace E de dimensions d, comprenant les étapes suivantes :
al on définit un jeu de n points dans l'espace E ;
b/ on calcule l'intersection entre ledit élément et des cellules de Voronoï déterminées chacune à partir d'un point respectivement associé parmi lesdits n points définis.
De telles techniques sont utilisées, entre autres, pour générer un maillage d'un élément tel qu'une surface ou un volume.
Les maillages de surface sont utilisés dans de nombreuses applications techniques, par exemple dans la simulation numérique de l'écoulement pour la conception aéronautique ou pour l'exploration pétrolière, dans la mécanique des structures pour la conception de charpentes, ponts et autres ouvrages d'art, dans la mécanique des déformations pour la simulation de tests d'impact automobiles etc.
Le maillage consiste à découper l'élément considéré en un jeu de cellules de base. Chaque cellule de base et le jeu de cellules de base dans son ensemble doivent satisfaire des conditions de validité prédéfinies, portant par exemple sur la forme géométrique des cellules de base (carré, triangle, tétraèdre, hexaèdre, cube, etc.) ou sur des valeurs d'angle aux sommets (respect de valeurs d'angles minimales/maximales).
Ces conditions prédéfinies dépendent en grande partie de l'application à laquelle le maillage est destiné.
Il existe de nombreux procédés pour générer un maillage d'un domaine.
On connaît certains procédés basés sur l'optimisation d'une fonction « objectif » dépendant des coordonnées aux sommets des cellules. De tels procédés sont parfois désignés "procédés variationnels".
Des procédés utilisent le pavage barycentrique de Voronoï (en anglais "Centroidal
Voronoi Tessellation", ou "CVT") et la triangulation optimale de Delaunay (Optimal Delaunay Triangulation" ou "ODT' en anglais).
Ils permettent de générer efficacement et de manière robuste des maillages isotropes. Ces procédés se révèlent notamment particulièrement efficaces lorsqu'il s'agit de générer un maillage isotrope à partir de cellules de base triangulaires (maillage d'une surface) ou tétraédriques (maillage d'un volume).
Par ailleurs, certaines applications peuvent nécessiter la génération d'un maillage anisotrope, c'est-à-dire qui présente des éléments qui diffèrent les uns des autres en taille et/ou en orientation, dans des zones prédéfinies de l'élément. Une matrice d'anisotropie est définie pour chaque cellule de base spécifiant ces contraintes d'orientation et de taille.
Le document FR 2962582 décrit une technique de génération de maillage anisotrope.
Des techniques sont apparues, selon lesquelles on remplace l'anisotropie par des dimensions supplémentaires de l'espace : un élément anisotrope de dimension dO, par exemple 3D, est représenté par un élément isotrope correspondant de dimension supérieure d, par exemple 6D. On parle alors de plongement de l'élément de dimension dO en un élément correspondant de dimension d.
A titre d'illustration, en référence aux figures 1 et 2, pour générer un maillage anisotrope 2D gouverné par la métrique anisotrope 2D représentée en partie A de la figure 1 , une surface 3D isotrope correspondante est générée (cf. partie A de la figure 2).
Sur la partie A de la figure 1 , chaque cercle déformé représente les points équidistants du centre du cercle déformé en terme de distance anisotrope définie par la métrique anisotrope considérée.
Selon ces techniques, un diagramme de Voronoï isotrope est alors généré pour cette surface 3D, représenté en partie B de la figure 2. Puis un maillage isotrope par triangulation de Delaunay, représenté en partie C de la figure 2, est déduit de ce diagramme de Voronoï.
Les surfaces 3D isotropes représentées sur les parties A, B, C de la figure 2 sont projetées sur le plan (xOy) pour générer les surfaces 2D anisotropes correspondantes des parties A, B, C de la figure 1 .
Certaines de ces techniques sont notamment exposées dans les documents ci- après, nommés références_1 :
- J. F. Nash, The imbedding problem for riemannian manifolds. Annals of Math- ematics, 63:20-63, 1956 ;
- F. Labelle and J.-R. Shewchuk, Anisotropic Voronoi diagrams and guaranteed- quality anisotropic mesh génération, In SCG '03: Proceedings of the nineteenth annual symposium on Computational geometry, pages 191 -200, 2003.
Ces techniques donnent de bons résultats pour la prise en compte de l'anisotropie, mais le plongement dans des dimensions d supérieures donne lieu à un accroissement très important du volume de calculs nécessaire.
En effet, le calcul d'une triangulation de Delaunay a une complexité proportionnelle à d!, où d est la dimension de l'espace de calcul. Généralement, l'espace de plongement est de dimension 6D, voire 10D, ce qui rend prohibitif le volume de calcul. La présente invention vise à proposer une solution pour réduire la charge de calcul dans un espace de dimension d.
A cet effet, suivant un premier aspect, l'invention propose un procédé de traitement de données du type précité caractérisé en ce que dans l'étape b/, on détermine le résultat de l'intersection entre ledit élément et une cellule de Voronoï déterminée à partir du point qui lui associé x,, en mettant en œuvre un traitement itératif selon lequel à un pas d'itération courant k, on sélectionne un point supplémentaire xjk du jeu de points autre que le point x, et on calcule un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par l'hyperplan médiateur du segment (x,, xJk ) et qui contient x,, et d'autre part le résultat d'intersection calculé au pas d'itération précédent,
et selon lequel la sélection d'au moins un point supplémentaire lors des pas d'itération est fonction d'une comparaison entre la distance entre le point associé x, et ledit point supplémentaire et le double de la distance maximale existant entre le point associé x, et un point d'un résultat d'intersection calculé lors du traitement itératif.
L'invention permet de réduire le volume de calculs nécessaires au calcul des intersections des cellules de Voronoï avec l'élément considéré, en utilisant un test qui permet d'éviter des calculs inutiles. Elle permet en outre de paralléliser les traitements pour des cellules de Voronoï distinctes.
Dans des modes de réalisation, le procédé suivant l'invention comporte en outre une ou plusieurs des caractéristiques suivantes :
- dans l'étape b/, les n-1 autres points du jeu classés par ordre de distance croissante par rapport au point x,, sont libellés y ,- - - xJn 1 , et le traitement itératif est mis en œuvre en sélectionnant au pas d'itération courant k, le point xjk du jeu de points qui succède dans ledit ordre de distance croissante le point xJk 1 sélectionné au pas d'itération k-1 ;
- ledit traitement itératif est stoppé en fonction d'une comparaison entre la distance entre le point associé x, et le point ik+i et le double de la distance maximale existant entre le point associé x, et un point du résultat d'intersection calculé au pas d'itération k ;
- dans une étape d'initialisation, l'indice k est fixé à 1 et le résultat d'intersection est fixé égal à l'élément ;
- on réitère l'ensemble des étapes al et b/ en définissant dans chaque nouvelle étape al un jeu de n points tirés d'au moins le jeu précédent ;
- on réitère l'ensemble des étapes al et b/ ; - lors de l'étape de calcul d'un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par un hyperplan médiateur d'un segment (χ,, xjk ) et qui contient χ,, et d'autre part le résultat d'intersection calculé au pas d'itération précédent, on met en œuvre les étapes suivantes :
- on détermine si un sommet q du résultat actualisé d'intersection est l'intersection entre l'hyperplan médiateur de [x,, xp] et une arête [qi, q2] entre deux sommets q1 , q2 de l'élément, où xp est un point du jeu de n points ;
- et si ledit sommet q est déterminé comme étant l'intersection entre l'hyperplan médiateur de [x,, xp] et une arête [qi, q2] entre deux sommets q1, q2 de l'élément, les coordonnées de q sont déterminées à l'aide des formules suivantes :
q = A^! + A2q2, avec Κ = Δ" (-||χρ||2 + 2<q2, xp>)
λ2 = Δ1(||χρ||2 - 2<ql5 xp>)
où Δ = -2<qi, xp> + 2<q2, xp>, et
<.,.> représente la fonction produit scalaire ;
- lors de l'étape de calcul d'un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par un hyperplan médiateur d'un segment (x,, xjk ) et qui contient x,, et d'autre part le résultat d'intersection calculé au pas d'itération précédent, on met en œuvre les étapes suivantes :
- on détermine si un sommet q du résultat actualisé d'intersection est l'intersection entre l'hyperplan médiateur de [x,, xp], l'hyperplan médiateur de [χ,, x,], et un triangle de sommets ç q2, q3 de l'élément, où xp et x, sont deux points du jeu de n points ;
- et si q est déterminé comme étant l'intersection entre l'hyperplan médiateur de [x,, xp], l'hyperplan médiateur de [x,, X|], et un triangle de sommets qi, q2, q3 de l'élément, les coordonnées de q sont déterminées à l'aide des formules suivantes : q = q1 + λ2 q2 + λ3 q3, avec
Κ =A" [(a23-a22)||xp||2 + (a12-a13)||xi||2 + c31 ] ;
A2 = A" [(a21 - ¾3)||xp||2 + (ai3-aii)||xi||2 + c32] ;
λ3 = Δ"1 [(a22 - a21 ) Il xp II 2 + (ai 1 - a12) || x, || 2 + c33 ] où an= - 2<q1; xp> ; a12= - 2<q2, xp> ; a13= - 2<q3, xp>
a21= - 2<q1; X|> ; a22= - 2<q2, x,> ; a23= - 2<q3, x,>.
c3i = a23 ai2- a22 ai3 ; c32= a2i a-i3- a23 an ; c33= a22 an - a2i a-i2
<.,.> représente la fonction produit scalaire ; - lors de l'étape de calcul d'un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par un hyperplan médiateur d'un segment (χ,, xjk ) et qui contient χ,, et d'autre part le résultat d'intersection calculé au pas d'itération précédent, comprenant les étapes suivantes :
- on détermine si un sommet q du résultat actualisé d'intersection est un sommet de l'élément ;
- si ledit sommet q est déterminé comme un sommet de l'élément, la présence dudit sommet q dans la moitié de l'espace E délimitée par l'hyperplan médiateur du segment (x,, xJk ) et qui contient x, est déterminée en fonction du signe de la fonction orient par : orient ( Y[+(i, jk) ,q) = signe ( || xJk || 2 -2<q, xJk >), où
<.,.> représente la fonction produit scalaire et signe (x) est la fonction fournissant le signe de la variable x ;
- lors de l'étape de calcul d'un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par un hyperplan médiateur d'un segment (x,, xjk ) et qui contient x,, et d'autre part le résultat d'intersection calculé au pas d'itération précédent :
- on détermine si un sommet q du résultat actualisé d'intersection est l'intersection entre l'hyperplan médiateur de [x,, xp] et une arête [qi , q2] entre deux sommets q1 , q2 de l'élément, où xp est un point du jeu de n points ;
- si q est déterminé comme l'intersection entre l'hyperplan médiateur de [x,, xk] et une arête [qi , q2] entre deux sommets q1 , q2 de l'élément, la présence dudit sommet q dans la moitié de l'espace E délimitée par l'hyperplan médiateur du segment Xi,xjk) et qui contient x, est déterminée en fonction du signe de la fonction orient orient ( f[+(/, yJ ,q) = signe (Δ || xjk || 2 -2< A q, xjk >). signe (Δ), avec Δ = -2<qi , xp> + 2<q2, xp>, et où <.,.> représente la fonction produit scalaire et signe (x) est la fonction fournissant le signe de la variable x ;
- lors de l'étape de calcul d'un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par un hyperplan médiateur d'un segment (x,, xJk ) et qui contient x,, et d'autre part le résultat d'intersection calculé au pas d'itération précédent : - on détermine si un sommet q du résultat actualisé d'intersection est l'intersection entre l'hyperplan médiateur de [χ,, xp], l'hyperplan médiateur de [χ,, X|], et un triangle de sommets qi , q2, q3 de l'élément, où xp et X| sont deux points du jeu de n points ;
- si ledit sommet q du résultat actualisé d'intersection est déterminé comme l'intersection entre l'hyperplan médiateur de [x,, xp], l'hyperplan médiateur de [x,, X|], et un triangle de sommets qi , q2, q3 de l'élément, la présence dudit sommet q dans la moitié de l'espace E délimitée par l'hyperplan médiateur du segment (x,, xh- ) et qui contient x, est déterminée en fonction du signe de la fonction orient
( Y[+(i k) .q) définie par : orient ( Y[+(i, jk) ,q) = signe (Δ || xk || 2 -2< Δ q, xk >). signe (Δ), où
Δ = C31 + C32 + C33 ;
C31 = a23 3i2 - a22 3i 3 ; C32 = 821 3i3 " ¾3 3i 1 ; C33 = 322 an - 321 3i2 ;
3i i = - 2<qi , xp> ; 3i2= - 2<q2, xP> ; 3i3= - 2<q3, xP>
32i= - <qi , X|> ; 322= - 2<q2, Xi> ; 323= - 2<q3, Xi> et où
<.,.> représente la fonction produit scalaire et signe (x) est la fonction fournissant le signe de la variable x.
Suivant un deuxième aspect, la présente invention propose un programme d'ordinateur de traitement de données définissant un élément dans un espace E de dimensions d, ledit programme comportant des instructions pour mettre en œuvre les étapes d'un procédé suivant le premier aspect de l'invention, lors d'une exécution du programme par des moyens de traitement.
Ces caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple, et faite en référence aux dessins annexés, sur lesquels :
- la figure 1 représente en partie A un champ d'anisotropie prescrit sur une surface 2D, en partie B un diagramme de Voronoï résultant et en partie C le résultat de la triangulation correspondante de Delaunay ;
- la figure 2 représente en partie A une surface isotrope D, en partie B un diagramme de Voronoï résultant et en partie C le résultat de la triangulation correspondante de Delaunay ;
- la figure 3 représente en partie A un diagramme de Voronoï d'un ensemble de points, en partie B la configuration obtenue après une itération d'un algorithme de relaxation de Lloyd, en partie C la configuration obtenue après 100 itérations d'un algorithme de relaxation de Lloyd et en partie D le résultat de la triangulation de Delaunay résultant de la configuration représentée en partie C ;
- la figure 4 est une vue d'un dispositif de traitement de données dans un mode de réalisation de l'invention ;
- la figure 5 représente des étapes d'un procédé dans un mode de réalisation de l'invention ;
- la figure 6 représente des étapes d'un procédé dans un mode de réalisation de l'invention ;
- la figure 7 représente des étapes d'un procédé dans un mode de réalisation de l'invention.
Diagramme de Voronoï et triangulation de Delaunay :
Tout d'abord, les définitions d'un diagramme de Voronoï et de la triangulation de Delaunay sont rappelées.
Etant donné un ensemble X de points tel que X = {xi , x2,..., xn} avec x, 6 ¾d , où 9î est l'espace réel et d la dimension considérée, le diagramme de Voronoï Vor(X) est la collection des cellules de Voronoï Vor(x,), i= 1 à n.
La cellule de Voronoï Vor(x,) associée au point x, est définie par :
Vor(Xi)= {x 6 ¾d /d(x,Xi) < d(x,Xj) , V j=1 à n} où d(.,.) indique la distance euclidienne ¾d .
Le dual du diagramme de Voronoï Vor(X), i.e. le complexe simplicial abstrait déduit de la combinatoire de Vor(X), est appelé la triangulation de Delaunay.
Chaque paire de cellules de Voronoï Vor(x,), Vor(Xj) , qui a une intersection non nulle, définit un côté (x,, Xj) dans la triangulation de Delaunay, et chaque triplet de cellules de Voronoï Vor(x,), Vor(Xj), Vor(xk) qui a une intersection non nulle définit un triangle (x,, Xj, Xk) -
La triangulation de Delaunay présente plusieurs propriétés géométriques intéressantes et est utilisée dans de nombreuses applications, par exemple, mais non seulement, les traitements de génération de maillage (cf. Jean-Daniel Boissonnat and Mariette Yvinec. Algorithmic Geometry. Cambridge University Press, 1998).
Le diagramme de Voronoï barycentrique ou CVT (en anglais « Centroidal Voronoï Tessallation ») est un diagramme de Voronoï dans lequel le point x,, pour i= 1 à n, est le centre de la cellule de Voronoï associée à x,. Une CVT peut être réalisée par un algorithme, dit de relaxation de Lloyd, qui déplace itérativement chaque point x, au centre de Vor(Xi), et fournit des triangles isotropes (cf. Stuart P. Lloyd. Least squares quantization in PCM. IEEE Transactions on Information Theory, 28(2):129-137, 1982).
En référence à la figure 3, un diagramme de Voronoï en 2D associé aux points x,
(correspondant aux points non gras) est représenté en partie A. Les centres des cellules de Voronoï sont en points gras. En partie B de la figure 3, la configuration obtenue après une itération de l'algorithme de relaxation de Lloyd est représentée. En partie C de la figure 3, la configuration obtenue après 100 itérations de l'algorithme de relaxation de Lloyd est représentée. En partie D de la figure 3, la triangulation de Delaunay déduite de la configuration de la partie C de la figure 3 est représentée.
A présent, les notions de diagramme de Voronoï restreint et de triangulation de Delaunay restreinte sont définies. Soit un domaine S inclus dans ¾d .
Par exemple, S est une surface ou un volume, ou tout autre domaine.
Le diagramme de Voronoï de l'ensemble X restreint à S, libellé Vor(X)|s, est l'ensemble des cellules de Voronoï Vor(x,), i= 1 à n, restreintes à S, libellées Vor(Xi)|s.
La cellule de Voronoï restreinte à S, Vor(Xi)|s, est égale à Vor(Xi)|s = Vor(x,) Π S. Le dual du diagramme de Voronoï Vor(X), i.e. le complexe simplicial abstrait déduit de la combinatoire de Vor(X) |s, est appelé la triangulation de Delaunay restreinte. Chaque triangle d'une triangulation de Delaunay restreinte correspond à trois cellules de Voronoï restreintes ayant une intersection non vide.
Conséquence directe de leur définition, les cellules de Voronoï restreintes peuvent aussi être définies par Vor(Xi)|s = S Π Q Π (', /) ,
y=1 à n,j≠i où ]^+(/, y) = {x|d(x, x, ) < c/(x, xy )} est le demi-espace dans 9îd limité par l'hyperplan médiateur du segment [x,, Xj] et qui contient x,.
On voit ainsi qu'une cellule de Voronoï restreinte Vor(Xi)|s peut être obtenue en partant de l'espace 3id et en effectuant itérativement des découpes à l'aide des hyperplans Π+('>/) pour j = 1 à n et j≠i.
Appliquer une telle itération en pratique n'a pas d'intérêt car l'algorithme qui en résulterait aurait une complexité superquadratique. C'est pourquoi les algorithmes existants sont basés sur d'autres considérations. On connaît par exemple les méthodes de calcul dediagrammes de Voronoi fondés sur les propriétés de la triangulation de Delaunay décrits dans l'ouvrage de référence suivan t: "Algorithmic Geometry", Boissonnat et Yvinec, ISBN-13: 978-0521565295. Ces algorithmes classiques calculent directement la triangulation de Delaunay, en insérant les points un par un et en corrigeant itérativement le maillage de manière à vérifier la propriété dite de la "sphère vide".
Principe du rayon de sécurité :
Un des aspects de l'invention est de permettre de déterminer efficacement, parmi les hyperplans médiateurs définis par les segments [x,, x,], lesquels sont contributeurs à la détermination de cellule de Voronoï Vor(x,) et lesquels sont non contributeurs, i.e. Vor(x,)
Considérons xh- ,... xJn 1 les n-1 points de l'ensemble X autres que x, et classés par ordre croissant de distance à x,.
Soit Vk(Xi) l'intersection des k premiers hyperplans médiateurs situés entre x, et chacun de ces k premiers points, et Rk son rayon centré sur x,, soit :
Vk(Xi) = ΠΐΓ(/', 7/ ) et Rk = max t d(Xi'x) 1 6 ν*( ) >
/=1
Le théorème du rayon de sécurité selon l'invention est le suivant :
Pour tout j tel que d(x„Xj) > 2.Rk, l'hyperplan j) est non contributeur à la construction de la cellule de Voronoï Vor(x,), i.e. Vk(x,) c ·
Preuve : en considérant x 6 Vk(x,) et Xj tel que d(Xi,xjy) > 2 Rk,
par définition de Rk, d(x,x,) < Rk.
On a d(x,,x) + d(x,Xj)> d(xi ;Xj) (inégalité triangulaire)
par conséquent, d(x,Xj)> Rk > d(x,x,) et x C ]^[+(/', y) .
On notera que ce théorème a des applications pratiques avantageuses lorsqu'on l'applique à des cellules de Voronoï bornées, et par conséquent à des cellules de Voronoï restreintes.
Conséquence directe du théorème du rayon de sécurité :
si d(Xj,xjk+1) > 2.Rk alors Vk(Xi) = Vor(Xi) . On appelle rayon de sécurité la première valeur de Rk (i.e. la plus grande) rencontrée, en parcourant les xh- ,... χί n i dans cet ordre, qui satisfait cette condition
« d(xhxjk+1) > 2.Rk » . Exemple d'application du principe du rayon de sécurité
Dans ce qui suit, on expose un exemple d'application du théorème du rayon de sécurité à un dispositif et un procédé de traitement de données, ces données définissant un domaine S0.
Dans le cas considéré, S0 est une surface s'étendant dans un espace de dimension dO, par exemple dO = 3.
Dans d'autres cas, S0 pourra être un volume délimité par une surface ou tout autre type de domaine.
Dans le cas considéré, le traitement réalisé a pour but la génération d'un maillage anisotrope du domaine S0 conformément à un champ d'anisotropie prescrit.
A cette fin, on considère un dispositif 10 de traitement de données représenté en figure 4.
Un tel dispositif de traitement 10 comporte une mémoire 1 1 , un microcalculateur
12 et une interface homme-machine 13, comprenant notamment un écran d'affichage sur lequel afficher un maillage généré pour le domaine S0.
La mémoire 10 comporte notamment des données numériques de définition du domaine S0 et un programme d'ordinateur P.
Le programme P comprend des instructions logicielles, qui lorsqu'elles sont exécutées par le microcalculateur 12, mettent en œuvre les étapes indiquées ci-dessous en référence aux figures 5-7.
Soit le domaine S0 de dimension dO, pour lequel un maillage anisotrope gouverné par une métrique d'anisotropie donnée doit être généré.
Dans une étape 100, on fait correspondre au domaine S0 de dimension dO, un domaine S de dimensions d > dO conformément aux documents nommés références_1 plus haut. Par exemple, d = 6, ou 10.
Pour dO = 3 et d= 6, à tout point [x,y,z] de S0, on fait par exemple correspondre le point [x,y,z,s.Nx, s.Ny, s.Nz] de S, où le facteur s indique le degré d'anisotropie souhaité
(une petite valeur de s génère un maillage isotrope et une grande valeur de s, un maillage anisotrope). Nx, Ny, Nz sont les vecteurs unitaires normaux à la surface S0 en le point
[x,y,
Puis un traitement itératif 101 est mis en œuvre pour déterminer un maillage isotrope du domaine S. Ainsi dans une étape 102, la valeur n du nombre de cellules de Voronoï étant fixée, un ensemble X de n points de l'espace ¾d , {xi , x2,..., xn} avec x, 6 ¾d , est déterminé pour l'itération courante.
Lors de la première itération, l'ensemble X de points est par exemple choisi aléatoirement.
Puis lors des itérations suivantes, l'ensemble X est déterminé en fonction des résultats de la dernière itération réalisée pour le traitement 101 .
Dans une étape 103, une étape de détermination du diagramme de Voronoï restreint à S, i.e. Vor(Xj) |s, est réalisée.
Dans une étape 104, une condition de sortie de boucle est testée. Cette condition de sortie de boucle comprend par exemple :
- la comparaison entre la valeur courante k d'itération et un seuil maximal fixé ; et/ou
- la norme du gradient d'une fonction « objectif » est inférieure à un certain seuil. Par exemple, la fonction « objectif » représente la puissance du bruit de l'échantillonnage
(« quantization noise power » en anglais), à savoir la somme des moments d'inertie des cellules de Voronoi.
Si la condition de sortie de boucle 105 n'est pas satisfaite, la valeur de k est augmentée de 1 et une itération supplémentaire du traitement 101 est mise en œuvre.
Si la condition de sortie de boucle 104 est satisfaite, le traitement itératif 101 est stoppé. Une étape 105 de triangulation de Delaunay restreinte est alors mise en œuvre, pour déterminer le dual du diagramme de Voronoï fourni en sortie du traitement itératif 101 , par déduction directe de la combinatoire du diagramme de Voronoi restreint, à savoir pour chaque sommet du diagramme de Voronoi restreint, on génère le triangle de Delaunay correspondant.
Des opérations diverses peuvent ensuite être mises en œuvre, notamment la projection sur l'espace de dimension dO initiale du résultat de la triangulation de Delaunay obtenue dans l'espace de dimension d à l'issue du traitement itératif 101 , de manière à obtenir le maillage anisotrope souhaité du domaine S0.
Dans le mode de réalisation considéré, l'étape 103 de détermination du Vor(Xj)|s, est réalisée de la manière indiquée ci-après en référence à la figure 6 :
Dans une étape 103_1 , pour chaque x,, avec i= 1 à n, les autres points x,, j= 1 à n et j≠ i, sont triés par ordre croissant de distance à x, ce qui résulte en une liste ordonnée Xj , . . . Xj ^■ Pour ce faire, l'outil ANN est par exemple utilisé (David M. Mount and Sunil
Arya, ANN: A library for approximate nearest neighbor searching. In Proceedings CGC Workshop on Computational Geometry, pages 33-40, 1997).
Dans une étape 103_2 d'initialisation, on initialise à la valeur 0 la variable m, et chacune des coordonnées de points g, de ¾d , i= 1 à n.
Dans une étape 103_3, un découpage du domaine S en sous-domaines est effectué, ceci afin de pouvoir paralléliser les étapes réalisées sur des sous-domaines distincts (triangles, tétraèdres etc).
Dans le cas considéré, les sous-domaines f de la surface S sont des triangles.
Dans une étape 103_4, pour chaque point x,, avec i= 1 à n, et pour chaque sous- domaine f telle que l'intersection entre le sous-domaine f et la cellule de Voronoï associée à X, est non vide, Vor(Xi)|f, la cellule de Voronoï associée à x, et restreinte au sous- domaine f, est déterminée, de la manière indiquée ci-dessous en référence à la figure 7.
Puis on affecte à une variable m la valeur de la « masse » de Vor(Xj) |f, on ajoute à la valeur courante de m, la valeur de m, et on actualise la valeur des coordonnées du point g, suivant la formule : g, = g, + m.centre Vor(Xi)|f, où centre Vor(Xi) |, est le centre de gravité de Vor(Xj)|f.
La « masse » de Vor(Xi) |, est égale à . J cx . Ainsi la « masse » de Vor(Xi) |, est xeVor
l'aire de Vor(Xi) |, si Vor(Xi) |, est une surface, est le volume de Vor(Xi) |, si Vor(Xi) |, est un volume, est l'hyper-volume de Vor(Xi) |, si Vor(Xi) |, est de dimension supérieure ou égale à 4.
1 r
Le centre de gravite de Vor(Xi)|, est 1— x.dx .
masse de Vor(Xi )\ f Vorlx )l f
Dans un mode de réalisation, la détermination de l'ensemble de points X dans une étape 102 pour l'itération k+1 du traitement 101 , est par exemple telle que le point x, = g,. 1/rrii, où i= 1 à n et g, est le point obtenu à l'issue de l'étape 103_4 mise en œuvre pour l'itération k du traitement 101 .
Selon l'invention, l'étape 103_4 de détermination de la cellule de Voronoï Vor(Xi)|, associée à x, et restreinte au sous-domaine f, est mise en œuvre en utilisant le théorème du rayon de sécurité, et en considérant les points xh xjn 1 ordonnés selon une distance à X, croissante.
Dans un exemple de mode de réalisation, en référence à la figure 7, l'étape 103_4 comprend ainsi les opérations suivantes. Dans une étape 103_41 d'initialisation, on considère un domaine V égal au sous- domaine f considéré, une valeur t égale à 1 et une valeur R égale à max {d(x,, x)/ x 6V}.
Dans une étape 103_42, on itère les étapes suivantes tant que d(Xi, i( ) < 2R et que t <n :
v = v n []+(/, i() ;
t = t+1 .
Quand d(x,, y )≥ 2R ou que t = n, l'étape 103_42 est stoppée.
Et la valeur courante de V est alors égale à la cellule de Voronoï Vor(Xi)|, associée à x, et restreinte au sous-domaine f (poursuivre les itérations de l'étape 103_42 n'est plus utile puisque les hyperplans médiateurs non encore pris en compte ne sont pas contributeurs).
Pour le calcul effectif de l'intersection V y' f ) , l'algorithme de fenêtrage réentrant de Sutherland& Hodgman pourra par exemple être utilisé (Ivan Sutherland and Gary W. Hodgman, Reentrant polygon clipping. Communications of the ACM, 17:32-42, 1974).
L'utilisation du théorème du rayon de sécurité permet de ne déterminer que les sections de la cellule de Voronoï qui sont utiles pour calculer l'intersection entre cette cellule et le sous-domaine f considéré, réduisant ainsi amplement le volume de calcul nécessaire, ce qui est très appréciable notamment quand la valeur de la dimension d de l'espace considéré augmente.
Par ailleurs, elle autorise le calcul en parallèle et de façon indépendante, des intersections pour des cellules de Voronoï respectives. Dans un mode de réalisation, un procédé selon l'invention met en œuvre les étapes indiquées ci-dessous, pour définir l'intersection entre un sous-domaine f et une cellule de Voronoï, dans un espace de dimensions d, en utilisant les produits scalaires et la combinaison linéaire de vecteurs, le volume de calcul mis en œuvre étant indépendant de la dimension d.
On notera que ces dispositions peuvent être mises en œuvre indépendamment de l'utilisation du test dit du rayon de sécurité.
Dans l'étape de calcul de V y' i ) à l'aide l'algorithme de fenêtrage ré-entrant de Sutherland & Hodgman, il est nécessaire de déterminer les coordonnées des nouveaux sommets du domaine résultant de cette intersection, et également de déterminer de quel côté un sommet se situe par rapport à un demi-espace ]^[+(/', y) .
La fonction permettant de déterminer de quel côté un sommet q se situe par rapport au demi-espace Π+('>/) est nommée orient ( ]^[+(/, y) ,q). Si le résultat de orient ( YY(i, y) ,q) est positif, le sommet q est situé dans le demi-espace Π (/, y)■
Sinon, le sommet q est à l'extérieur du demi-espace Π+('>/)■
Des sommets q du domaine résultant dans certains cas ont déjà été déterminé lors d'itération(s) précédente(s) ou n'apparaissent que dans l'itération courante.
Trois configurations différentes existent pour un sommet q :
a- q est un sommet du sous-domaine f considéré ;
b- q est l'intersection entre l'hyperplan médiateur de [x,, xk] et une arête [qi , q2] entre deux sommets qi , q2 du sous-domaine f ;
c- q est l'intersection entre deux hyperplans médiateurs (par exemple l'hyperplan médiateur de [x,, xk] et celui de [χ,, x,], et le sous-domaine f ; dans le cas présent, le sous-domaine est le triangle de sommets qi , q2, q3.
Sans perte de généralité, on suppose x, à l'origine de l'espace considéré. On s'y ramène en appliquant une translation.
Dans le cas a/, les coordonnées de q sont connues, et
orient ( ]^[+(/, y) ,q) = signe ( || xj || 2 -2<q, Xj>), où <,> représente la fonction produit scalaire.
Dans le cas b/, les coordonnées barycentriques (λ1 ; λ2) de q par rapport à qi , q2 sont déterminées : q = qi + λ2 q2 .
En nommant Δ le déterminant de la matrice 2x2 ci-dessus :
Δ = -2<q1 ; xk> + 2<q2, xk>
= Δ 1 (- Il xk H 2 + 2<q2, xk>) et A2 = A- ( || xk || 2 - 2<q1 , xk>)
et orient ( Π }) ,q) = signe (Δ || Xj || 2 -2< Δ q, Xj>). signe (Δ).
Dans le cas c/, les coordonnées barycentriques (λι , λ2, λ3) de q par rapport à qi , q2, q3 sont déterminées : q = λι qi + λ2 q2 + λ3 q3.
an= - 2<q1; xk> ; a12= - 2<q2, xk> ; a13= - 2<q3, xk>
a21= - 2<q1; X|> ; a22= - 2<q2, x,> ; a23= - 2<q3, x,>.
Les cofacteurs suivants sont calculés :
c3i = a233i2- a22 ai3 ; c32= a2i a-i3 - a23 an ; c33= a22 an - a2i a-i2
Δ étant le développement du déterminant par rapport à la dernière ligne de la matrice 3x3 : Δ = c3i + c32 + c33.
Il en découle :
λι =A" [(a23-a22) ||xk||2+ (a12-a13) ||xi ||2 + c31 ] ;
A2 = A" [(a21 -a23) ||xk||2+ (a13-a11) ||xi ||2 + c32] ;
λ3 = Δ"1 [(a22 - a21 ) Il xk II 2 + (a! -a^) || xi || 2 + c33 ] ; et orient ( Π (', j) ,q) = signe (Δ || x || 2 -2< Δ q, Xj>). signe (Δ). La formulation de q et de la fonction orient est donc indépendante de la dimension d, en ceci que seuls le produit scalaire <.,.> et des combinaisons linéaires interviennent, et où la dimension des systèmes linéaires est indépendante de d.
En outre, elle se prête bien à une implémentation en arithmétique à précision arbitraire et à un filtrage (par arithmétique d'intervalle ou filtres quasi-statiques).
Le recentrage (translation de x, à l'origine) améliore les performances de filtrage.
L'algorithme mettant en œuvre ces étapes de calcul des coordonnées de q et de la fonction orient se paramétrise par un noyau géométrique, définissant les types de points et de vecteurs, le produit scalaire et les combinaisons linéaires de vecteurs. Ceci permet d'avoir une implémentation fonctionnant quelle que soit la dimension d.
Dans l'exemple décrit ci-dessus, on a considéré que le sous-domaine f est un triangle. Toutefois, les formules indiquées ci-dessus sont valables également pour tout sous-domaine f, par exemple un polygone arbitraire ou tout objet de dimension supérieure, par exemple un tétraèdre (ces formules sont donc applicables dans le cas d'un maillage volumique).
L'utilisation du théorème du rayon de sécurité pour diminuer les calculs d'un diagramme de Voronoï restreint ou d'une triangulation de Delaunay restreinte a été décrite ci-dessus dans le cadre d'une application au maillage d'un élément. Bien sûr, elle peut intervenir dans d'autres domaines mettant en œuvre de tels calculs et procure les mêmes avantages.
Il en va de même pour les principes de calcul des sommets résultant des intersections indépendamment de la dimension d, et de la fonction orient.
Ces dispositions sont très avantageuses, et ce pour des valeurs de d égales à 2, 3, ou supérieures ou égales à 4.
Les applications d'une technique selon l'invention autre que le maillage comprennent par exemple :
- des applications de reconstruction 3D, notamment les étapes de passage d'un nuage de points à une surface ;
- des applications de robotique : par exemple dans la représentation d'espaces de configuration, ou encore la gestion de flottilles de robots autonomes ou la planification de trajectoires ;
- des applications astrophysiques : par exemple, calculs dans des espaces des phases ;
- des applications d'intelligence artificielle, telles que des recherches de documents (type "google", qui utilise aussi des espaces de grandes dimensions).

Claims

REVENDICATIONS
1 . Procédé de traitement de données définissant un élément dans un espace E de dimensions d, ledit procédé comprenant les étapes suivantes :
al on définit un jeu de n points dans ledit espace ;
b/ on calcule l'intersection entre ledit élément et des cellules de Voronoï déterminées chacune à partir d'un point respectivement associé parmi lesdits n points définis ;
ledit procédé étant caractérisé en ce que dans l'étape b/, on détermine le résultat de l'intersection entre ledit élément et une cellule de Voronoï déterminée à partir du point qui lui associé χ,, en mettant en œuvre un traitement itératif selon lequel
à un pas d'itération courant k, on sélectionne un point supplémentaire xh- du jeu de points autre que le point x, et on calcule un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par l'hyperplan médiateur du segment (χ,, xjk ) et qui contient χ,, et d'autre part le résultat d'intersection calculé au pas d'itération précédent,
et selon lequel la sélection d'au moins un point supplémentaire lors des pas d'itération est fonction d'une comparaison entre la distance entre le point associé x, et ledit point supplémentaire et le double de la distance maximale existant entre le point associé x, et un point d'un résultat d'intersection calculé lors du traitement itératif.
2. Procédé selon la revendication 1 , selon lequel dans l'étape b/, les n-1 autres points du jeu classés par ordre de distance croissante par rapport au point x,, sont libellés y- in i , et le traitement itératif est mis en œuvre en sélectionnant au pas d'itération courant k, le point xh- du jeu de points qui succède dans ledit ordre de distance croissante le point xh- 1 sélectionné au pas d'itération k-1 .
3. Procédé selon la revendication 2, selon lequel ledit traitement itératif est stoppé en fonction d'une comparaison entre la distance entre le point associé x, et le point ik+i et le double de la distance maximale existant entre le point associé x, et un point du résultat d'intersection calculé au pas d'itération k.
4. Procédé selon l'une des revendications précédentes, selon lequel dans une étape d'initialisation, l'indice k est fixé à 1 et le résultat d'intersection est fixé égal à l'élément.
5. Procédé selon l'une des revendications précédentes, selon lequel on réitère l'ensemble des étapes al et b/ en définissant dans chaque nouvelle étape a/ un jeu de n points tirés d'au moins le jeu précédent.
6. Procédé selon l'une des revendications précédentes, selon lequel on réitère l'ensemble des étapes al et b/.
7. Procédé selon l'une des revendications précédentes, selon lequel, lors de l'étape de calcul d'un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par un hyperplan médiateur d'un segment (x,, xh- ) et qui contient
Xi , et d'autre part le résultat d'intersection calculé au pas d'itération précédent, on met en œuvre les étapes suivantes :
- on détermine si un sommet q du résultat actualisé d'intersection est l'intersection entre l'hyperplan médiateur de [x,, xp] et une arête [qi , q2] entre deux sommets q1 , q2 de l'élément, où xp est un point du jeu de n points ;
- et si ledit sommet q est déterminé comme étant l'intersection entre l'hyperplan médiateur de [x,, xp] et une arête [qi, q2] entre deux sommets q1 , q2 de l'élément, les coordonnées de q sont déterminées à l'aide des formules suivantes :
q = λι qi + A2 q2 , avec λι = Δ" (- || χρ || 2 + 2<q2, xp>)
λ2 = Δ 1 ( Il xP II 2 - 2<q! , xp>)
où Δ = -2<q ; xp> + 2<q2, xp>, et
<.,.> représente la fonction produit scalaire.
8. Procédé selon l'une des revendications précédentes, selon lequel, lors de l'étape de calcul d'un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par un hyperplan médiateur d'un segment (x,, xh- ) et qui contient
Xi , et d'autre part le résultat d'intersection calculé au pas d'itération précédent, on met en œuvre les étapes suivantes :
- on détermine si un sommet q du résultat actualisé d'intersection est l'intersection entre l'hyperplan médiateur de [x,, xp], l'hyperplan médiateur de [x,, X|], et un triangle de sommets qi , q2, q3 de l'élément, où xp et X| sont deux points du jeu de n points ;
- et si q est déterminé comme étant l'intersection entre l'hyperplan médiateur de [x,, xp], l'hyperplan médiateur de [χ,, x,], et un triangle de sommets qi , q2, q3 de l'élément, les coordonnées de q sont déterminées à l'aide des formules suivantes : q = λι qi + λ2 q2 + λ3 q3, avec
λι = A"1 [(a23 - a22) || xP || 2 + (ai2 - a13) || xi || 2 + c3i ] ;
A2 = A~ [(a21 - a23) || xp || 2 + (a13 - a1 1) || xi || 2 + c32 ] ;
λ3 = Δ"1 [(a22 - a21 ) || xP || 2 + (ai 1 - a12) || x, || 2 + c33 ] où an= - 2<qi , xp> ; a12= - 2<q2, xp> ; a13= - 2<q3, xp>
a21= - 2<qi , xi> ; a22= - 2<q2, x,> ; a23= - 2<q3, x,>.
C31 = ¾3 3ΐ2 " ¾2 3.13 ! C32 = 321 3i3 " 323 &1 1 ', C33 = a22 a-n - a2i Ά12
<.,.> représente la fonction produit scalaire.
9. Procédé selon l'une des revendications précédentes, selon lequel, lors de l'étape de calcul d'un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par un hyperplan médiateur d'un segment (x,, xh- ) et qui contient
Xi , et d'autre part le résultat d'intersection calculé au pas d'itération précédent, on met en oeuvre les étapes suivantes :
- on détermine si un sommet q du résultat actualisé d'intersection est un sommet de l'élément ;
- si ledit sommet q est déterminé comme un sommet de l'élément, la présence dudit sommet q dans la moitié de l'espace E délimitée par l'hyperplan médiateur du segment (x,, xh- ) et qui contient x, est déterminée en fonction du signe de la fonction orient ( ]^[+(/, yfc ) ,q) définie par : orient ( Y[+(i, jk ) ,q) = signe ( || xjk || 2 -2<q, xk >), où
<.,.> représente la fonction produit scalaire, et signe (x) est la fonction fournissant le signe de la variable x.
10. Procédé selon l'une des revendications précédentes, selon lequel, lors de l'étape de calcul d'un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par un hyperplan médiateur d'un segment (x,, xh- ) et qui contient x,, et d'autre part le résultat d'intersection calculé au pas d'itération précédent, on met en oeuvre les étapes suivantes :
- on détermine si un sommet q du résultat actualisé d'intersection est l'intersection entre l'hyperplan médiateur de [x,, xp] et une arête [qi , q2] entre deux sommets q1 , q2 de l'élément, où xp est un point du jeu de n points ; - si q est déterminé comme l'intersection entre l'hyperplan médiateur de [χ,, xk] et une arête [qi , q2] entre deux sommets q1 , q2 de l'élément, la présence dudit sommet q dans la moitié de l'espace E délimitée par l'hyperplan médiateur du segment (Xi,xjk) et qui contient x, est déterminée en fonction du signe de la fonction orient ( ]^[+(/, yfc) ,q) définie par : orient ( f[+(/, yA) ,q) = signe (Δ || xJk || 2 -2< A q, xJk >). signe (Δ), avec Δ = -2<q1 ; xp> + 2<q2, xp>, et où <.,.> représente la fonction produit scalaire, et signe (x) est la fonction fournissant le signe de la variable x.
1 1 . Procédé selon l'une des revendications précédentes, selon lequel lors de l'étape de calcul d'un résultat actualisé d'intersection égal à l'intersection entre d'une part la moitié de l'espace E délimitée par un hyperplan médiateur d'un segment (x,, xjk ) et qui contient x,, et d'autre part le résultat d'intersection calculé au pas d'itération précédent, on met en oeuvre les étapes suivantes :
- on détermine si un sommet q du résultat actualisé d'intersection est l'intersection entre l'hyperplan médiateur de [x,, xp], l'hyperplan médiateur de [χ,, x,], et un triangle de sommets ç q2, q3 de l'élément, où xp et x, sont deux points du jeu de n points ;
- si ledit sommet q du résultat actualisé d'intersection est déterminé comme l'intersection entre l'hyperplan médiateur de [x,, xp], l'hyperplan médiateur de [χ,, x,], et un triangle de sommets qi , q2, c 3 de l'élément, la présence dudit sommet q dans la moitié de l'espace E délimitée par l'hyperplan médiateur du segment (x,, xjk ) et qui contient x, est déterminée en fonction du signe de la fonction orient
( Y[+(i k) .q) définie par : orient ( Y[+(i, jk) ,q) = signe (Δ || xk || 2 -2< Δ q, xk >). signe (Δ), où
Δ = C31 + C32 + C33 ;
C31 = a23 ai2 - a22 ai 3 ; C32 = a2i a-i3 - a23 an ; 033 = a22 an - a2i a-i2 ;
an = - 2<q1 ; xp> ; a12= - 2<q2, xp> ; a13= - 2<q3, xp>
a21= - 2<q1 ; X|> ; a22= - 2<q2, x,> ; a23= - 2<q3, Xi> et où
<.,.> représente la fonction produit scalaire, et signe (x) est la fonction fournissant le signe de la variable x.
12. Programme d'ordinateur de traitement de données définissant un élément dans un espace E de dimensions d, ledit programme comportant des instructions pour mettre en œuvre les étapes d'un procédé selon l'une des revendications précédentes, lors d'une exécution du programme par des moyens de traitement.
EP13774392.8A 2012-10-05 2013-10-03 Procédé de traitement de données définissant un élément dans un espace e de dimensions d, programme d'ordinateur associé Withdrawn EP2904587A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1259494A FR2996669A1 (fr) 2012-10-05 2012-10-05 Procede de traitement de donnees definissant un element dans un espace e de dimensions d, programme d'ordinateur associe
PCT/EP2013/070645 WO2014053606A2 (fr) 2012-10-05 2013-10-03 Procédé de traitement de données définissant un élément dans un espace e de dimensions d, programme d'ordinateur associé

Publications (1)

Publication Number Publication Date
EP2904587A2 true EP2904587A2 (fr) 2015-08-12

Family

ID=47666234

Family Applications (1)

Application Number Title Priority Date Filing Date
EP13774392.8A Withdrawn EP2904587A2 (fr) 2012-10-05 2013-10-03 Procédé de traitement de données définissant un élément dans un espace e de dimensions d, programme d'ordinateur associé

Country Status (5)

Country Link
US (1) US10460006B2 (fr)
EP (1) EP2904587A2 (fr)
CN (1) CN104937640B (fr)
FR (1) FR2996669A1 (fr)
WO (1) WO2014053606A2 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11309087B2 (en) * 2014-11-26 2022-04-19 Jeffrey W. Holcomb Method for the computation of voronoi diagrams
CN112578082B (zh) * 2020-12-08 2022-02-11 武汉大学 基于多各项同性材料各向异性同一化的处理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034482A (zh) * 2006-03-07 2007-09-12 山东理工大学 复杂构件三维自适应有限元网格自动生成方法
FR2962582B1 (fr) 2010-07-09 2013-09-27 Inst Nat Rech Inf Automat Dispositif d'aide a la realisation d'un maillage d'un domaine geometrique

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2014053606A2 *

Also Published As

Publication number Publication date
CN104937640B (zh) 2017-09-08
US20150254209A1 (en) 2015-09-10
WO2014053606A2 (fr) 2014-04-10
FR2996669A1 (fr) 2014-04-11
CN104937640A (zh) 2015-09-23
US10460006B2 (en) 2019-10-29

Similar Documents

Publication Publication Date Title
Chakrabarti A neural approach to blind motion deblurring
EP3472736A1 (fr) Procédé d&#39;estimation du facteur d&#39;intensité des contraintes et procédé de calcul de durée de vie associé
Vafaei Sadr et al. Deep learning improves identification of radio frequency interference
EP2856188B1 (fr) Procede de determination d&#39;un etat d&#39;energie d&#39;un accumulateur electrochimique, dispositif, support et programme informatique
EP1746486B1 (fr) Procédé de détection de déplacement d&#39;une entité pourvue d&#39;un capteur d&#39;images et dispositif pour le mettre en oeuvre
FR3033062A1 (fr) Procede de determination d&#39;intervalles de tolerance pour le dimensionnement d&#39;une piece
EP2846280A1 (fr) Simulation de jauge de déformation mécanique
WO2014053606A2 (fr) Procédé de traitement de données définissant un élément dans un espace e de dimensions d, programme d&#39;ordinateur associé
FR3098367A1 (fr) Procédé et dispositif de codage d’une séquence d’hologrammes numériques
EP3381013A1 (fr) Procédé de contrôle non destructif d&#39;une pièce pour aéronautique
Savchenkov et al. Generalized convolutional neural networks for point cloud data
Singh et al. A Comparative Study of Bigdata Tools: Hadoop Vs Spark Vs Storm
CN114820137A (zh) 产品推荐方法、装置、处理器及电子设备
EP2856361A1 (fr) Procédé de simulation d&#39;un ensemble d&#39;éléments, programme d&#39;ordinateur associé
FR3011339A1 (fr) Procedes et systemes pour la construction d&#39;un plan d&#39;acquisitions pour satellite
FR3060157A1 (fr) Procede de simulation du comportement d&#39;une structure par calcul par elements finis
EP3622445B1 (fr) Procede, mise en oeuvre par ordinateur, de recherche de regles d&#39;association dans une base de donnees
FR3039677A1 (fr) Procede de conception de pieces mecaniques, notamment d&#39;aubes de turbomachine
FR3038253A1 (fr) Dispositif de traitement de donnees
US9967195B1 (en) Iterative autocorrelation function calculation for big data using components
Sciacca et al. Towards a big data exploration framework for astronomical archives
Zhu et al. Multi-view geometry compression
EP1121665B1 (fr) Procede de codage d&#39;un maillage source, avec optimisation de la position d&#39;un sommet resultant d&#39;une fusion d&#39;arete, et applications correspondantes
Guruprasad et al. Federated Learning for Seismic Data Denoising: Privacy-Preserving Paradigm
EP2204775B1 (fr) Triangulation incrementale de polygone pour affichage numerique

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20150402

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20171009

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20230503