Dadas las coordenadas cartesianas de una gran colección (finita) de puntos en 3 espacios, ¿qué combinación de algoritmos y aplicaciones proporcionan la mejor visualización en 3D de la configuración geométrica de estos puntos?

Mi estrategia (obsoleta): escriba el conjunto de puntos dado como [matemáticas] P_1 (x_1, y_1, z_1), P_2 (x_2, y_2, z_2), \ cdots, P_i (x_i, y_i, z_i), \ cdots [/ mates]. En primer lugar, determinamos las caras del casco convexo del conjunto de puntos dado. Recordemos (por ejemplo de Wikipedia) que dieron 2 vectores u y v en [matemáticas] R ^ 3 [/ matemáticas]
i) podemos definir un tercer vector u [math] \ times [/ math] v llamado ‘producto vectorial’ de u y v (también llamado ‘producto cruzado’)
ii) y también un producto ‘punto’ de u y v que es un escalar.
Tres puntos del conjunto dado [matemáticas] P_1 (x_1, y_1, z_1), P_2 (x_2, y_2, z_2), P_3 (x_3, y_3, z_3) [/ matemáticas] se encuentran en una cara del casco convexo si y solo si todo el casco convexo está contenido en un lado del
plano que contiene los tres puntos en lugar del plano que corta el
casco convexo: en otras palabras, si y solo si (i) el producto vectorial [matemática] \ vec {P_1P_2} \ times \ vec {P_1P_3} [/ matemática] es distinto de cero y (ii) y el producto escalar de [matemática] \ vec {P_1P_2} \ times \ vec {P_1P_3} [/ math] y [math] \ vec {P_1P_i} [/ math] no cambia el signo con i. Realice esto para todas las opciones de 3 puntos [matemáticas] P_i, P_j, P_k [/ matemáticas] agotando todas las opciones en
orden lexicográfico Presumiblemente, los programadores hoy en día lo harán muy fácilmente. No siendo una persona de CS hace dos décadas cuando tuve que hacer esto,
Confié en mi familiaridad básica con Turbo Pascal. Una vez completado este paso, ha determinado todas las caras del casco convexo.
Dibuja un acorde que conecte [matemática] P_i [/ ​​matemática] y [matemática] P_j [/ matemática] si por otros 2 puntos [matemática] P_k [/ matemática] y [matemática] P_l [/ matemática] encuentras que [matemática] P_i , P_j, P_k [/ math] y [math] P_i, P_j, P_l [/ math] son ​​caras. Al dibujar acordes, el software ‘GNUPLOT’ le permite dibujar pequeños tubos y alambres alrededor del acorde, lo que me parece útil para obtener una vista tridimensional. A medida que sigue dibujando más y más acordes, GNUPLOT le muestra cuál de los dos acordes está al frente y cuál está detrás, lo que mejora la vista en 3D.
No todos los puntos se ubicarán en el límite del casco convexo. Repita el procedimiento para el conjunto de puntos en el interior.

Puedes intentar usar Matlab. El método plot3 () le proporciona esta funcionalidad. Por ejemplo, el siguiente código traza los puntos (1,2,3), (4,5,6) y (7,8,9):

x = [1,4,7];
y = [2,5,8];
z = [3,6,9];
plot3 (x, y, z, ‘ro’);

La opción ‘ro’ impone que los puntos se tracen como círculos rojos.

Si no tiene Matlab instalado, puede usar la versión web de un software similar, que usa la misma sintaxis: Interfaz gratuita compatible con MATLAB