5 votos

Determinación de la complejidad de una forma 3D

Esta es mi primera incursión fuera de stack-overflow, así que espero que este sea un foro aceptable para esta pregunta.

Quiero calcular un índice de "complejidad" basado en modelos 3D. Actualmente estoy calculando la superficie y dividiéndola por el volumen - pero estoy bastante seguro de que esto no está funcionando correctamente.

El objetivo sería un índice en el que un cubo podría ser un valor bajo, mientras que una esfera con protuberancias sería un valor mucho más alto.

Cualquier ayuda con esto sería fantástica - ¡estoy fuera de mi alcance!

A continuación se muestra un ejemplo de algo que yo supondría que tiene un valor "bajo", "medio" y "alto" de complejidad:

enter image description here

enter image description here

enter image description here

7voto

Rob Dickerson Puntos 758

Hay varias buenas opciones, dependiendo de sus necesidades.

Lo primero que me viene a la mente es el Energía de Willmore

$$\int_S (H^2-K)\,dA$$ donde $H$ es la curvatura media y $K$ la curvatura gaussiana del objeto en un punto de la superficie. Por Gauss-Bonet se puede escribir esta energía como $$\int_S H^2\,dA - 4\pi(1-g)$$ donde $g$ es el género (número de agujeros) de la superficie. La energía de Willmore es siempre no negativa, es cero para la esfera y tiene una interpretación física: es la energía de flexión de una fina lámina de goma que tiene la forma de su superficie. Cuanto más desigual sea su forma, mayor será esta energía.

Si está interesado en clasificar la "suavidad" de poliedros en lugar de superficies lisas, existe una complicación: ¿cómo discretizar la curvatura media? Se suele utilizar la siguiente relación: el gradiente de la superficie de una superficie es la normal de curvatura media: $$\nabla A = 2H\hat{n}$$ esta ecuación puede utilizarse para discretizar la curvatura media en un vértice $v_i$ . Calcular el gradiente de la superficie del poliedro con respecto al movimiento $v_i$ (nótese que esto requiere mirar sólo las caras vecinas para $v_i$ ) para obtener $$B_i^2H_i^2 = \frac{1}{4}\left\|\frac{\partial A}{\partial v_i}\right\|^2$$ donde $B_i$ es el área baricéntrica del vértice $i$ : un tercio de la suma de las superficies de las caras vecinas $v_i$ (para las caras triangulares; dividir el área de la cara por cuatro para los cuadriláteros, etc). A continuación, discretizamos la energía de Willmore como $$\sum_i H_i^2 B_i - 4\pi(1-g)$$


Aquí hay otra medida posible, si su forma tiene forma de estrella (cada punto de la frontera puede ser "visto" desde el centroide del objeto). Calcule el centroide $c$ Ahora puedes escribir cada punto de la superficie en coordenadas esféricas $r(\theta,\phi)$ centrado en $c$ . Para medir la biosidad de la superficie se puede utilizar la energía de Dirichlet de $r$ : $$\int_{S^2} \|\nabla r\|^2$$ que, de nuevo, es siempre no negativo, es cero para la esfera redonda, y mide la "irregularidad" de la superficie. Una ventaja de esta definición es que la energía de Dirichlet puede calcularse muy fácilmente a partir de la transformada discreta de Fourier de $r$ (utilizando armónicos esféricos como funciones base, ya que estamos en la esfera).

2voto

Yves Daoust Puntos 30126

Lo que preguntas depende un poco de la escala de las protuberancias que quieres cuantificar.

A gran escala, se puede medir hasta qué punto la forma difiere de la superficie mínima que encierra el mismo volumen, es decir, la esfera. Una esfera tendría la menor complejidad, un elipsoide o un cubo un poco más y, digamos, un muelle, mucho más. Por cierto, prefiero hablar de ovalidad en lugar de complejidad.

A menor escala, si se quieren medir las desviaciones locales de una superficie plana, hay que tener una versión más suave de la forma, con protuberancias y bultos más o menos suavizados, y compararla con la forma original. Esta es una tarea incómoda, también conocida como filtrado de paso bajo, que requiere construir un nuevo modelo facetado. En lugar de complejidad, yo utilizaría el término rugosidad.

Dicho esto, una primera y fácil aproximación (que tiene en cuenta tanto la ovalidad como la rugosidad) es relacionar el área del objeto con el área de una esfera del mismo volumen, es decir

$$A=\sqrt[3]{36\pi V^2}.$$

Para una esfera, la relación es $1$ para un cubo $\sqrt[3]{\dfrac6\pi}=1.24$ y para una varilla larga de longitud $L$ y el diámetro $D$ , $\sqrt[3]{\dfrac{4L}{9D}}$ . Para una esfera cubierta de pequeñas protuberancias cúbicas de lado $C$ , espaciados por $C$ , sobre $2$ .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X