Open Source Software and Benchmark Dataset developed by MASC



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.

image

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:
  • Report bugs to gliu2@masonlive.gmu.edu


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.

image

Download source code (in C++, examples included): mpbox2d.zip (9.3MB)
Notes:
  • Report bugs to jmlien@cs.gmu.edu


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.

image

Download binary: all platforms
Download source code (in C++): origami_src_v0.1.2.zip
Notes:
  • Report bugs to zxi@gmu.edu




2D Approximate Convex Decomposition


acd2d_gui version 0.51 (last update Nov. 2010)
Written in C++. Given a polygon P, the software partitions P to a set of smaller almost convex polygons (their convexity is tunable).

ACD monkey

Download binary: all platforms
Download models: polygons
Download source code (in C++): acd2d_version_0.51.tar.bz2
Notes:
  • You may need to have glut library if you want to visualize the results.
  • Report bugs to jmlien@cs.gmu.edu
  • We are working toward the first release of acd3d. Please check back later.



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.

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.

Dude Bike

Download models: polygons
Download source code (in C++): Dude
Notes:
  • You may need to have glut library if you want to visualize the results.
  • You may also need CGAL to compile the code.
    • use apt-get install for Linux
    • go to this page for Windows
  • Report bugs to gliu2@gmu.edu




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. Non-convex (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.

image

download package: b2ACD2d.zip
watch a video created using b2ACD2d here
Note:
  • For Linux an OSX only. Windows version is coming soon. (Sept. 12, 2012)
  • There are four examples in the package:
    • Copy one of main_n_c to main.cpp and compile
    • n=1 : one polygon with text only output
    • n=2 : one polygon with glut gui
    • n=3 : multiple polygons with glut gui
    • n=4 : one polygon with multiple copies using glut gui
  • You may need to have glut library if you want to visualize the results.
  • Source code (in C++) is available on request
  • Report bugs to jmlien@cs.gmu.edu



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.

ACD monkey

Download binary: win 32 | linux 32
Download source code (in C++) : mksum2d_0.52_source.tar.bz2
Note:
  • You may need to have glut library if you want to visualize the results.
  • .Net platform is needed for running the win32 version.
  • Report bugs to jmlien@cs.gmu.edu



3D mesh-based 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.

ACD monkey

download binary: win 32 | linux 32 | mac osx
download source code (in C++): m3d_source_0.5.rar
Note:
  • You may need to have glut library if you want to visualize the results.
  • .Net platform is needed for running the win32 version.
  • Report bugs to jmlien@cs.gmu.edu



3D point-based 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.
ACD monkey

download binary: win 32 | linux | mac
Note:
  • You may need to have glut library if you want to visualize the results.
  • Source code (in C++) is available on request
  • Report bugs to jmlien@cs.gmu.edu
ReadMe file contains the command line options and the gui control keys of the program

Computer Science @ George Mason University