Thesis: Cubical Marching Squares Implementation
Cubical Marching Squares (CMS) (Ho et al. 2005) is an isosurface extraction algorithm proposed by a group of researchers from National Taiwan University, in 2005. It is of the “spatial sampling” type of isosurface extraction algorithms, and is based on Marching Cubes (MC) (Lorensen and Cline 1987), however claims to deal with all the problems of original MC as well as others which arise with later algorithms.
For more information on this specific implementation, please refer to THE THESIS, which was written for the project. In which I describe the methodology of my implementation in great detail.
This project began as part of my masters thesis for the MSc CAVE course @ NCCA – Bournemouth Uni. I managed to write a partial (loose) implementation of the CMS algorithm. Which results in manifold, adaptive (simplified) meshes. Some of the results which were obtained for the thesis, along with comparisons with non-adaptive MC meshes, can be seen below, (their turntables in the video).
The Isosurface Extraction C++ Library
As this project resulted in a C++ library (currently having only the partial CMS implementation), I would like to make it an open source library as soon as I clean it up. This, I believe would be useful, as there is hardly any other implementation of the CMS algorithm in the public domain. Matt Keeter has a partial C implementation (very neat and well written) in the libFab library of the Kokopelli project, which is also open source. Apart from him, I have not come across any other working implementation of the CMS algorithm, in the whole internet.
The link to the code will be posted here, soon!
A detailed Future Work section could be seen in the thesis (Chapter 6: Conclusion).
Apart from that, I hope to continue working on the library, in my spare time. After some very necessary changes and optimisations in the octree creation stage (the current bottleneck), I would be pursuing a full implementation of the CMS algorithm. A full implementation would consist of 2D and 3D sharp feature preservation, as well as face and internal disambiguation. I will keep you updated…
Ho C.-C., Wu F.-C., Chen B.-Y., Chuang Y.-Y. and Ouhyoung M., August 2005. Cubical marching squares: Adaptive feature preserving surface extraction from volume data. volume 24, Dublin, Ireland. pp 537-545.
Lorensen W. E. and Cline H. E., 1987. Marching cubes: A high resolution 3d surface construction algorithm. In Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH ’87, New York, NY, USA. ACM, 163-169.