Programación en lenguaje C, sobre la extracción de límites de redes triangulares irregulares
Mi pequeña idea, extraer el límite (se conocen las coordenadas x, y de todos los puntos)
Pasos
1. , inicialmente vacío
2. Primero encuentre el primer punto (x, y) y extraiga el punto con la coordenada y mínima. Si existe la misma coordenada y, simplemente elija cualquier punto
4 Comenzando desde el punto (x, y), marque el punto inicial del punto y recorra en secuencia excepto el. puntos que ya existen en la cola de puntos límite Todos los puntos (x1, y1).
5. Calcule la relación del ángulo de elevación entre x y y x1, y1, y encuentre el punto (x1, y1) con el ángulo de elevación más pequeño. Tenga en cuenta que. hay relaciones positivas y negativas (existe la misma relación de ángulo de elevación, por lo que también es necesario registrar la longitud entre los dos puntos. Cuando los ángulos de elevación son iguales, tome el punto más corto)
6. Agregue el punto (x1, y1) a la cola de límites (a partir de este paso, repita los pasos 3, 4, 5) iterativamente hasta que se recupere el punto inicial y se complete el cálculo del límite
Hice Soy un tonto al confundir la pregunta con una coordenada bidimensional.
Las coordenadas tridimensionales pueden ser más problemáticas. Algunas de mis ideas no han sido verificadas personalmente. Son solo consejos. Espero que sean útiles.
Pasos
.1. Extraiga z El punto con las coordenadas más pequeñas. Si hay varios puntos, elija cualquier punto.
2. Cree una cola de registro de línea de conexión, inicialmente vacía.
3 Recorra todos los puntos excepto este punto, busque el punto con el ángulo de elevación más pequeño y conecte los dos puntos Grabación de línea. .
4. Recorra todos los puntos (x, y, z) excepto los puntos finales de la línea de conexión existentes en la cola de registros de la línea de conexión, y calcule el plano compuesto por la línea de conexión y el punto (x, y, z). ), Con la relación de distancia vertical entre todos los demás puntos excepto los tres puntos del plano y el plano (hay una relación positiva y negativa), si todos los demás puntos están en el mismo lado del plano, es decir, el positivo y las relaciones negativas son consistentes, entonces se determina que el plano de tres puntos es uno de los triángulos límite, agregue los tres lados del triángulo a la cola de registros de la línea de conexión
5. los otros dos lados de la red del triángulo límite excepto el lado inicial a iterar en el paso 4. Cuando se itera hasta que no se encuentren puntos calificados excepto los puntos en la cola de registro de la línea de conexión existente)
De esta manera, el Se completa el cálculo de todos los puntos límite.
Siento que hay algún problema con tu algoritmo. Los lados del triángulo límite también pueden ser utilizados por varios triángulos.
Mi humilde opinión, por favor no especule sin verificación