FR2806194A1 - Data processing method for constructing multi-dimensional images from a point-diagram of known coordinates where the coordinate points are interpolated using a natural neighbor interpolation method and Delaunay triangulation - Google Patents

Data processing method for constructing multi-dimensional images from a point-diagram of known coordinates where the coordinate points are interpolated using a natural neighbor interpolation method and Delaunay triangulation Download PDF

Info

Publication number
FR2806194A1
FR2806194A1 FR0002914A FR0002914A FR2806194A1 FR 2806194 A1 FR2806194 A1 FR 2806194A1 FR 0002914 A FR0002914 A FR 0002914A FR 0002914 A FR0002914 A FR 0002914A FR 2806194 A1 FR2806194 A1 FR 2806194A1
Authority
FR
France
Prior art keywords
natural
points
point
sep
cloud
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.)
Pending
Application number
FR0002914A
Other languages
French (fr)
Inventor
Jean Daniel Boissonnat
Frederic Cazals
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
Priority to FR0002914A priority Critical patent/FR2806194A1/en
Priority to PCT/FR2001/000610 priority patent/WO2001067396A1/en
Publication of FR2806194A1 publication Critical patent/FR2806194A1/en
Pending legal-status Critical Current

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

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)
  • Processing Or Creating Images (AREA)

Abstract

Method involves definition, by natural interpolation, of the natural neighbors of current point on the diagram and evaluating its natural coordinates, each in correspondence with a natural neighbor. An implicit function is calculated representing a distance between a current point and a surface element comprising natural neighbors to the current element, to construct a whole surface built up from a multitude of points each used successively as a current point. The invention also relates to a device for use with the above natural neighbor interpolation method.

Description

<U>Traitement de données pour une construction perfectionnée</U> <U>d'images multidimensionnelles</U> L'invention concerne un traitement de données pour une construction d'images multidimensionnelles. La modélisation géométrique consiste élaborer un traitement d'un ou plusieurs objets tridimensionnels mesurés par un capteur télémêtrique, tel qu'un palpeur, un télémètre laser, ou encore des systèmes d'imagerie tridimensionnelle. Les données initiales se présentent sous la forme d'un ensemble de points sans structure particulière mesurés sur la surface des objets. Un tel problème se rencontre notamment en conception assistée par ordinateur (CAO), en infographie, en imagerie médicale, en chimie moléculaire ou en géologie. A partir du nuage de points qui constitue ces données initiales, on veut pouvoir effectuer tout ou partie des opérations suivantes, indépendamment ou en combinaison - construire une surface représentative de ce nuage, appelée surface sous-jacente, - calculer des informations sur la surface sous-jacente, telles que les normales ou les courbures à la surface, - calculer une approximation polyédrique (encore appelée maillage) de la surface, - visualiser cette surface à différents niveaux de résolution, notamment agrandir l'image d'un échantillon de surface à observer ("zoomer" certaines parties de la surface), - modifier la position relative des points de mesure par rapport à la surface sous-jacente pour lisser ou déformer la surface, - simplifier le nuage de points en retirant du nuage des points qui ne satisfont pas une condition choisie. Le traitement par modélisation géométrique, construction et/ou reconstruction de surface, nécessite l'élaboration préalable d'un modèle informatique. Ce modèle doit être optimisé pour limiter les temps de traitement à des durées acceptables. En terme de gestion des flux de données, il est recherché en outre une transmission progressive du nuage de points. On veut pouvoir visualiser et mettre à jour, notamment affiner, une approximation de l'objet au fur et à mesure que les données sont transmises. Avec le développement des techniques de construc- tion/reconstruction de surfaces, différents procédés ont vu le jour. En particulier, un procédé connu, basé sur la considération des plus proches voisins (en nombres choisis) d'un point courant, a donné des résultats satisfaisants pour la construction/reconstruction de surfaces. Des détails sur le principe de ce procédé sont donnés notamment dans [HDD+92] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle. Surface reconstruction from unorgani- zed points. Comput. <I>Graphics,</I> 26(2<B>)</B>:71-78. Proc. SIGGRAPH492. Cependant, l'application de ce procédé suppose la vérification préalable d'une condition la répartition des points échantillonnés doit être uniforme sur la surface. De tels procédés, quoique prometteurs, ont montré leur limite, notamment à cause du caractère non structuré que présente généralement un nuage de points, ou encore à cause des temps de traitement souvent rédhibitoires qu'ils nécessitent. La présente invention vient apporter des solutions permettant de résoudre les problèmes posés par la mise en oeuvre de tout ou partie des opérations ci-avant. Selon une approche différente, l'invention utilise une interpolation de données spatiales, de type "interpolation naturelle", appliquée à la modélisation géométrique. on connaît le principe d'une interpolation naturelle notamment par [Sib81] R. Sibson. A brief description of natural neighbour interpolation. In Barnet, editor, Interpreting Multivariate Data, pages 21-36. John Wiley & Sons, Chichester, 1981. Sans entrer davantage dans détails, une interpolation naturelle consiste globalement à définir tout point comme le barycentre d'un sous-ensemble de points du nuage, ces points étant alors définis comme voisins naturels de ce barycentre. Les coefficients de pondération du barycentre, associés chacun à un voisin naturel, sont appelés coordonnées naturelles. La présente invention propose un procédé de traitement de données, notamment pour la construction/reconstruction d'images multidimensionnelles. I1 peut s'agir aussi bien d'images bidimensionnelles, ou encore tridimensionnelles. Comme on le verra en détail plus loin, ce procédé s'applique à une dimension quelconque, supérieure ou égale à deux. <U> Data Processing for Advanced Construction </ U> <U> of Multidimensional Images </ U> The present invention relates to data processing for multi-dimensional image construction. Geometric modeling consists of developing a treatment of one or more three-dimensional objects measured by a telemeter sensor, such as a probe, a laser range finder, or three-dimensional imaging systems. The initial data is in the form of a set of points without a particular structure measured on the surface of the objects. Such a problem is encountered in particular in computer-aided design (CAD), computer graphics, medical imaging, molecular chemistry or geology. From the cloud of points which constitutes these initial data, one wants to be able to carry out all or part of the following operations, independently or in combination - to build a surface representative of this cloud, called the underlying surface, - to calculate information on the surface under superficial, such as normal or curvature at the surface, - calculate a polyhedral approximation (also called mesh) of the surface, - visualize this surface at different resolution levels, notably enlarge the image of a surface sample to observe ("zoom" some parts of the surface), - change the relative position of the measuring points relative to the underlying surface to smooth or deform the surface, - simplify the cloud of points by removing points from the cloud that do not do not satisfy a chosen condition. Geometric modeling, construction and / or surface reconstruction requires the prior development of a computer model. This model needs to be optimized to limit processing times to acceptable times. In terms of data flow management, it is also sought for a gradual transmission of the cloud of points. One wants to be able to visualize and update, in particular to refine, an approximation of the object as the data is transmitted. With the development of surface construction / reconstruction techniques, various processes have emerged. In particular, a known method, based on the consideration of the nearest neighbors (in selected numbers) of a current point, gave satisfactory results for the construction / reconstruction of surfaces. Details of the principle of this process are given in particular in [HDD + 92] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle. Surface reconstruction from oneorganized points. Comput. <I> Graphics, </ I> 26 (2 <B>) </ B>: 71-78. Proc. SIGGRAPH492. However, the application of this method assumes the prior checking of a condition the distribution of sampled points must be uniform on the surface. Such methods, although promising, have shown their limit, especially because of the unstructured nature that usually has a cloud of points, or because of the often prohibitive processing times they require. The present invention provides solutions to solve the problems posed by the implementation of all or part of the above operations. According to a different approach, the invention uses a spatial data interpolation, of the "natural interpolation" type, applied to geometric modeling. the principle of a natural interpolation is known in particular by [Sib81] R. Sibson. A brief description of natural neighbor interpolation. In Barnet, editor, Interpreting Multivariate Data, pages 21-36. John Wiley & Sons, Chichester, 1981. Without going into more detail, a natural interpolation generally consists in defining every point as the centroid of a subset of points in the cloud, these points then being defined as natural neighbors of this centroid. The weighting coefficients of the center of gravity, each associated with a natural neighbor, are called natural coordinates. The present invention proposes a method of data processing, in particular for the construction / reconstruction of multidimensional images. It can be both two-dimensional or three-dimensional images. As will be seen in detail below, this method applies to any dimension, greater than or equal to two.

Le procédé de traitement comprend donc les étapes suivantes a) obtenir tout d'abord un nuage de points de coordonnées connues, et b) définir, par une interpolation naturelle de ce nuage de point, les voisins naturels d'un point courant du nuage et évaluer les coordonnées naturelles du point courant, chacune en correspondance avec un voisin naturel. Selon une première caractéristique importante de l'invention, le procédé comprend en outre les étapes suivantes c) calculer, à partir des voisins naturels d'un point courant de ses coordonnées naturelles, une fonction implicite représentative d'une distance entre ce point courant et un elément de surface comprenant sensiblement les voisins naturels de l'élément courant, répéter les étapes b) et c) avec au moins une partie des points du nuage pris successivement comme points courants, et construire une surface comprenant une pluralité de points pris â l'étape d) comme points courants et dont la fonction implicite vérifie une condition choisie, telle que dans une forme de réalisation, la fonction implicite est nulle. Selon une seconde caractéristique importante de l'invention, le procédé comprend en outre les étapes suivantes c11) estimer une orientation d'un premier élément surface choisi, préférentiellement pour le point de plus grande abscisse en tant que point courant, et c12) déduire les uns des autres et à partir de l'orientation du premier élément, les orientations respectives tous les éléments de surface, ce qui permet d'obtenir l'orientation des vecteurs unitaires perpendiculaires chacun à un elément de surface. The method of processing therefore comprises the following steps: a) firstly obtaining a cloud of known coordinate points, and b) defining, by a natural interpolation of this point cloud, the natural neighbors of a current point of the cloud and evaluate the natural coordinates of the current point, each in correspondence with a natural neighbor. According to a first important characteristic of the invention, the method further comprises the following steps: c) calculating, from the natural neighbors of a current point of its natural coordinates, an implicit function representative of a distance between this current point and a surface element substantially comprising the natural neighbors of the current element, repeating steps b) and c) with at least a portion of the points of the cloud taken successively as common points, and constructing a surface comprising a plurality of points taken from the step d) as common points and whose implicit function satisfies a selected condition, such as in one embodiment, the implicit function is zero. According to a second important characteristic of the invention, the method further comprises the following steps c11) estimating an orientation of a first selected surface element, preferably for the point of greatest abscissa as a current point, and c12) deducing the from each other and from the orientation of the first element, the respective orientations all the surface elements, which makes it possible to obtain the orientation of the unit vectors perpendicular to each one of a surface element.

Selon une troisième caractéristique importante de l'invention, l'étape e) du procédé comprend une opération consistant â ignorer les points du nuage dont la distance à la surface à construire est inférieure à une valeur seuil, en vue d'effec tuer une simplification du nuage de points, ce qui permet de construire une surface totale à partir du nuage de points et/ou de lisser cette surface, de préférence en fonction d'une tolérance choisie, et/ou de déformer localement cette surface. Selon une autre caractéristique importante de l'invention, 1 étape b) du procédé comprend les opérations préalables suivantes appliquer une triangulation de Delaunay au nuage de points, b2) construire des cellules de Voronoï et en déduire les centres des cellules, b3) ajouter à chaque cellule deux pôles correspondant sensiblement à des points les plus éloignés du centre de la cellule, préférentiellement situés de part et d'autre de surface, et dont les coordonnées naturelles associées sont préférentiellement considérées comme nulles, et b4 évaluer les coordonnées naturelles dans chaque cellule ainsi augmentée. Ainsi, au lieu de calculer les coordonnées naturelles sur diagramme de Voronoï du nuage de points initial, pour chaque point courant, on calcule ces coordonnées sur le diagramme Voronoï du nuage augmenté des pôles. Une interpolation ainsi exécutée présente les avantages suivants - les résultats obtenus par cette interpolation sont proches de ceux obtenus par une interpolation rigoureuse sur tout nuage de points, et - les temps de traitement associés sont considérablement diminués, au moins d'un facteur dix. Le procédé selon l'invention peut être mis en oeuvre par un dispositif comprenant notamment - moins une mémoire pour ranger les coordonnées de chaque point du nuage, - processeur apte à coopérer avec la mémoire pour effectuer tout ou partie des opérations du procédé, - interface graphique agencée pour coopérer avec le processeur, et - écran relié à l'interface graphique pour afficher au moins la surface construite. A ce titre, la présente invention vise aussi un tel disposi tif. D'autres caractéristiques et avantages de l'invention apparal- tront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels - la figure 1 représente schématiquement un dispositif pour la mise en ouvre du procédé selon l'invention, - la figure 2 illustre la construction d'une cellule de Voronoï dans un espace bidimensionnel, - la figure 3 illustre le principe d'une insertion d'un point x dans une triangulation de Delaunay bidimensionnelle, - la f figure 4 est une représentation schématique d' une surface avec ses normales, dans un plan comprenant l'axe abscis ses - figure 5 représente les pôles S et S' d'une cellule de Voronoï dont le point Ai est le centre, et - figure 6 est un organigramme représentant les etapes d'un procédé pour l'orientation des vecteurs unitaires perpendicu laires (vecteurs normaux). L'annexe I comprend des équations auxquelles texte de description ci-après se réfère et l'annexe II retranscrit sous forme d'un pseudo-code un traitement informatique pour l'insertion d'un point dans une triangulation de Delaunay tridimensionnelle. Les dessins contiennent, pour l'essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre la description, mais aussi contribuer à la définition de l'invention, le cas échéant. En se référant à la figure 1, le dispositif se présente sous la forme d'un ordinateur comprenant une unité centrale UC munie d'un microprocesseur uP qui coopère avec une carte-mère CM. Cette carte-mère est reliée à divers équipements, tels qu'une interface de communication COM (de type Modem ou autre), une mémoire morte ROM et une mémoire de travail RAM (mémoire vive). La carte-mère CM est reliée en outre à une interface graphique IG, laquelle pilote l'affichage de données sur un écran ECR que comporte le dispositif. I1 est prévu en outre des moyens de saisie, tels qu'un clavier CLA et/ou un organe de saisie dit "souris" SOU, reliés à l'unité centrale UC et permettant à un utilisateur une interactivité avec le dispositif. Dans l'exemple représenté sur la figure 1, une partie gauche de l'écran représente un nuage de points dont les coordonnées sont connues et préalablement enregistrées, par exemple en mémoire morte ROM du dispositif. Sur la partie droite de l'écran est représentée une surface reconstruite, par exemple dans un espace à trois dimensions, par un traitement selon le procédé de l'invention et effectué par le microprocesseur en coopération avec les différentes mémoires de l'unité centrale. Les moyens de saisie CLA, SOU permettent à un utilisateur d'entrer par exemple une tolérance de lissage de la surface reconstruite, ou encore d'affiner cette surface. Dans une autre réalisation, le dispositif peut recevoir progressivement des points du nuage dans un ordre choisi, par son interface de communication COM, puis construire une surface brute, tandis que la mémoire ROM comporte un module avec lequel le microprocesseur peut coopérer pour affiner la surface brute en y insérant des points de coordonnées choisies, comme on le verra plus loin. Le procédé selon l'invention applique à la modélisation géométrique une interpolation de données spatiales dont le principe est décrit dans [Sib81] et appelée "interpolation naturelle". En se référant la figure 2, l'interpolation naturelle permet, étant donné un ensemble de points A = @A1,...An} d'un espace E, d'exprimer tout point X de E comme le barycentre d'un sous-ensemble de points de A qu'on appelle les voisins naturels du point X. Dans l'équation 1 en annexe les coefficients \i sont appelés les coordonnées naturelles de X sont chacune en correspondance avec un voisin naturel Ai. Pour définir précisément les coefficients ai, il faut considérer le diagramme de Voronoï de A ou la triangulation Delaunay duale. Dans l'exemple représenté sur la figure 2, le polygone représenté en traits pointillés forme la cellule Voronoï dont le point X est le centre. Dans l'espace tridimensionnel, cette cellule est délimitée par un polyèdre. définitions et les propriétés de ces structures géométri ques sont décrites dans des livres de géométrie algorithmique, exemple dans BY98] Jean-Daniel Boissonnat and Mariette Yvinec. Algo- rithmic Geometry. Cambridge University Press, UK, 1998. Traduit par Hervé Brdnnimann. According to a third important characteristic of the invention, step e) of the method comprises an operation of ignoring the points of the cloud whose distance to the surface to be constructed is less than a threshold value, with a view to simplifying of the point cloud, which makes it possible to construct a total surface from the cloud of points and / or to smooth this surface, preferably according to a chosen tolerance, and / or to locally deform this surface. According to another important characteristic of the invention, step b) of the method comprises the following preliminary operations applying a Delaunay triangulation to the cloud of points, b2) constructing Voronoi cells and deducing therefrom the centers of the cells, b3) adding to each cell two poles corresponding substantially to points furthest from the center of the cell, preferably located on either side of the surface, and whose associated natural coordinates are preferentially considered as zero, and b4 evaluating the natural coordinates in each cell thus increased. Thus, instead of calculating the natural coordinates on the Voronoi diagram of the initial point cloud, for each current point, these coordinates are calculated on the Voronoi diagram of the increased cloud of the poles. An interpolation thus executed has the following advantages - the results obtained by this interpolation are close to those obtained by a rigorous interpolation on any scatterplot, and the associated processing times are considerably reduced by at least a factor of ten. The method according to the invention can be implemented by a device comprising in particular - minus a memory for arranging the coordinates of each point of the cloud, - processor capable of cooperating with the memory to perform all or part of the operations of the method, - interface graphic arranged to cooperate with the processor, and - screen connected to the graphical interface to display at least the constructed surface. In this respect, the present invention also aims at such a device. Other features and advantages of the invention will become apparent from the following detailed description, and the accompanying drawings in which - Figure 1 schematically shows a device for implementing the method according to the invention. FIG. 2 illustrates the construction of a Voronoi cell in a two-dimensional space; FIG. 3 illustrates the principle of an insertion of a point x in a two-dimensional Delaunay triangulation; FIG. schematic of a surface with its normals, in a plane including the abscis axis its - figure 5 represents the poles S and S 'of a Voronoi cell whose point Ai is the center, and - figure 6 is a flowchart representing the steps of a process for the orientation of perpendicular unitary vectors (normal vectors). Annex I contains equations to which the description text hereinafter refers and Annex II retranscribes in the form of a pseudo-code a computer processing for the insertion of a point in a three-dimensional Delaunay triangulation. The drawings contain, for the most part, elements of a certain character. They can therefore not only serve to better understand the description, but also contribute to the definition of the invention, if any. Referring to Figure 1, the device is in the form of a computer comprising a central unit UC provided with a microprocessor uP which cooperates with a motherboard CM. This motherboard is connected to various equipment, such as a COM communication interface (Modem or other type), a ROM and a working memory RAM (RAM). The motherboard CM is further connected to a GUI GUI, which controls the display of data on an ECR screen that includes the device. I1 is further provided input means, such as keyboard CLA and / or input member called "mouse" SOU, connected to the central unit UC and allowing a user interactivity with the device. In the example shown in FIG. 1, a left part of the screen represents a cloud of points whose coordinates are known and previously recorded, for example in ROM of the device. On the right side of the screen is shown a reconstructed surface, for example in a three-dimensional space, by a treatment according to the method of the invention and performed by the microprocessor in cooperation with the various memories of the central unit. The input means CLA, SOU allow a user to enter for example a smoothing tolerance of the reconstructed surface, or to refine this surface. In another embodiment, the device can progressively receive points of the cloud in a chosen order, through its communication interface COM, then build a raw surface, while the ROM memory includes a module with which the microprocessor can cooperate to refine the surface by inserting selected points of coordinates, as will be seen later. The method according to the invention applies to the geometric modeling an interpolation of spatial data whose principle is described in [Sib81] and called "natural interpolation". Referring to FIG. 2, the natural interpolation allows, given a set of points A = @ A1, ... An} of a space E, to express any point X of E as the center of gravity of a sub. -A set of points of A called the natural neighbors of the point X. In equation 1 in the appendix the coefficients \ i are called the natural coordinates of X are each in correspondence with a natural neighbor Ai. To precisely define the coefficients ai, we must consider the Voronoi diagram of A or the Delaunay dual triangulation. In the example shown in FIG. 2, the polygon represented in dotted lines forms the Voronoi cell whose point X is the center. In three-dimensional space, this cell is delimited by a polyhedron. definitions and the properties of these geometric structures are described in books of algorithmic geometry, for example in BY98] Jean-Daniel Boissonnat and Mariette Yvinec. Algorithmic Geometry. Cambridge University Press, UK, 1998. Translated by Hervé Brdnnimann.

Le calcul de la triangulation de Delaunay est possible en toutes dimensions. Un algorithme particulièrement efficace dans un espace à deux ou trois dimensions peut être issu du principe décrit dans Dev98] Olivier Devillers. Improved incremental randomized Delaunay triangulation. In Proc. 14th Annu. ACM Sympos. <I>Comput.</I> Geom., pages 106-115, 1998. The calculation of the Delaunay triangulation is possible in all dimensions. A particularly efficient algorithm in a space with two or three dimensions can be derived from the principle described in Dev98] Olivier Devillers. Improved incremental randomized Delaunay triangulation. In Proc. 14th Annu. ACM Sympos. <I> Comput. </ I> Geom., Pp. 106-115, 1998.

Dans ce qui suit, on appelle V(Ai) la cellule du diagramme de Voronoï de l'ensemble A et qui est associée au point .. On note V (X) la cellule d'un point X dans le diagramme de Voronoï l'ensemble A augmenté du point X. Ai est un voisin naturel de X, alors V(Ai) et V(X) une intersection non vide V(Ai,X). La coordonnée naturelle 1,i(X) le rapport du volume de V(Ai,X) sur le volume de V(X). calcul des coordonnées naturelles dans un espace bidimen sionnel est décrit notamment dans [Wat92] David F. Watson. Contouring <I>.</I> A guide to the Analysis <I>and</I> Display <I>of Spatial</I> Data. Pergamon, 1992. Dans un espace tridimensionnel, une évaluation des coordonnées naturelles par le calcul explicite de l'intersection entre la cellule de Voronoï de X et celles de ses voisins est decrite dans la thèse de S.J.Owen [Owe92] S.J. Owen. An implementation of natural neighbor interpolation in three dimensions. Master's thesis, Brigham Young University, 1992. Cependant, cette évaluation, quoique satisfaisante dans le principe, a montré sur un plan pratique quelques limites dont notamment le fait que l'algorithme associé à cette évaluation est pas efficace. est décrit ci-après un procédé d'évaluation efficace. traitement proposé s'appuie d'abord sur un algorithme d'insertion d'un point X dans une triangulation de Delaunay tridimensionnelle. A titre indicatif, la figure 3 illustre dans l'espace bidimensionnel le principe d'insertion d'un point X dans une triangulation de Delaunay. Tous les triangles dont le cercle circonscrit entoure le point X doivent être supprimés. Ces triangles sont dits en conflit avec X. Le trou ainsi créé polygone pl à p6 sur la figure 3) est ensuite retriangulé en reliant X aux arêtes du bord du trou, comme indiqué en pointillé sur la figure 3. considère, dans l'exemple représenté, un ensemble de points p1 à p6. Chaque point est joint à son voisin par l'arrête d'un triangle. Un point x est inséré s'il est contenu dans tous les disques délimités par des cercles dans lesquels sont circons crits les triangles, un à un. Dans l'espace tridimensionnel, les tétraèdres en conflit avec le point X sont repérés dans un premier temps. est rappelé qu on appelle "tétraèdre en conflit" un tétraèdre dont la sphère circonscrite contient le point X. L'union de ces tétraèdres forme un polyèdre appelé "cavité" dans ce qui suit. Les arêtes des tétraèdres en conflit sont situées soit sur la frontière de cette cavité, soit dans son intérieur. On les appelle respectivement arêtes externes et internes à la cavité. Ensuite, les nouveaux tétraèdres remplissant cavité sont creés. Ils s'appuient sur les faces de la cavité et ont pour sommet commun le point X. La création et la mise à jour des relations d'adjacence entre ces tétraèdres sont préférentiel lement effectuées en tournant autour des arêtes externes de la cavité. L'algorithme de calcul des coordonnées naturelles consiste à décrire une triangulation de la frontière des régions subtilisées par le point X à ses voisins. Les volumes des V(Ai,X) sont calculés à partir des triangulations, par exemple selon le principe décrit dans [Ber87] M. Berger, Geometry <I>II,</I> section 12.2, Springer, 1987. Les coordonnées naturelles Ai sont ensuite déduits de ces volumes par normalisation. Ainsi, les tétraèdres en conflit sont d'abord trouvés. Ensuite, à l'occasion des rotations autour des arêtes internes et externes, les faces duales de ces arêtes sont reportées. Chaque face de ce type est commune à deux régions naturelles, et ses sommets sont les centres de Voronoï des tétraèdres traversés. La séquence de ces sommets est alors la triangula- tion utilisée pour calculer le volume. On pourra se référer au traitement retranscrit à l'annexe II et préféré ici, pour 'insertion de point dans une triangulation de Delaunay tridimensionnelle. Selon l'invention, une fonction implicite est calculée à partir d'informations locales sur une surface à reconstruire. Cette fonction implicite interpole ces informations de la manière suivante. appelle A un nuage de points A = {A1,...An} 'un espace E (E est en général le plan ou l'espace tridimensionnel usuels mais le procédé s'applique en toutes dimensions mesurés sur une surface orientable S. Dans un premier temps, on considère en chaque point Ai, le vecteur normal<B>ni</B> à surface en point est connu. In what follows, we call V (Ai) the cell of the Voronoi diagram of the set A and which is associated with the point. We denote by V (X) the cell of a point X in the Voronoi diagram. set A increased by the point X. Ai is a natural neighbor of X, then V (Ai) and V (X) a non-empty intersection V (Ai, X). The natural coordinate 1, i (X) is the ratio of the volume of V (Ai, X) to the volume of V (X). The calculation of natural coordinates in a two-dimensional space is described in particular in [Wat92] David F. Watson. Contouring <I>. </ I> A Guide to the <i> and </ i> Display <i> of Spatial </ i> Data. Pergamon, 1992. In a three-dimensional space, an evaluation of natural coordinates by the explicit calculation of the intersection between X's Voronoi cell and those of its neighbors is described in the thesis of S.J.Owen [Owe92] S.J. Owen. An implementation of natural neighbor interpolation in three dimensions. Master's thesis, Brigham Young University, 1992. However, this assessment, although satisfactory in principle, has shown some practical limitations, including the fact that the algorithm associated with this evaluation is not effective. is described below an effective evaluation method. The proposed treatment first relies on an X-point insertion algorithm in a three-dimensional Delaunay triangulation. As an indication, FIG. 3 illustrates in the two-dimensional space the principle of insertion of a point X in a Delaunay triangulation. All triangles whose circumcircle surrounds the point X must be deleted. These triangles are said to conflict with X. The hole thus created polygon pl to p6 in Figure 3) is then retriangulated by connecting X to the edges of the edge of the hole, as shown in dashed lines in Figure 3. Consider, in the example represented, a set of points p1 to p6. Each point is joined to its neighbor by the stop of a triangle. A point x is inserted if it is contained in all the discs delimited by circles in which the triangles are circumscribed, one by one. In three-dimensional space, the tetrahedra in conflict with the X-point are first identified. It is recalled that a "tetrahedron in conflict" is a tetrahedron whose circumscribed sphere contains the point X. The union of these tetrahedrons forms a polyhedron called "cavity" in what follows. The edges of the conflicting tetrahedra are located either on the boundary of this cavity, or in its interior. They are called respectively external edges and internal to the cavity. Then, the new filling cavity tetrahedra are created. They are based on the faces of the cavity and have a common vertex point X. The creation and updating adjacency relations between these tetrahedrons are preferably carried out by rotating around the outer edges of the cavity. The algorithm for calculating natural coordinates consists in describing a triangulation of the border of the regions subtilized by the point X to its neighbors. The volumes of V (Ai, X) are calculated from the triangulations, for example according to the principle described in [Ber87] M. Berger, Geometry <I> II, </ I> section 12.2, Springer, 1987. Natural coordinates Ai are then deduced from these volumes by normalization. Thus, conflicting tetrahedra are first found. Then, during the rotations around the inner and outer edges, the dual faces of these edges are reported. Each face of this type is common to two natural regions, and its vertices are the Voronoi centers of the traversed tetrahedra. The sequence of these vertices is then the triangulation used to calculate the volume. Reference may be made to the retranscribed processing in Appendix II and preferred here for point insertion in a three-dimensional Delaunay triangulation. According to the invention, an implicit function is calculated from local information on a surface to be reconstructed. This default function interpolates this information as follows. call A to a cloud of points A = {A1, ... An} 'a space E (E is in general the usual three-dimensional plane or space but the process applies in all dimensions measured on an orientable surface S. In At first, we consider at each point Ai, the normal vector <B> ni </ B> with a dot surface is known.

On évalue une approximation de la distance signée d'un point X de E à la surface par la fonction implicite h(X) donnée par la formule correspondant à l'équation 2 en annexe. Ainsi, l'évaluation de la fonction implicite h(X) peut s'effectuer en procédant aux étapes suivantes - déterminer, pour chaque voisin naturel Ai du point courant X, un vecteur XAi entre le point courant et ce voisin naturel, calculer le produit scalaire entre le vecteur XAi et le vecteur unitaire<B>ni</B> perpendiculaire à l'élément de surface comprenant ce voisin naturel Ai, pondérer le produit scalaire par la coordonnée naturelle Ai (préalablement calculée) du point courant et associée au voisin naturel Ai, et - estimer la somme des produits scalaires ainsi pondérés sur tous les voisins naturels du point courant X. L'utilisation de cette fonction implicite présente de nombreux avantages. En effet, la fonction h est continuement différen- tiable. De plus, l'ensemble SA des points X pour lesquels la fonction h(X) est nulle, est une surface qui passe par les Ai et dont la normale en Ai est le vecteur<B>ni.</B> I1 est alors proposé ici une approximation de la surface S par surface SA. An approximation of the signed distance of a point X from E to the surface is estimated by the implicit function h (X) given by the formula corresponding to equation 2 in the appendix. Thus, the evaluation of the implicit function h (X) can be carried out by carrying out the following steps: determining, for each natural neighbor Ai of the current point X, a vector XAi between the current point and this natural neighbor, calculating the product scalar between the vector XAi and the unit vector <B> ni </ B> perpendicular to the surface element comprising this natural neighbor Ai, weighting the scalar product by the natural coordinate Ai (previously calculated) of the current point and associated with the neighbor natural Ai, and - estimate the sum of the scalar products thus weighted on all the natural neighbors of the current point X. The use of this implicit function has many advantages. Indeed, the function h is continuously differentiable. Moreover, the set SA of the points X for which the function h (X) is zero, is a surface which passes through the Ai and whose normal in Ai is the vector <B> ni. </ B> I1 is then proposed here an approximation of the surface S per surface SA.

principe consistant à calculer une fonction implicite à partir des Ai et des vecteurs<B>ni</B> a été décrit notamment dans [HDD+92] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle. Surface reconstruction from unorgani- zed points. Comput. <I>Graphics,</I> 26(2):71-78. Proc. SIGGRAPH492. Cependant, dans leurs travaux, les auteurs n'utilisent les voisins naturels mais les k plus proches voisins. Ainsi le procédé décrit dans [HDD+92] est inutilisable si la surface n'est pas uniformément échantillonnée. Outre le fait qu'elle permette de traiter correctement cas de surfaces échantillonnées de manière non uniforme, l'utilisation du procédé selon l'invention fournit une surface SA lisse et donne de bons résultats même si les données sont rares, avec peu de points dans le nuage. L'estimation des vecteurs normaux<B>ni</B> est décrite ci-apres. Dans ce qui suit, on appelle maintenant "voisins naturels" d'un point Ai d'un ensemble A, les voisins naturels de Ai que l'on obtiendrait si l'on retirait le point Ai de l'ensemble A. On peut alors calculer les voisins et les coordonnées naturels de Ai dans le nouvel ensemble A\@Ai}. Pour estimer la direction ôi du vecteur normal ni, une première approche consiste à calculer le plan moyen (au sens des moindres carrés) passant par les voisins naturels de Ai pondérés par les coordonnées naturelles associées. Une autre approche, préférée ici, est basée sur l'insertion, parmi les voisins naturels Ai, des pôles de la cellule de Voronoï dont le point Aj le centre. Ces pôles seront décrits en détail plus loin La direction du vecteur<B>ni</B> étant connue, il reste à orienter le vecteur ni, c'est-à-dire à choisir une orientation parmi les deux orientations possibles. On cherche en particulier à effectuer ces orientations de manière cohérente pour tous les points Ai. On se réfère à la figure 6 pour le détail des étapes du procédé d'orientation des vecteurs normaux<B>ni.</B> Après une instruction de début 10, on choisit tout d'abord (étape 12), pour le point de plus grande abscisse Ax, l'orientation du vecteur ni, telle que ce vecteur ni, forme un angle aigu (figure 4) avec le vecteur unitaire porté par le premier axe de coordonnées (axe des abscisses). Un premier point Ail a maintenant un vecteur normal ni,. Considérons alors une étape générale du procédé d'attribution des orientations, où un certain nombre de points de A ont déjà un vecteur normal (mais pas tous). On effectue d'abord un test (etape 16) pour savoir si un point Aj a ou non un vecteur normal avec j allant de 1 à N où N est le nombre total de vecteurs normaux à orienter (étape 14). Pour chaque point Aj qui n'a pas encore de vecteur normal, on estime son vecteur normal mj par la formule donnée par l'équa tion 3 en annexe. Dans cette equation 3, le vecteur<B>ni</B> (Aj) est considéré comme nul si le point Aj n'a pas encore de vecteur normal. A chaque point Aj on associe (étape 18) la valeur vj de la projection du vecteur sur la direction ô j. Si la valeur absolue de vj la plus grande parmi celles calculées précédemment (test 20), alors on lui attribue la direction 6 j (étapes 24 et<B>25).</B> Son orientation est déterminée en fonction du signe de vj (test 22). Les valeurs des projections vk associées aux voisins naturels de . sont mises à jour (étape 26) et on maintient ensuite la liste des Aj triée par valeurs décroissantes des vj (étape 28 Ces étapes sont réitérées par récurrence (étape 30) jusqu a épuisement de la liste (test 32 et instruction de fin en ). Ainsi, on affecte un vecteur normal ni, au premier élément de la liste (le point Ail) et on met progressivement cette liste ' jour, par exemple en utilisant en pratique structure de données de type "queue de priorité". Toutes les normales ont alors été orientées. procédé d'orientation des normales est particulièrement avantageux par rapport aux autres procédés connus, par exemple procédé basé sur le principe décrit dans [HDD+92] et qui suppose une répartition uniforme des points sur la surface S. autre détermination des vecteurs normaux est basée sur un principe décrit dans [ABK98] N. Amenta, M. Bern, and M. Kamvysselis. A new voronoi-based surface reconstruction algorithm. In Proc. SIGGRAPH'98, Computer Graphics Proceedings, Annual Conference Series, pages 415- , July 1998. Cependant, seule la direction des normales est fournie ici, non leur orientation. procédé particulièrement avantageux pour évaluer les coordonnées naturelles avec une durée réduite temps de traitement est décrit ci-après. Pour chaque cellule de Voronoï V(Ai) on recherche son sommet le plus éloigné S et le sommet S' le plus éloigné dans la direction du vecteur SAi (figure 5). Ces points sont appelés les pôles. On note A+ l'ensemble formé des points de A et des pôles rajoutés. L'évaluation des coordonnées naturelles est faite en considérant le diagramme de Voronoï de A' mais en posant que la coordonnée naturelle associée à un point rajouté est nulle. Le nombre de volumes à calculer est alors propor tionnel au nombre de voisins naturels du point qui sont des points l'échantillon voisins de X sur la surface (et non plus dans tout l'espace). Ce procédé permet diviser les temps calcul par un facteur d'environ vingt I1 est décrit ci-après un procédé de simplification du nuage de points initial. Souvent les données sont redondantes et il souhaitable d'extraire du nuage de points A un sous-ensemble aussi petit que possible qui représente à une tolérance e prés la surface S. Pour cela, on considère un petit sous-ensemble A' de A et on évalue pour tous les points de A\A' leur distance à SA, en utilisant la fonction implicite décrite ci-avant. Si la distance d'un point Ai excède en valeur absolue e, on ajoute Ai à A' On réévalue ensuite les distances des points de A\A' dont le point Ai est devenu un voisin naturel. On réitère le processus jusqu'à ce que tous les points de A\A' soit à une distance plus petite en valeur absolue que e de SA,. Ce procédé diffère des procédés habituels qui consistent par exemple à construire un maillage initial à partir des points de données puis, dans un deuxième temps, à simplifier ce maillage. Ainsi, le procédé de simplification décrit ci-avant est particulièrement avantageux dans le cas de très gros ensembles de données pour lesquels il n'est pas envisageable de construire un maillage. Cette situation est souvent rencontrée dans les applications de modélisation à partir de mesures. Ce procédé permet en outre de représenter la surface à différents niveaux de résolution. Typiquement, si l'on trie les points de l'ensemble A suivant l'ordre d'insertion décrit plus haut, il est possible de faire varier la résolution de la reconstruction en ne retenant par exemple qu'un nombre choisi premiers points. The principle of calculating an implicit function from Ai and vectors <B> ni </ B> has been described in particular in [HDD + 92] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W Stuetzle. Surface reconstruction from oneorganized points. Comput. <I> Graphics, </ i> 26 (2): 71-78. Proc. SIGGRAPH492. However, in their works, the authors use the natural neighbors but the k nearest neighbors. Thus the method described in [HDD + 92] is unusable if the surface is not uniformly sampled. Besides the fact that it makes it possible to correctly treat cases of unevenly sampled surfaces, the use of the method according to the invention provides a smooth SA surface and gives good results even if the data are scarce, with few points in the cloud. The estimate of the normal vectors <B> ni </ B> is described below. In the following, we now call "natural neighbors" of a point Ai of a set A, the natural neighbors of Ai that we would obtain if we removed the point Ai from the set A. We can then calculate the neighbors and natural coordinates of Ai in the new set A \ @Ai}. To estimate the direction of the normal vector ni, a first approach consists of calculating the mean (least squares) plane passing through the natural neighbors of Ai weighted by the associated natural coordinates. Another approach, preferred here, is based on the insertion, among the natural neighbors Ai, of the poles of the Voronoi cell whose point Aj the center. These poles will be described in detail below The direction of the vector <B> ni </ B> being known, it remains to orient the vector ni, that is to say to choose an orientation among the two possible orientations. In particular, it is sought to carry out these orientations in a coherent manner for all the points Ai. Referring to Figure 6 for details of the steps of the normal vector orientation method <B> ni. </ B> After a start instruction 10, first (step 12) is selected, for the point of greater Ax abscissa, the orientation of the vector ni, such as this vector ni, forms an acute angle (FIG. 4) with the unit vector carried by the first coordinate axis (abscissa axis). A first point Garlic now has a normal vector ni ,. Consider then a general step of the method of assigning orientations, where a certain number of points of A already have a normal vector (but not all). A test (step 16) is first performed to determine whether or not a point Aj has a normal vector with j ranging from 1 to N where N is the total number of normal vectors to be orientated (step 14). For each point Aj which does not yet have a normal vector, its normal vector mj is estimated by the formula given by equation 3 in the appendix. In this equation 3, the vector <B> ni </ B> (Aj) is considered as zero if the point Aj does not have a normal vector yet. At each point Aj we associate (step 18) the value vj of the projection of the vector on the direction ô j. If the absolute value of vj is the largest of those calculated previously (test 20), then it is given the direction 6 j (steps 24 and <B> 25). </ B> Its orientation is determined according to the sign of vj (test 22). The values of the projections vk associated with the natural neighbors of. are updated (step 26) and then maintained the list of Aj sorted by decreasing values of the vj (step 28) These steps are repeated by recurrence (step 30) until the list is exhausted (test 32 and end instruction in) Thus, a normal vector ni is assigned to the first element of the list (the point Garl) and this list is progressively updated, for example using, in practice, data structure of the type "queue of priority". The method of orientation of the normals is particularly advantageous with respect to the other known methods, for example a method based on the principle described in [HDD + 92] and which assumes a uniform distribution of the points on the surface S. other determination normal vectors is based on a principle described in [ABK98] N. Amenta, M. Bern, and M. Kamvysselis A new voronoi-based surface reconstruction algorithm In Proc SIGGRAPH'98, Com However, only the direction of the normals is provided here, not their orientation. Particularly advantageous method for evaluating natural coordinates with reduced time processing time is described below. For each Voronoi V cell (Ai) we search for its farthest vertex S and the furthest vertex S 'in the direction of the vector SAi (FIG. 5). These points are called the poles. We denote by A + the set of points A and poles added. The evaluation of the natural coordinates is made by considering the Voronoï diagram of A 'but by posing that the natural coordinate associated with a point added is null. The number of volumes to be calculated is then proportional to the number of natural neighbors of the point which are neighboring sample points of X on the surface (and no longer in the whole space). This method makes it possible to divide the computation times by a factor of about 20. Hereinafter, a method for simplifying the initial point cloud is described below. Often the data are redundant and it is desirable to extract from the scatterplot A as small a subset as possible which represents to a tolerance e near the surface S. For this, we consider a small subset A 'of A and for all points of A \ A ', their distance to SA is evaluated using the implicit function described above. If the distance of a point Ai exceeds absolute value e, we add Ai to A 'We then re-evaluate the distances of the points of A \ A' whose point Ai has become a natural neighbor. The process is repeated until all the points of A \ A 'are at a smaller distance in absolute value than e of SA ,. This method differs from the usual methods which consist, for example, in constructing an initial mesh from the data points and then, in a second step, in simplifying this mesh. Thus, the simplification method described above is particularly advantageous in the case of very large data sets for which it is not conceivable to build a mesh. This situation is often encountered in modeling applications from measurements. This method also makes it possible to represent the surface at different resolution levels. Typically, if one sorts the points of the set A according to the insertion order described above, it is possible to vary the resolution of the reconstruction by retaining for example only a selected number of first points.

