Tengo el siguiente código que genera una cuadrícula de cubos, primero se genera una estructura para un punto 3-dimensional el cual es usado en la función principal al construir en cada paso un cubo, pero al compilar tengo problema, tiene que ver con la estructura al guardar el valor de las coordenadas en la matriz
#include <cstdio>
#include <iostream>
#include <math.h>
#include <cstdlib>
#include <fstream>
#include <conio.h>
using namespace std;
typedef struct {
float x;
float y;
float z;
} point3D;
int main(){
float x_size, xe, xs, y_size, ye, ys, z_size, ze, zs, x_step, y_step, z_step, n_step;
int n;
n_step = 1e5;
xe = 0.0;
xs = 10.0;
x_size = xs - xe; // Tamaño
y_size = ys - ye;
z_size = zs - ze;
x_step = x_size/n_step;
y_step = y_size/n_step; // # de pasos
z_step = z_size/n_step;
n = n_step + 1; // Aumento de los pasos
point3D grid[n*n*n]; //Alloc o malloc
for (int i = 0; i < n; i++) { //move on x axis
for (int j = 0; j < n; j++) { //move on y axis
for (int k = 0; k < n; k++) { //move on z axis
point3D p;
p.x = xs + x_step * i;
p.y = ys + y_step * j;
p.z = zs + z_step * k;
grid[i+n*j+n*n*k] = point3D;
}
}
}
getch();
return 0;
}
Un cubo tiene 8 vértices los cuales se obtienen de las combinación de los iteradores for (i,j,k), grupos de 8 puntos son las esquinas de cada cubo, y asi, hasta el n-ésimo paso.
Necesito una función que defina cada cubo a partir de sus esquinas
(x, y, z)
1: (0, 0, 0)
2: (0, 0, 1)
3: (0, 1, 0)
4: (0, 1, 1)
5: (1, 0, 0)
6: (1, 0, 1)
7: (1, 1, 0)
8: (1, 1, 1)