Diagramme de Voronoï

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}
Révision datée du 30 août 2023 à 02:14 par >Lesuperfétatoire (→‎growthexperiments-addlink-summary-summary:3|0|0)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Fichier:Coloured Voronoi 2D.png
Un diagramme de Voronoï : chaque cellule (surface colorée) représente la « zone d'influence » d'un germe (points noirs).

Modèle:Infobox Méthode scientifique

En mathématiques, un diagramme de Voronoï est un pavage (découpage) du plan en cellules (régions adjacentes) à partir d'un ensemble discret de points appelés « germes ». Chaque cellule enferme un seul germe, et forme l'ensemble des points du plan plus proches de ce germe que d'aucun autre. La cellule représente en quelque sorte la « zone d'influence » du germe.

Le diagramme doit son nom au mathématicien russe Gueorgui Voronoï (1868-1908). Le découpage est aussi appelé décomposition de Voronoï, partition de Voronoï ou tessellation de Dirichlet.

De manière plus générale, il représente une décomposition d’un espace métrique en cellules (régions adjacentes), déterminée par les distances à un ensemble discret d’objets de l’espace, en général un ensemble discret de points. Dans le plan les cellules sont appelées polygones de Voronoï ou polygones de Thiessen, et dans l'espace polyèdres de Voronoï.

Histoire

On peut faire remonter l’usage informel des diagrammes de Voronoï jusqu'à Descartes en 1644 dans Principia philosophiae comme illustration de phénomène astronomique <ref> Principia philosophiae 1644, édition latine AT VIII-1 ; traduction française par Paul Picot, revue par Descartes, Les Principes de la philosophie, 1647 avec une Lettre-Préface AT IX-2</ref>. Dirichlet a utilisé des diagrammes de Voronoï en dimension 2 ou 3 dans son étude des formes quadratiques en 1850 Modèle:Harv.

En 1854, le médecin britannique John Snow a utilisé le diagramme de Voronoï pour montrer que la majorité des personnes mortes dans l’épidémie de choléra de Soho se trouvaient dans la cellule de la pompe à eau de Broad Street, donc qu'ils vivaient plus près de cette pompe que de n’importe quelle autre pompe<ref>Modèle:Ouvrage</ref>. Il a ainsi démontré que le foyer de l'infection était cette pompe.

Les diagrammes de Voronoï portent le nom du mathématicien russe Georgy Fedoseevich Voronoï (ou Voronoy) qui a défini et étudié le cas général en dimension Modèle:Mvar en 1908<ref>Modèle:Article</ref>,<ref>Modèle:Article</ref>. Les diagrammes de Voronoï qui sont utilisés en géophysique et en météorologie pour analyser des données de distributions spatiales (comme les mesures de chutes de pluie) sont appelés polygones de Thiessen du nom du météorologiste américain Modèle:Lien.

Définition

On se place dans le plan affine <math>\mathbb{R}^2</math>. Soit Modèle:Math un ensemble fini de Modèle:Mvar points du plan ; les éléments de Modèle:Math sont appelés centres, sites ou encore germes.

On appelle région de Voronoï — ou cellule de Voronoï — associée à un élément Modèle:Mvar de Modèle:Math, l’ensemble des points qui sont plus proches de Modèle:Mvar que de tout autre point de Modèle:Math :

<math>\mathrm{Vor_S}(p)=\{ x \in \mathbb{R}^2 \ /\ \forall q \in \mathrm{S}\ \| x - p \| \le \| x - q \| \}</math>

Modèle:Math désigne la distance entre Modèle:Mvar et Modèle:Mvar.

Si l'on appelle Modèle:Math le demi-plan contenant Modèle:Mvar délimité par la médiatrice du segment Modèle:Math, on a

<math>\mathrm{H}(p,q)=\{ x \in \mathbb{R}^2 \ /\ \| x - p \| \le \| x - q \| \}</math>
<math>\mathrm{Vor_S}(p)=\bigcap_{q \in \mathrm{S} \backslash \{ p\} } \mathrm{H}(p,q)</math>

