Puntos equidistantes a través de un cubo.

Necesito inicializar algunos puntos tridimensionales, y quiero que estén espaciados por igual en todo el cubo. ¿Hay alguna forma creativa de hacer esto?

Estoy usando un algoritmo iterativo de Maximización de Expectativa y quiero que mis vectores iniciales "abarquen" el espacio de manera uniforme.

Por ejemplo, supongamos que tengo ocho puntos que quiero espaciar igualmente en un cubo del tamaño de 1x1x1. Me gustaría que los puntos en las esquinas de un cubo con una longitud de lado de 0.333, centrado dentro del cubo más grande.

A continuación se muestra un ejemplo en 2D. Observe que los puntos rojos están equidistantes entre sí y con los bordes. Quiero lo mismo para 3D.

En los casos en que el número de puntos no tenga una raíz cúbica entera, estoy bien con dejar algunos "huecos" en el acuerdo.

Actualmente, estoy tomando la raíz cúbica del número de puntos y lo uso para calcular el número de puntos y la distancia deseada entre ellos. Luego recorro los puntos e incremento las coordenadas X, Y y Z (escalonadas para que Y no incremente hasta que X vuelva a 0, lo mismo para Z con respecto a Y).

Si hay una forma fácil de hacer esto en MATLAB, con mucho gusto lo usaría.

Respuestas a la pregunta(5)

Su respuesta a la pregunta