Fast raytracing through a 3D grid
A mex-implementation of the raytracing (voxel traversal) algorithm proposed by J. Amanatides and A. Woo (1987).
The input to the function is a line segment defined by two points in 3D, and the output is a list of linear indexes of voxels that are intersected by the line segment. The function performs efficient grid-line intersection test prior to running the traversal iterations, using the improved method described in [1].
When compiled, this function can run up to 100 times faster (128x128x128 grid) than similar function implemented directly in Matlab ("A fast voxel traversal algorithm for ray tracing by Jesús P. Mena-Chalco").
To compile the mex function, set up the Matlab mex compiler, and run "mex wooRaytrace.cpp". The types and required format of the inputs are described in the .cpp file.
[1] "An efficient and robust ray-box intersection algorithm", A. Williams et al., 2005
Cita come
Ivan Klyuzhin (2024). Fast raytracing through a 3D grid (https://www.mathworks.com/matlabcentral/fileexchange/56527-fast-raytracing-through-a-3d-grid), MATLAB Central File Exchange. Recuperato .
Compatibilità della release di MATLAB
Compatibilità della piattaforma
Windows macOS LinuxCategorie
Tag
Riconoscimenti
Ispirato da: Ray/box Intersection, A fast voxel traversal algorithm for ray tracing
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Scopri Live Editor
Crea script con codice, output e testo formattato in un unico documento eseguibile.
Versione | Pubblicato | Note della release | |
---|---|---|---|
1.0.0.0 |