Origami Simulator Truss Optimization Shell Form Finding Michell Cantilever Linkage Optimization AMOEBA
( 2015 - 2017 )  

A collection of CAD, simulation, and optimization tools I wrote over the course of my masters program at MIT.

This app simulates how any origami crease pattern will fold. It calculates the geometry of folded or partially folded origami using a dynamic, GPU-accelerated solver and illustrates physical properties of the folded material. It also supports an immersive, interactive VR mode using WebVR. Code on Github.

( 2015 - 2017 )

A 3D CAD and simulation tool for modular robotics. AMOEBA primarily serves as a research tool projects at CBA, however, in building this tool I was also thinking about how to package structural analysis in a form that would be appealing and accessible to novice users - where models could be built and meaningfully simulated in a matter of minutes with no prior experience.

This interactive design tool simulates loading patterns and solves for the geometry of thin-shell structures under pure compression. Traditionally, shell form finding was achieved by creating physical models from cloth and string, loading them with hanging weights or other forces, and carefully measuring their geometry at equilibrium. Now, anyone can run form finding simulations from their laptop and design these forms virtually.

This tool implements both static and dynamic simulation methods to solve for shell geometry. The static simulation uses the force-density method to solve a linear system of equations for the steady-state equilibrium positions of every node in the system given a force density (force per unit length) at each edge. The dynamic simulation uses a mass-spring-damper system to model interactions between nodes through edges. By adjusting the topology and material properties of the structure, it is possible to achieve many diverse forms. Code on Github.

Planar linkage optimization tool inside a simple physics engine. This app is still a work in progress, part of a longer-term project thinking about methods for automated mechanical linkage design and how to design objects that can crawl right off the bed of a 3D printer / digital fab machine. Code on Github.

A gradient descent optimization tool for 2D truss structures. Facilitates interactive exploration of the design space with real-time performance feedback via Finite Element Analysis. This tool shows the user how to adjust the positions of the nodes in the truss to minimize the volume of material used in the structure. Also supports an automated optimization process with constraints. Code on Github.

Interactive simulation tool that visualizes geometric properties and static internal forces in a loaded Michell cantilever anchored at two points. Michell geometry is parameterized by total length, distance between attachment points, and number of truss layers. Internal static forces are calculated using theĀ method of joints.