Structure and Appearance Optimization for Controllable Shape Design
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
img
src
.gitattributes
.gitignore
LICENSE
README.md

README.md

ByExTopopt

Code for our paper:

Structure and Appearance Optimization for Controllable Shape Design
Jonàs Martínez, Jérémie Dumas, Sylvain Lefebvre, Li-Yi Wei
ACM Transactions on Graphics (TOG) — Proceedings of ACM SIGGRAPH Asia 2015
Volume 34 Issue 6, December 2015

Dependencies

You need to compile and install NLopt with its Python bindings. Moreover, you will also need PyOpenCL to run the OpenCL PatchMatch code used by the appearance function. Cholmod (through CXVOPT) is used for the solving the linear system in the FEM elasticity problem. MMA (through NLopt) is used to solve the constrained non-linear minimization problem.

Usage

python main.py input/l_beam.json output.png

License

The code in this project is distributed under MIT license. The topology optimization code used in this project is based on the Python implementation of the SIMP method available on the DTU TopOpt research group. We also use a modified version of OpenCL implementation of PatchMatch by @abiusx.

Acknowledgments

This work was supported by ERC grant ShapeForge (StG-2012-307877) and general research fund Dynamic Element Textures (HKU 717112E).