Handling huge matrices/arrays gives some challenges:
- Memory allocations - huge matrices/arrays in and out of functions
- Memory - CPU - GPU bandwith
- Calculation speed
- vM - "voxelMatrix" - normally representing the "world"
- 3D matrix where the indexes x,y,z corresponds to x,y,z dimensions in R3. Each element value symbolize if a voxel is present, and
can also represent FEM stress, color, etc.
- Voxel neighbor information is easy accessible
- If sparse - time consuming to iterate
- x,y,z can not be negative
- vA - "voxelArray" - alternative representation of vM
- Array of voxel positions x,y,z
- If vM is sparse - vA is much faster to iterate as it only contains present voxels
- Voxels can be located at negative positions - easy to do matrix rotation
- Double precision - voxels may be located "off grid"