DAVID Laserscanner Wavefront *.obj file reader, plotter, volume and surface area calculator

This is a set of a MATLAB script that I have written to help me analyze the wavefront object file
Updated 9 Mar 2018

View License

A set of MATLAB scripts dedicated to read Textureless Wavefront Object (*.obj) 3d files created by DAVID Laserscanner's Shapefusion software. The output of the reader (readwObj) is a structure called "obj", in which we can found the vertices (x,y,z) coordinates, vertices' normal vector, and face descriptors. Also included a viewer (dispObj) that makes use of "patch" function in MATLAB, modified from a submission by Bernard Abayowa back in 2008. For volume and surface area calculation, you can use the "objvol" function, which uses the algorithms descibed in Graphics Gems II. While the scripts are written in MATLAB R2016a, they may be compatible with MATLAB R2014a.

Cite As

Alutsyah Luthfian (2024). DAVID Laserscanner Wavefront *.obj file reader, plotter, volume and surface area calculator (https://www.mathworks.com/matlabcentral/fileexchange/66275-david-laserscanner-wavefront-obj-file-reader-plotter-volume-and-surface-area-calculator), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Data Import and Analysis in Help Center and MATLAB Answers

Inspired by: readObj, Volume of a surface triangulation, display_obj

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

1. Now can read obtain vertices coordinate, normal vectors, and the corresponding faces from texturized data (without parsing the texture itself).
2. dispObj now uses particle's surface distance from the centroid for the patch coloring scheme.

Update in v1.1:
1. NaN padding in unfilled part of face descriptor data, so the results of readwObj can directly be plotted using MATLAB's "patch" function.
2. Now can read *.obj file without vertex normal data.