En dimension 2, il est facile de tracer ces partitions. On se base sur le fait que la frontière entre les cellules de Voronoï de deux germes distincts se situe forcément sur la médiatrice qui sépare ces deux germes. En effet, les points de cette médiatrice sont équidistants des deux germes donc on ne peut pas affirmer qu’ils se situent dans l'une ou l'autre cellule de Voronoi. Pour un ensemble de germes, le diagramme de Voronoï se construit donc en déterminant les médiatrices de chaque couple de germes. Un point d'une médiatrice appartient alors à une frontière de Voronoï s'il est équidistant d'au moins deux germes et qu'il n'existe pas de distance plus faible entre ce point et un autre germe de l'ensemble.

On peut généraliser la notion à un espace euclidien Modèle:Math muni de la distance euclidienne Modèle:Math. Soit Modèle:Math un ensemble fini de Modèle:Mvar points de E. La définition devient :

<math>\mathrm{Vor_S}(p)=\{ x \in \mathrm{E}\ /\ \forall q \in \mathrm{S}\ \mathrm{d}(x,p) \le \mathrm{d}(x,q) \}</math>

Pour deux points Modèle:Mvar et Modèle:Mvar de Modèle:Math, l’ensemble Modèle:Math des points équidistants de Modèle:Mvar et Modèle:Mvar est un hyperplan affine (un sous-espace affine de co-dimension 1). Cet hyperplan est la frontière entre l’ensemble des points plus proches de Modèle:Mvar que de Modèle:Mvar, et l’ensemble des points plus proches de Modèle:Mvar que de Modèle:Mvar.

<math>\Pi(p,q)=\{ x \in \mathrm{E}\ /\ \mathrm{d}(x,p) = \mathrm{d}(x,q) \}</math>

On note Modèle:Math le demi espace délimité par cet hyperplan contenant Modèle:Mvar, il contient alors tous les points plus proches de Modèle:Mvar que de Modèle:Mvar. La région de Voronoï associée à Modèle:Mvar est alors l’intersection des Modèle:MathModèle:Mvar parcourt Modèle:Math.

<math>\mathrm{H}(p,q)=\{ x \in \mathrm{E}\ /\ \mathrm{d}(x,p) \le \mathrm{d}(x,q) \}</math>
<math>\mathrm{Vor_S}(p)=\bigcap_{q \in \mathrm{S} \backslash \{ p\} } \mathrm{H}(p,q)</math>

Généralisation du diagramme de Voronoï

Pour résoudre certains problèmes, Shamos<ref name="shamos">Modèle:Ouvrage
Modèle:Chapitre</ref> introduit la notion de diagramme de Voronoï d'un ensemble de points Modèle:Math (sous-ensemble de Modèle:Math), Modèle:Math, défini par :

<math>\mathrm{V}(\mathrm{A}) = \left\{ x \in \mathrm{E} /\ \forall p \in \mathrm{A}, \forall q \in \mathrm{S} \setminus \mathrm{A}, \mathrm{d}(x, p) < \mathrm{d}(x, q) \right\}</math>

Ainsi, Modèle:Math est l'ensemble des points qui sont plus proches de chaque point de Modèle:Math que de n'importe quel point n'étant pas dans Modèle:Math.

Si l'on appelle Modèle:Math le demi-plan délimité par la médiatrice du segment Modèle:Math et contenant Modèle:Mvar, alors on a :

<math>\mathrm{V}(\mathrm{A}) = \bigcap_{i \in \mathrm{A}, j \in \mathrm{S} \setminus \mathrm{A}}\mathrm{H}(i, j)</math>

Les régions de Voronoï généralisées sont donc convexes, mais elles peuvent être vides. Shamos définit par la suite les diagrammes de Voronoï d'ordre Modèle:Mvar (1 ≤ k < card(S)) par la réunion des cellules de Voronoï généralisées formées par tous les sous-ensembles de Modèle:Mvar points :

<math>\mathrm{V}_k(\mathrm{S}) = \bigcup_{\mathrm{A} \subset \mathrm{S}, \mathrm{card}(\mathrm{A}) = k} \mathrm{V}(\mathrm{A})</math>.

Les régions Modèle:Math forment une partition de Modèle:Math.

Il définit également le « diagramme de Voronoï des points les plus éloignés » (Modèle:Lang). Ce diagramme est construit en inversant le sens de l'inégalité

<math>\overline{\mathrm{Vor}}_\mathrm{S}(p)=\left\{ x \in \mathrm{E}\ /\ \forall q \in \mathrm{S}\ \mathrm{d}(x,p) \ge \mathrm{d}(x,q) \right\}</math>

Le point Modèle:Mvar ne se trouve évidemment pas dans la cellule Modèle:Math, mais à l'opposé par rapport au « centre » de l'ensemble : le point Modèle:Mvar est le point de Modèle:Math le plus éloigné de Modèle:Math.

Le diagramme des points les plus éloignés est entièrement déterminé par l'enveloppe convexe de Modèle:Math. Il ne contient pas de cellule fermée.

Ainsi, l'ensemble des points les plus éloignés d'un point Modèle:Mvar est l'ensemble des points qui sont plus proches des autres points de Modèle:Math :

<math>\overline{\mathrm{Vor}}_\mathrm{S}(p)=\bigcup_{q \in \complement_{\mathrm{S}}(\{p\})} \mathrm{Vor_S}(q)</math>

donc le diagramme des points les plus éloignés est identique à Modèle:Math.

Propriétés

Les régions de Voronoï sont des polytopes convexes en tant qu’intersection de demi espaces<ref group=alpha>Voir Ensemble convexe > Intersections de convexes</ref>. L’ensemble de tels polygones partitionne E, et est la partition de Voronoï correspondant à l’ensemble Modèle:Math.

Modèle:Théorème

Modèle:Démonstration


Une autre propriété est que les deux points les plus rapprochés sont dans des cellules adjacentes.

Relation avec la triangulation de Delaunay

Superposition d’un diagramme de Voronoï et de sa triangulation de Delaunay duale
Superposition d’un diagramme de Voronoï (en rouge) et de sa triangulation de Delaunay (en noir).

Le diagramme de Voronoï d’un ensemble discret Modèle:Math de points est le graphe dual de la triangulation de Delaunay associée à Modèle:Math.

Passage du diagramme de Voronoï à la triangulation de Delaunay

Chaque germe du diagramme de Voronoï constitue un sommet dans la triangulation de Delaunay. Ces sommets sont reliés entre eux par une arête si et seulement si les cellules sont adjacentes.

<math>\mathrm{DEL}(\mathrm{S})=\{(p,q) \in \mathrm{S}^2 \ / \ \mathrm{Vor_S}(p) \cap \mathrm{Vor_S}(q)\ne \varnothing \}</math>

Passage de la triangulation de Delaunay au diagramme de Voronoï

Les sommets du diagramme de Voronoï sont les centres des cercles circonscrits des triangles de la triangulation de Delaunay. Les arêtes du diagramme de Voronoï sont sur les médiatrices des arêtes de la triangulation de Delaunay.

Représentation du diagramme

Graphiquement, on représente en général les parois des cellules, c'est-à-dire les points qui sont à égale distance d'au moins deux centres, et les centres associés aux cellules. On représente parfois la cellule par un aplat de couleur, avec ou sans paroi, avec une couleur différente entre chaque cellule (voir Théorème des quatre couleurs).

D'un point de vue analytique, une cellule étant une intersection de demi-plans, elle peut être représentée comme le système d'équation de ces demi-plans (voir Géométrie analytique > Demi-plan) :

