Open Source Software and Benchmark Dataset developed by MASC
 Shape analysis
 Decomposition
 Origami/Paper craft Tools
 kdimensional interval tree
 Motion Planning
 Minkowski Sum
 Map GMU LiDAR Data
 USGS unstructured grid generation: gridgen
Continuous Visibility Feature
cvf version 0.1 (last update Apr. 2015)Compute the Continuous Visibility Feature for 3D mesh. See details in the project page.
1. Download source code (in C++, examples included): ContVis.zip 2. Download visualizer (in MATLAB, visualize CVF): CVF_Visualizer.zip 3. Download CGAL (used by CVF, if needed): CGAL_CVF.tar.gz Notes:

Collision Prediction using Earliest Collision Time
mpbox2d version 0.1 (last update Feb 2015)Written in C++. Find a collision free path for robot among dynamic obstacles with unknown motions.
Collision prediction is determined using earliest collision time. See details in the project page.
Download source code (in C++, examples included): mpbox2d.zip (9.3MB) Notes:

Rigid Origami Folder
origami version 0.1.2 (last update Sep 2014)Written in C++. Given a crease pattern with target folding angle on each crease line. Rigid Origami Folder will find a rigid foldable and collision free path for bring the origami from a flat sheet of paper to folded (3d) shape.
Download binary: all platforms Download source code (in C++): origami_src_v0.1.2.zip Notes:

2D Approximate Convex Decomposition
acd2d_gui
Written in C++. Given a polygon P, the software partitions P to a set of smaller almost convex polygons (their convexity is tunable).
Download source code (in C++): https://github.com/jmlien/acd2d Download binary: all platforms (last update Nov. 2010) Download models: polygons Notes: 
2D Alpha Decomposition
ad2d version 0.5 (last update Dec. 2014)
Written in C++. The αdecomposition generates a space of decompositions parameterized by α, the diameter of a circle convolved with the input polygon. In general, this approach provides better results than Approximate Convex Decomposition (ACD). The main idea can be found here 2D Alpha Decomposition.
Source code (in C++)
Benchmark Data

Dual Space Decomposition of 2D Complex Shapes
dude2d version 1.0 (last update Feb. 2015)
Written in C++. The goal is also to decompose a 2D shape into several approximate convex parts. The main idea can be found here Dude2d.
Download models: polygons Download source code (in C++): Dude Notes: 
b2ACD2d A Box2D/ACD code for general Polygon
This package b2ACD2d contains (1) ACD2d library (headers and library), (2) glue code with Box2D, (3) Box2d headers and binary and (4) some example polygons. Box2d is a popular 2D physics engine. A limitation of Box2d is that it only handles convex shapes. Nonconvex (or concave) polygons need to be represented as edge shapes or a collection of covex shapes. This code provides a solution using Approximate Convex Decomposition (ACD) to address this limitation.
download package: b2ACD2d.zip watch a video created using b2ACD2d here Note:

2D Minkowski sum via Reduced Convolution
m+2de version 0.52 (last update Oct 2011)
Give two polygons, the software generates a polygon representing the boundary of their Minkowski sum.
This software is based on this project using the idea of reduced convolution.
Download binary: win 32  linux 32 Download source code (in C++) : mksum2d_0.52_source.tar.bz2 Note:

3D meshbased Minkowski sum
m+3d version 0.5 (last update Dec 2008)
Written in C++. Give two meshes, the software generates a mesh representing the boundary of their Minkowski sum.
download binary: win 32  linux 32  mac osx download source code (in C++): m3d_source_0.5.rar Note:

3D pointbased Minkowski sum
pm+3d version 0.5 (last update Oct 2007)
Written in C++. Give two meshes, P and Q, the software generates a set of points representing the boundary of the Minkowski sum of P and Q.
download binary: win 32  linux  mac Note:
