private void InitVoxels(IScalarField field) { for (int i = 0; i < Width; i++) { for (int j = 0; j < Height; j++) { for (int k = 0; k < Depth; k++) { double x = XMin + i * Dx; double y = YMin + j * Dy; double z = ZMin + k * Dz; var value = field.F(x, y, z); Voxels[i][j][k] = new Voxel { X = x, Y = y, Z = z, Value = value }; } } } }
public double F(double x, double y, double z) => field.F(x - x0, y - y0, z - z0);
public double F(double x, double y, double z) => field.F(x / sx, y / sy, z / sz);