<math>\left \{ \begin{matrix}

a_1 x + b_1 y \geqslant c_1 \\ a_2 x + b_2 y \geqslant c_2 \\ \cdots \end{matrix} \right .</math>

Pour représenter informatiquement un diagramme de Voronoï, John Burkardt<ref>Voronoi and Delaunay Calculations, Université d'État de Floride</ref> a proposé d'utiliser un fichier avec quatre types d'enregistrement :

  • s x y : point de l'ensemble Modèle:Math, de coordonnées Modèle:Math ;
  • v x y : sommet (Modèle:Lang) d'un polygone de Voronoï, de coordonnées Modèle:Math ;
  • l a b c : droite (portant une arête d'un polygone), d'équation Modèle:Mvar ;
  • e l v1 v2 : arête d'un polygone, décrit par l'indice Modèle:Mvar de sa droite porteur et les indices Modèle:Math et Modèle:Math des sommets qui sont ses extrémités ; si un indice est égal à –1, cela signifie que le sommet est « à l'infini » (demi-droite, ou droite si les deux sommets sont à –1).

Algorithmes

Algorithme de Green et Sibson

L'algorithme de Green et Sibson est un algorithme incrémental pour calculer un diagramme de Voronoï<ref name=Hétroy>Modèle:Lien web.</ref>. Il maintient un diagramme de Voronoï en ajoutant les points un à un. Sa complexité est <math>O(n^2)</math>.

Algorithme de Shamos et Hoey

Modèle:Article détaillé Shamos et Hoey ont montré en 1975<ref name="shamos" /> qu'il est possible de calculer le diagramme de Voronoï d'un ensemble de Modèle:Mvar points du plan dans le temps Modèle:Math. Ils utilisent pour cela un raisonnement par récurrence : supposons que l'on puisse séparer l'ensemble Modèle:Math en deux sous-ensembles de même cardinal Modèle:Math, séparés par une droite verticale : l'ensemble Modèle:Math des points à gauche et l'ensemble Modèle:Math des points à droite. Les diagrammes respectifs de ces sous-ensembles, V(G) et V(D), sont connus, et on peut les fusionner. On a ainsi un algorithme de type diviser pour régner, dont la complexité est Modèle:Math.

Algorithme de Fortune

Fichier:Fortunes-algorithm-slowed.gif
Animation de l'algorithme de Fortune.

L'algorithme de Fortune (1987, Laboratoires Bell AT&T)<ref>Modèle:Article</ref> a été démontré comme asymptotiquement optimal. Il est en Modèle:Math en temps et en Modèle:Math en espace mémoire.

L'idée générale consiste à balayer le plan de gauche à droite avec une ligne verticale (c'est un algorithme de sweep line) ; on construit le diagramme de Voronoï progressivement. Le problème est que le diagramme déjà construit, à gauche de la ligne, dépend de points situés à droite de cette ligne, et donc non encore pris en compte. Fortune résout ce problème en considérant un front parabolique légèrement « en retard » par rapport à la droite de balayage, tel que le diagramme situé à gauche de ce front est le diagramme final.

Algorithme de Bowyer-Watson

L'algorithme de Bowyer-Watson calcule une triangulation de Delaunay, on peut ensuite passer au dual pour obtenir le diagramme de Voronoi.

Applications

Les diagrammes de Voronoï sont utilisés, ou réinventés sous de nombreux noms, dans différents domaines. Ils interviennent souvent lorsque l'on cherche à partitionner l'espace en zones d'influence. Quelques exemples :

Astronomie

  • partition des structures spatiales des populations d'étoiles ;

Biologie et médecine

Économie et administration

Géographie

  • reconstruction de données géographiques optimales, pour un simulateur de vol par exemple ;
  • simulation de paysages, notamment agricoles (les cellules de Voronoï pouvant être assimilées à des parcelles de cultures) ;

Image

Mathématiques

Physique et chimie

Technologies

  • calculs de trajectoire en robotique mobile ;
  • détection dans les systèmes de communications sans fil (en particulier, notion de téléphonie cellulaire).

Football

  • déterminer la zone de contrôle d’un joueur donné à un instant quelconque du match

Notes et références

Notes

Modèle:Références

Références

Modèle:Références

Voir aussi

Bibliographie

Articles connexes

Liens externes

Modèle:Portail