Project: Survey of CSG algorithms

Torsten Paul edited this page Sep 12, 2016 · 22 revisions

Outline

Constructive solid geometry (CSG) is one of the two core modeling techniques provided by OpenSCAD. Currently, 3D CSG operations are handled using the CGAL library. 2D CSG operations are handled using the Clipper library.

There is a large number of papers about the topic of CSG and related algorithms. This project is intended to provide an overview about available algorithms, their properties and a thorough comparison.

Details

  • Survey existing CSG algorithms
  • Compare properties of the algorithms
  • Implement prototypes that could be tested inside the OpenSCAD framework
  • Evaluate how more advanced modeling techniques could be realized with each algorithm (e.g. minkowski sums, convex hulls)

Future Opportunities

Expected Outcome

  • A document/paper containing the CSG algorithm survey and how it relates to OpenSCAD-specific issues.
  • One or more prototype implementations integrated with OpenSCAD to demonstrate possible improvements

Project Properties

Skills

  • Programming language is C++
  • Admiration for math and algorithms
  • Good understanding of computational geometry
  • Ability to read and understand research papers
  • Systematic strategy to collect and organize information

Difficulty

Medium to High

Additional information

CSG Research

Other papers

Existing libraries or software

Related software and other resources