Le proce 'trouve une application particulièrement avantageuse à la transmission des données par une liaison du type utilisant une interface de communication COM (figure 1). les points sont transférés dans l'ordre d'insertion précité le modèle reconstruit peut être progressivement raffiné au et à mesure que les points sont transmis. Une application à une utilisation en ligne (type "internet") permet ainsi voir s'afficher progressivement un objet tridimensionnel complexe sans avoir à attendre le chargement complet données I1 est decrit ci-après un procédé pour l'affichage à l'écran ECR de surface construite S. Pour visualiser la surface S avec les cartes graphiques (ou interfaces graphiques IG) habituelles, il faut mailler surface S, c'est-à-dire construire un polyèdre qui approche S à une certaine tolérance<B>il</B> prédéterminée. Un procedé connu consiste à utiliser un algorithme de type "marching cubes" issu du principe décrit par exemple dans référence [HDD+92]. Cependant, ce procédé présente plusieurs inconvénients, notamment le fait que la résolution dépende la taille de la grille et non des propriétés locales de la surface et, d'autre part, le fait que les points Ai ne sont pas, de manière générale, des points du maillage. The proce 'finds a particularly advantageous application to the transmission of data by a link of the type using a COM communication interface (Figure 1). the points are transferred in the aforementioned order of insertion the reconstructed model can be progressively refined to and as the points are transmitted. An application to an online use ("internet" type) thus makes it possible to display progressively a complex three-dimensional object without having to wait for the complete data loading. Here is described a method for displaying on the screen ECR of built surface S. To visualize the surface S with the usual graphic cards (or graphical interfaces IG), it is necessary to mesh surface S, that is to say to build a polyhedron which approaches S to a certain tolerance <B> il </ B> predetermined. A known method consists in using a "marching cubes" type algorithm resulting from the principle described for example in reference [HDD + 92]. However, this method has several disadvantages, in particular the fact that the resolution depends on the size of the grid and not on the local properties of the surface and, on the other hand, the fact that the points Ai are not, in general, points of the mesh.

Le procedé utilisé ici débute par une triangulation grossière de la surface S, suivie éventuellement d'une pluralité d'étapes consistant globalement à raffiner cette triangula- tion. The process used here begins with a rough triangulation of the surface S, optionally followed by a plurality of steps consisting generally of refining this triangulation.

A chaque triangle de la triangulation courante, on associe un point sur la surface, équidistant des sommets du triangle. On appelle ce point le centre du triangle. Ce point est éventuel lement ajouté comme nouveau sommet du maillage. Cependant, dans le cas de données ponctuelles, on ne connaît pas de maillage initial. Néanmoins, le diagramme de Voronoï et la triangulation de Delaunay de l'ensemble A ont été calculés pour évaluer les coordonnées naturelles, et sont donc disponibles. On détermine les facettes d'un maillage "initial" comme suit. Dans un premier temps, on recherche des arêtes dites "bipolai res" et qui correspondent à des arêtes de Voronoï dont la fonction distance (évaluée selon l'équation 2 de l'annexe ) est positive à une de leurs extrémités et négative à l'autre (en d'autres termes, ces arêtes coupent S). Les facettes du maillage initial sont alors les facettes la triangulation de Delaunay dont l'arête duale est bipolaire Ce maillage peut être ensuite raffiné par insertion centres des facettes du maillage et par mise à jour progres sive de 1 ensemble des faces du maillage. Ainsi, centre est inséré si sa distance au triangle correspondant est supérieure à un seuil il prédéterminé. Pour plus de détails sur le principe mathématique dont ce procédé avantageusement adapté, on pourra se référer à [Che97] Chew. Guaranteed quality Delaunay meshing in 3d. Proc. 13th Annu. ACM Sympos. Comput. Geom., pages 391-393, 1997. Le maillage obtenu a comme sommets les points Ai et centres rajoutés. On peut obtenir ainsi des surfaces lisses même avec très peu de points de données. Ce procédé trouve donc une application particulièrement intéressante à la transmission de données (par exemple en ligne) et à la compression de modèles géométriques. I1 suffit en effet de transmettre les points Ai et, à la réception, d'utiliser le procédé de maillage décrit ci-avant. To each triangle of the current triangulation, we associate a point on the surface, equidistant from the vertices of the triangle. This point is called the center of the triangle. This point is eventually added as the new vertex of the mesh. However, in the case of point data, we do not know any initial mesh. Nevertheless, the Voronoi diagram and the Delaunay triangulation of the set A have been calculated to evaluate the natural coordinates, and are therefore available. The facets of an "initial" mesh are determined as follows. In a first step, we search for edges called "bipolar" and which correspond to edges of Voronoi whose function distance (evaluated according to the equation 2 of the appendix) is positive at one of their ends and negative to the other (in other words, these edges cut S). The facets of the initial mesh are then the Delaunay triangulation facets whose dual edge is bipolar. This mesh can then be refined by inserting the centers of the facets of the mesh and by progressively updating the set of faces of the mesh. Thus, center is inserted if its distance to the corresponding triangle is greater than a predetermined threshold. For more details on the mathematical principle of which this method advantageously adapted, one can refer to [Che97] Chew. Guaranteed quality Delaunay meshing in 3d. Proc. 13th Annu. ACM Sympos. Comput. Geom., Pages 391-393, 1997. The mesh obtained has as vertices the points Ai and centers added. Smooth surfaces can thus be obtained even with very few data points. This method therefore finds a particularly interesting application for the transmission of data (for example online) and the compression of geometric models. It is sufficient to transmit the points Ai and, on reception, to use the mesh method described above.

autre application intéressante se trouve dans la création interactive d'objets à partir de points. A partir d un petit echantillon, il est alors possible de construire une première surface qui peut ensuite être modifiée. De telles modifications peuvent s'effectuer en déformant la surface construite. procédé pouvant être utilisé consiste à choisir pour un point courant, un jeu de paramètres ai à ajouter ou sous traire chacun à l'un des produits scalaires de l'équation 3, vue de déformer la surface construite en ce point courant. Ainsi, en remplaçant, pour un jeu de paramètres choisis ai, l'équation 3 par l'équation 4 dans l'annexe I, ou encore en modifiant un ou plusieurs vecteurs normaux<B>ni,</B> peut de manière simple déformer localement la surface SA. I1 est alors possible d'éditer par exemple un modèle à partir de points, comme décrit ci-avant. Bien entendu, l'invention n'est pas limitée à la forme de réalisation décrite précédemment à titre d'exemple ; elle peut s'étendre à d'autres variantes néanmoins définies dans le cadre des revendications ci-après. ANNEXE <B><U>I</U></B>

Figure img00190002
Another interesting application is in the interactive creation of objects from points. From a small sample, it is then possible to build a first surface that can then be modified. Such modifications can be made by deforming the constructed surface. The method that can be used consists in choosing for a current point a set of parameters ai to be added or subtracted each to one of the scalar products of equation 3, in order to deform the constructed surface at this current point. Thus, by replacing, for a set of selected parameters ai, equation 3 by equation 4 in Appendix I, or by modifying one or more normal vectors <B> ni, </ B> can in a simple manner locally deform the SA surface. It is then possible to edit for example a model from points, as described above. Of course, the invention is not limited to the embodiment described above by way of example; it can be extended to other variants nevertheless defined in the context of the claims below. ANNEX <B><U> I </ U></B>
Figure img00190002

Figure img00190003
Figure img00190003

Figure img00190004
Figure img00190004

Figure img00190005

<B><U>ANNEXE II</U></B>
Figure img00200001
Figure img00190005

<B><U> ANNEX II </ U></B>
Figure img00200001

