4 votos

Encontrar los "vértices de superficie" de una colección de puntos.

Actualmente estoy haciendo algunos experimentos con el fin de simular los líquidos. Tengo una colección de puntos 3D que interactúan unos con otros para formar un cuerpo de agua.

Me gustaría formar una malla a partir de estos puntos mediante la adición de caras entre los puntos que representan la superficie del cuerpo de agua, con el fin de hacer que se vea más como el agua real. Para hacer esto, tengo que averiguar qué puntos en esta colección representan la superficie de mi cuerpo de agua. Los puntos que se encuentran dentro de esta superficie se oculta por la malla. Los puntos se mueven en tiempo real, por lo que una rápida técnica sería preferible.

Water experiment

Mi idea inicial era para calcular la media de todos los puntos y usarlo para descubrir que los puntos más alejados. Me encontré con un problema cuando me pregunté a mí mismo puntos que me gustaría tener...el top 10 puntos más lejanos? El top 20? ¿Y si el cuerpo de agua es irregular y no es esférica?

Cualquier ayuda se agradece. Gracias!

1voto

orangeskid Puntos 13528

Sugerencia: creo que desea que los vértices de la convexa del conjunto dado de puntos (los vértices de un poliedro).

Acabo de descubrir que usted puede hacer razonablemente rápido en Mathematica. Aquí es cómo encontrar los vértices de la convexa de un conjunto al azar de 50 puntos en un cubo:

PTS = RandomReal [{-1, 1}, {50, 3}]; polyh = ConvexHullMesh [pts]; MeshCoordinates [polyh]

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