Envolvente convexa 3D

Explora una nube de puntos con semilla o un ejemplo geométrico, su envolvente convexa y el papel de cada punto.

Acerca de esta herramienta

Elige un conjunto de puntos y pulsa Calcular. Una envolvente convexa es el conjunto convexo más pequeño que contiene todos los puntos de entrada. Los ejemplos incluyen un tetraedro, un cubo con un punto interior, un punto de cara y una esquina duplicada, un conjunto plano, una recta y puntos coincidentes. Para una nube aleatoria, elige un recuento entero de 4 a 80 y una semilla de 1 a 999999. El mismo recuento y semilla reproducen los mismos puntos. Cada coordenada se genera como (u − 0.5)·3 usando la secuencia Mulberry32 existente.

Una envolvente puede ser un punto (dimensión 0), un segmento (1), un polígono planar (2) o un poliedro cerrado (3). Los conjuntos de dimensión inferior son resultados válidos. Las coordenadas exactamente idénticas se fusionan; el recuento de duplicados registra cuántas entradas de entrada se eliminaron. Los vértices de la envolvente son los puntos extremos. Otros puntos pueden yacer en el borde o en el interior relativo. Para un conjunto plano o un segmento, «interior» se refiere a su propio plano o recta, no a un volumen tridimensional.

El diagrama muestra caras y aristas de polígono reales. Por ejemplo, un cubo tiene seis caras cuadriláteras y doce aristas; las diagonales usadas para medir o triangular una cara no son aristas extra de la envolvente. Los círculos identifican vértices, los cuadrados contorneados otros puntos de borde y los rombos puntos interiores. El punto elegido tiene un anillo alrededor. Toca cerca de un punto mostrado o usa el índice numerado. Los índices se refieren a puntos únicos; la lista de posición de entrada también identifica entradas repetidas. Un conjunto de puntos nuevo empieza la selección en el índice 1.

Controles de vista. La proyección es ortográfica con una sola escala espacial. El ángulo de vista rota alrededor del eje y del mundo, luego la inclinación alrededor del eje horizontal de la pantalla. El triedro de ejes sigue la misma rotación; los segmentos de eje discontinuos apuntan lejos del observador. Las caras son translúcidas y todos los marcadores de punto son deliberadamente visibles a través de ellas. Es una vista a través de la envolvente, no un renderizado exacto de superficies ocultas. Cuando varios puntos se solapan en proyección, usa sus índices. Envolvente y Puntos ocultan solo sus respectivas capas de dibujo. Cambiar la vista o la selección no genera otro conjunto de puntos ni recalcula la envolvente.

Las coordenadas usan unidades arbitrarias. El área superficial en 3D y el área de polígono en 2D usan unidades al cuadrado; el polígono 2D se cuenta una vez, no como dos caras. El volumen usa unidades al cubo y es cero por debajo de la dimensión 3. Coordenadas, proyecciones, áreas y volúmenes usan aritmética de coma flotante. Las decisiones topológicas usan signos de orientación enteros exactos para las coordenadas binarias realmente almacenadas por JavaScript, incluidos casos casi coplanares. Eso no hace exactas las áreas o volúmenes medidos, y no es una implementación de los predicados adaptativos de Shewchuk.

Coordenadas propias acepta 1–80 líneas con x y z separados por espacios o punto y coma. Se admite la coma decimal al separar con espacios. Se ignoran las líneas vacías. Cada valor absoluto debe ser como máximo 1000000; se rechazan los números incorrectos o demasiado pequeños para representarse.

Tras el primer cálculo, los cambios válidos actualizan automáticamente la envolvente. Arrastra con el ratón para girar; Ctrl/Meta+rueda amplía desde el centro y la rueda sola desplaza la página. Restablecer encuadra la vista sin borrar entradas. Vista abre los ángulos y capas. Medidas abre las coordenadas del punto seleccionado y las medidas; pulsar un punto también abre este inspector. SVG exporta el dibujo actual. Solo se conservan entradas y opciones de visualización, sin envolventes, ángulos, selección ni zoom.

Fuentes: CGAL 6.2.1: 3D Convex Hulls, Introduction and Lower Dimensional Results, para envolventes convexas y dimensión; Jonathan Richard Shewchuk, Robust Predicates, para signos de orientación y redondeo cerca de la degeneración. No se usa código ni ilustraciones de estas fuentes.