void <SEP> delaunay::create(tetrahedron <SEP> *n, <SEP> Index <SEP> i)
<tb> {tetrahedron <SEP> *son, <SEP> *nn;
<tb> //create <SEP> the <SEP> tetrahedron <SEP> leaning <SEP> on <SEP> the <SEP> i-th <SEP> face <SEP> of <SEP> n
<tb> //and <SEP> update <SEP> adjacencies
<tb> (1) <SEP> son <SEP> n->son[i] <SEP> = <SEP> new <SEP> tetrahedron(insertedPoint, <SEP> n, <SEP> i);
<tb> (2) <SEP> son->Neighbor[0] <SEP> = <SEP> n->Neighbor[i] <SEP> ;
<tb> (3) <SEP> n->Neighbor[i]->
<tb> Neighbor[n->Neighbor[i]->n->findNeighborIndex(n)] <SEP> son;
<tb> //recursively <SEP> create <SEP> the <SEP> sons <SEP> neighbors
<tb> (4) <SEP> for(j <SEP> = <SEP> 1 <SEP> ; <SEP> j <SEP> < <SEP> 4 <SEP> ; <SEP> j++ <SEP> )
<tb> (5) <SEP> rotate <SEP> around <SEP> the <SEP> edge <SEP> opposite <SEP> to <SEP> [i,j]
<tb> until <SEP> the <SEP> next <SEP> cavity <SEP> face. <SEP> let <SEP> nn <SEP> be <SEP> the <SEP> corresponding <SEP> tetra
<tb> and <SEP> k <SEP> be <SEP> this <SEP> face
<tb> //create <SEP> the <SEP> sons <SEP> neighbor <SEP> and <SEP> link <SEP> it
<tb> (6) <SEP> if <SEP> ( <SEP> ! <SEP> nn->son[k] <SEP> ) <SEP> create(nn,k);
<tb> (7) <SEP> son->Neighbor[j] <SEP> = <SEP> nn->son[k] <SEP> ;
void <SEP> delaunay :: create (tetrahedron <SEP> * n, <SEP> Index <SEP> i)
<tb> {tetrahedron <SEP> * son, <SEP> * nn;
<tb> // create <SEP> the <SEP> tetrahedron <SEP> leaning <SEP> on <SEP> the <SEP> i-th <SEP> side <SEP> of <SEP> n
<tb> // and <SEP> update <SEP> adjacencies
<tb> (1) <SEP> its <SEP>n-> its [i] <SEP> = <SEP> new <SEP> tetrahedron (insertedPoint, <SEP> n, <SEP>i);
<tb> (2) <SEP>son-> Neighbor [0] <SEP> = <SEP>n-> Neighbor [i] <SEP>;
<tb> (3) <SEP>n-> Neighbor [i] ->
<tb> Neighbor [n-> Neighbor [i] ->n-> findNeighborIndex (n)] <SEP>sound;
<tb> // recursively <SEP> create <SEP> the <SEP> sounds <SEP> neighbors
<tb> (4) <SEP> for (j <SEP> = <SEP> 1 <SEP>;<SEP> j <SEP><<SEP> 4 <SEP>;<SEP> j ++ <SEP>)
<tb> (5) <SEP> rotate <SEP> around <SEP> the <SEP> edge <SEP> opposite <SEP> to <SEP> [i, j]
<tb> until <SEP> the <SEP> next <SEP> cavity <SEP> face. <SEP> let <SEP> nn <SEP> be <SEP> the <SEP> corresponding <SEP> tetra
<tb> and <SEP> k <SEP> be <SEP> this <SEP> face
<tb> // create <SEP> the <SEP> tones <SEP> neighbor <SEP> and <SEP> link <SEP> it
<tb> (6) <SEP> if <SEP>(<SEP>!<SEP>nn-> sound [k] <SEP>) <SEP> create (nn, k);
<tb> (7) <SEP>son-> Neighbor [j] <SEP> = <SEP>nn-> sound [k] <SEP>;

Claims (13)

<U>Revendications</U><U> Claims </ U> 1. Procédé de traitement de données pour une construction d'images multidimensionnelles, comprenant les étapes suivantes a) obtenir un nuage de points (E) de coordonnées connues, b) définir, par une interpolation naturelle de ce nuage de point, les voisins naturels (A\(Ai}) d'un point courant (Ai) du nuage (E) et évaluer les coordonnées naturelles (Xj) du point courant (Ai), chacune en correspondance avec un voisin naturel (Aj), caractérisé en ce qu'il comprend en outre les étapes suivantes c) calculer, à partir des voisins naturels d'un point courant (Ai) et des coordonnées naturelles, une fonction implicite représentative d'une distance (h(Ai)) entre ce point courant et un élément de surface (SAi) comprenant sensiblement les voisins naturels (Aj) de l'élément courant (Ai), d) répéter les étapes b) et c) avec au moins une partie des points du nuage pris successivement comme points courants, et e) construire une surface (SA) comprenant une pluralité de points pris à l'étape d) comme points courants et dont la fonction implicite vérifie une condition choisie.A data processing method for multi-dimensional image construction, comprising the steps of a) obtaining a scatter of points (E) of known coordinates; b) defining, by natural interpolation of this point cloud, the natural neighbors (A \ (Ai)) of a current point (Ai) of the cloud (E) and evaluate the natural coordinates (Xj) of the current point (Ai), each in correspondence with a natural neighbor (Aj), characterized in that it further comprises the steps of c) calculating, from the natural neighbors of a current point (Ai) and the natural coordinates, an implicit function representative of a distance (h (Ai)) between this current point and a surface element (SAi) substantially comprising the natural neighbors (Aj) of the current element (Ai), d) repeating steps b) and c) with at least a portion of the points of the cloud successively taken as current points, and e ) construct a surface (SA) comprising a plurality e of points taken in step d) as common points and whose implicit function satisfies a chosen condition. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape e) comprend les opérations suivantes el) déterminer les points courants dont la fonction implicite est nulle, et e2) insérer ces points courants dans la surface à construire.2. Method according to claim 1, characterized in that step e) comprises the following operations el) determine the current points whose implicit function is zero, and e2) insert these current points in the surface to be built. 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que l'étape c) comprend les opérations suivantes cl) déterminer, pour chaque voisin naturel (Ai) du point courant (X), un vecteur (XAi) entre le point courant et ce voisin naturel, c2) calculer un produit scalaire entre le vecteur (RAi) déterminé à l'étape cl) et un vecteur unitaire<B>(ni)</B> perpendi culaire à l'élément de surface comprenant ce voisin naturel, c3) pondérer le produit scalaire par la coordonnée naturelle du point courant (ki) qui est en correspondance avec voisin naturel ), et c4) estimer la somme des produits scalaires ainsi ponderés sur tous les voisins naturels du point courant.3. Method according to one of claims 1 and 2, characterized in that step c) comprises the following operations cl) determine, for each natural neighbor (Ai) of the current point (X), a vector (XAi) between the current point and this natural neighbor, c2) calculating a dot product between the vector (RAi) determined in step c1) and a unit vector <B> (ni) </ b> perpendicular to the surface element comprising this natural neighbor, c3) weight the scalar product by the natural coordinate of the current point (ki) which is in correspondence with natural neighbor), and c4) estimate the sum of scalar products thus weighted on all the natural neighbors of the current point. 4. Procedé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend en outre étapes suivantes c11) estimer une orientation (ni,) d'un premier elément de surface choisi, et c12) déduire les uns des autres et à partir de l'orientation du premier élément, les orientations respectives ( # de tous les éléments de surface, ce qui permet d'obtenir l'orientation des vecteurs unitaires perpendiculaires chacun à un élément de surface.4. Method according to one of the preceding claims, characterized in that it further comprises steps c11) estimate an orientation (ni,) of a first selected surface element, and c12) deduce from each other and to from the orientation of the first element, the respective orientations (# of all the surface elements, which makes it possible to obtain the orientation of the unit vectors perpendicular to each one of a surface element. 5. Procédé selon la revendication 4, caractérisé ce que l'orientation (ni,) du premier élément de surface est estimée pour le point de plus grande abscisse (Ail) en tant point courant.5. Method according to claim 4, characterized in that the orientation (ni,) of the first surface element is estimated for the point of greatest abscissa (Ail) as the current point. 6. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'étape e) comprend une operation consistant à ignorer les points du nuage dont la distance à la surface à construire est inférieure à une valeur seuil (s), en vue effectuer une simplification du nuage de points.6. Method according to one of the preceding claims, characterized in that step e) comprises an operation of ignoring the points of the cloud whose distance to the surface to be constructed is less than a threshold value (s), in order to perform a simplification of the point cloud. 7. Procedé selon la revendication 6, caractérisé en ce que la valeur seuil () est choisie en fonction d'une tolérance de lissage de la surface à construire.7. Process according to claim 6, characterized in that the threshold value () is chosen according to a smoothing tolerance of the surface to be built. 8. Procédé selon l'une des revendications 3 à 7, caractérisé en ce qu' il comporte une opération consistant à choisir un jeu de paramètres (ai) à ajouter ou soustraire chacun à l'un des produits scalaires, en vue de déformer la surface construite en ce point courant.8. Method according to one of claims 3 to 7, characterized in that it comprises an operation of choosing a set of parameters (ai) to be added or subtracted from each of the scalar products, in order to deform the surface built at this point. 9. Procédé selon l'une des revendications 4 à 8, caractérisé en ce qu'il comporte une opération consistant à modifier les coordonnées d'au moins un vecteur<B>(ni)</B> normal à un élément surface, en vue de déformer la surface construite en élément de surface.9. Method according to one of claims 4 to 8, characterized in that it comprises an operation of changing the coordinates of at least one vector <B> (ni) </ B> normal to a surface element, in to deform the constructed surface into a surface element. 10. Procédé selon l'une des revendications précédentes caractérisé en ce que l'étape b) comprend les opérations préalables suivantes b1) appliquer une triangulation de Delaunay au nuage points, b2) construire des cellules de Voronoï et en déduire centres (X) des cellules, b3) ajouter à chaque cellule deux pôles (S, S') correspondant sensiblement à des points les plus éloignés du centre de la cellule, et b4 évaluer lesdites coordonnées naturelles dans chaque cellule ainsi augmentée.10. Method according to one of the preceding claims characterized in that step b) comprises the following preliminary operations b1) apply a Delaunay triangulation cloud points, b2) build Voronoï cells and deduce centers (X) of cells, b3) add to each cell two poles (S, S ') substantially corresponding to points furthest from the center of the cell, and b4 evaluate said natural coordinates in each cell thus increased. 11 Procédé selon la revendication 10, caractérisé en ce que à 'étape b4), les coordonnées naturelles associées aux pôles ajoutés (S, S') sont considérées comme nulles.Method according to claim 10, characterized in that in step b4), the natural coordinates associated with the added poles (S, S ') are considered as zero. 12 Procédé selon l'une des revendications 10 et 11, caracté risé en ce qu'il comprend en outre les étapes suivantes hl) déterminer, à partir de la triangulation de Delaunay à l'étape b1), au moins une facette, ainsi qu'un centre de cette facette, h2 estimer, en calculant la fonction implicite du centre de la facette, la distance entre la facette et son centre, et h3 insérer ce centre dans la surface construite si la distance estimée est supérieure à un seuil prédéterminé (il), ce qui permet d'affiner la surface construite.Method according to one of claims 10 and 11, characterized in that it further comprises the following steps hl) determining, from the Delaunay triangulation in step b1), at least one facet, as well as a center of this facet, h2 estimate, by calculating the implicit function of the center of the facet, the distance between the facet and its center, and h3 insert this center into the constructed surface if the estimated distance is greater than a predetermined threshold ( it), which makes it possible to refine the constructed surface. 13 Dispositif pour la mise en oeuvre du procédé selon l'une revendications précédentes, caractérisé en ce qu'il comprend - au moins une mémoire (ROM) pour ranger les coordonnées de chaque point du nuage, - un processeur (pP) apte coopérer avec la mémoire pour effectuer tout ou partie des opérations du procédé, - une interface graphique (IG) agencée pour coopérer avec le processeur, et - un écran (ECR) relié à l'interface graphique pour afficher au moins la surface construite.13 Device for implementing the method according to one of the preceding claims, characterized in that it comprises - at least one memory (ROM) to store the coordinates of each point of the cloud, - a processor (pP) able to cooperate with the memory for performing all or part of the operations of the method, - a graphical interface (GU) arranged to cooperate with the processor, and - a screen (ECR) connected to the graphical interface for displaying at least the constructed surface.
FR0002914A 2000-03-07 2000-03-07 Data processing method for constructing multi-dimensional images from a point-diagram of known coordinates where the coordinate points are interpolated using a natural neighbor interpolation method and Delaunay triangulation Pending FR2806194A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0002914A FR2806194A1 (en) 2000-03-07 2000-03-07 Data processing method for constructing multi-dimensional images from a point-diagram of known coordinates where the coordinate points are interpolated using a natural neighbor interpolation method and Delaunay triangulation
PCT/FR2001/000610 WO2001067396A1 (en) 2000-03-07 2001-03-01 Delaunay triangulation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0002914A FR2806194A1 (en) 2000-03-07 2000-03-07 Data processing method for constructing multi-dimensional images from a point-diagram of known coordinates where the coordinate points are interpolated using a natural neighbor interpolation method and Delaunay triangulation

Publications (1)

Publication Number Publication Date
FR2806194A1 true FR2806194A1 (en) 2001-09-14

Family

ID=8847813

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0002914A Pending FR2806194A1 (en) 2000-03-07 2000-03-07 Data processing method for constructing multi-dimensional images from a point-diagram of known coordinates where the coordinate points are interpolated using a natural neighbor interpolation method and Delaunay triangulation

Country Status (2)

Country Link
FR (1) FR2806194A1 (en)
WO (1) WO2001067396A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210373173A1 (en) * 2020-06-02 2021-12-02 Motional Ad Llc Identifying background features using lidar

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0668572A2 (en) * 1994-02-16 1995-08-23 International Business Machines Corporation Method and system for automatically generating meshes
US5465323A (en) * 1989-09-20 1995-11-07 Association Scientifique Pour La Geologie Et De Ses Applications Method for modelling a surface and device for implementing same
US5945996A (en) * 1996-10-16 1999-08-31 Real-Time Geometry Corporation System and method for rapidly generating an optimal mesh model of a 3D object or surface
EP0981108A2 (en) * 1998-08-14 2000-02-23 Xerox Corporation Method, apparatus and computer medium for surface reconstruction by voronoi filtering

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5465323A (en) * 1989-09-20 1995-11-07 Association Scientifique Pour La Geologie Et De Ses Applications Method for modelling a surface and device for implementing same
EP0668572A2 (en) * 1994-02-16 1995-08-23 International Business Machines Corporation Method and system for automatically generating meshes
US5945996A (en) * 1996-10-16 1999-08-31 Real-Time Geometry Corporation System and method for rapidly generating an optimal mesh model of a 3D object or surface
EP0981108A2 (en) * 1998-08-14 2000-02-23 Xerox Corporation Method, apparatus and computer medium for surface reconstruction by voronoi filtering

Also Published As

Publication number Publication date
WO2001067396A1 (en) 2001-09-13

Similar Documents

Publication Publication Date Title
Mescheder et al. Occupancy networks: Learning 3d reconstruction in function space
JP7428516B2 (en) Learning neural networks to infer editable feature trees
EP3292541B1 (en) Method of simplifying a geometry model
EP0215510B1 (en) Hidden faces elimination processor for three-dimensional picture synthesis
EP1982310B1 (en) Method for synthesizing a virtual image by beam launching
KR101143140B1 (en) Stretch-driven mesh parameterization using spectral analysis
FR2837597A1 (en) Three-dimensional scene modeling process, involves calculating point of reference image on basis of set of images, of defined minimum and maximum depth values of point depth corresponding to maximum distortion
CN111381919A (en) Forming datasets for inferring editable feature trees
Wang et al. A new point cloud simplification method with feature and integrity preservation by partition strategy
CN115359191A (en) Object three-dimensional reconstruction system based on deep learning
Lawonn et al. Stylized image triangulation
Kang et al. A survey of photon mapping state-of-the-art research and future challenges
Comi et al. Snap-it, Tap-it, Splat-it: Tactile-Informed 3D Gaussian Splatting for Reconstructing Challenging Surfaces
US7671860B2 (en) Representing implicit curves of procedural geometric surfaces
FR2781907A1 (en) METHOD FOR ENCODING A SOURCE MESH BASED ON DISCONTINUITIES, AND CORRESPONDING APPLICATIONS
FR2806194A1 (en) Data processing method for constructing multi-dimensional images from a point-diagram of known coordinates where the coordinate points are interpolated using a natural neighbor interpolation method and Delaunay triangulation
FR2933520A1 (en) METHOD AND DEVICE FOR RESTORING A VIDEO SEQUENCE
JP2004272580A (en) Device, method and program for composing high-dimensional texture
Steinlechner et al. Adaptive pointcloud segmentation for assisted interactions
Wang et al. Fast Ray-Scene Intersection for Interactive Shadow Rendering with Thousands of Dynamic Lights
Liang et al. State of the Art in Efficient Translucent Material Rendering with BSSRDF
EP1069531A1 (en) Integration of constraint lines in a Delaunay triangulation
Cao et al. A 3D Simplification Method based on Dual Point Sampling.
EP1121665B1 (en) Source mesh coding method optimising vertex position resulting from edge fusion, and corresponding applications
Prévost et al. An efficient voxel‐based visualization system from an implicit skeletal surface characterization