Enveloppe convexe 3D

Explorer un nuage de points à graine ou un exemple géométrique, son enveloppe convexe et le rôle de chaque point.

À propos de cet outil

Choisissez un ensemble de points, puis sélectionnez Calculer. Une enveloppe convexe est le plus petit ensemble convexe contenant tous les points d’entrée. Les exemples incluent un tétraèdre, un cube avec un point intérieur, un point de face et un coin dupliqué, un ensemble plan, une ligne et des points coïncidents. Pour un nuage aléatoire, choisissez un nombre entier de 4 à 80 et une graine de 1 à 999999. Le même nombre et la même graine reproduisent les mêmes points. Chaque coordonnée est générée comme (u − 0.5)·3 en utilisant la séquence Mulberry32 existante.

Une enveloppe peut être un point (dimension 0), un segment (1), un polygone plan (2) ou un polyèdre fermé (3). Les ensembles de dimension inférieure sont des résultats valides. Les coordonnées exactement identiques sont fusionnées ; le compte de doublons enregistre combien d’entrées ont été retirées. Les sommets de l’enveloppe sont les points extrêmes. D’autres points peuvent se situer sur la frontière ou dans l’intérieur relatif. Pour un ensemble plan ou un segment, « intérieur » se rapporte à son propre plan ou sa propre droite, pas à un volume tridimensionnel.

Le diagramme montre les vraies faces et arêtes polygonales. Par exemple, un cube a six faces quadrilatères et douze arêtes ; les diagonales utilisées pour mesurer ou trianguler une face ne sont pas des arêtes d’enveloppe supplémentaires. Les cercles identifient les sommets, les carrés contourés les autres points de frontière, et les losanges les points intérieurs. Le point choisi a un anneau autour. Touchez près d’un point affiché ou utilisez l’indice numéroté. Les indices se rapportent aux points uniques ; la liste des positions d’entrée identifie aussi les entrées répétées. Un nouvel ensemble de points commence la sélection à l’indice 1.

Commandes de vue. La projection est orthographique avec une seule échelle spatiale. L’angle de vue tourne autour de y monde, puis l’inclinaison autour de l’axe horizontal de l’écran. Le trièdre d’axes suit la même rotation ; les segments d’axes en pointillés s’éloignent du spectateur. Les faces sont translucides et tous les marqueurs de points sont volontairement visibles à travers elles. C’est une vue à travers l’enveloppe, pas un rendu exact de surfaces cachées. Lorsque plusieurs points se recouvrent en projection, utilisez leurs indices. Enveloppe et Points ne masquent que leurs calques de dessin respectifs. Changer la vue ou la sélection ne génère pas un autre ensemble de points ni ne recalcule l’enveloppe.

Les coordonnées utilisent des unités arbitraires. L’aire de surface en 3D et l’aire de polygone en 2D utilisent des unités au carré ; le polygone 2D est compté une fois, pas comme deux faces. Le volume utilise des unités au cube et est nul sous la dimension 3. Coordonnées, projections, aires et volumes utilisent l’arithmétique en virgule flottante. Les décisions topologiques utilisent des signes d’orientation entiers exacts pour les coordonnées binaires réellement stockées par JavaScript, y compris les cas quasi coplanaires. Cela ne rend pas les aires ou volumes mesurés exacts, et ce n’est pas une implémentation des prédicats adaptatifs de Shewchuk.

Coordonnées personnelles accepte 1–80 lignes contenant chacune x y z, séparés par des espaces ou points-virgules. La virgule décimale est acceptée avec des séparateurs espaces. Les lignes vides sont ignorées. Chaque valeur absolue est limitée à 1000000 ; les nombres mal formés ou trop petits pour être représentés sont rejetés.

Après le premier calcul, les modifications valides actualisent automatiquement l’enveloppe. Faites glisser avec la souris pour tourner ; Ctrl/Méta+molette zoome au centre, la molette seule fait défiler la page. Réinitialiser recadre la vue sans effacer les entrées. Vue ouvre les angles et les couches. Mesures ouvre les coordonnées du point sélectionné et les mesures ; cliquer un point ouvre aussi cet inspecteur. SVG exporte le dessin actuel. Seules les saisies et options d’affichage sont conservées, sans enveloppes, angles, sélection ni zoom.

Sources : CGAL 6.2.1: 3D Convex Hulls, Introduction and Lower Dimensional Results, pour les enveloppes convexes et la dimension ; Jonathan Richard Shewchuk, Robust Predicates, pour les signes d’orientation et l’arrondi près de la dégénérescence. Aucun code ni illustration de ces sources n’est utilisé.