Shape Computation Lab

Visual Calculations in the Shape Machine


What does it mean to have a new modeling software for design that allows scientists, engineers and designers to specify their actions by drawing shapes rather than by writing scripts? What is the difference between a shape you see and the way it is currently recorded in the database of your computer? What does it mean to program with shapes?

 

The Shape Machine is a new computational technology that fundamentally redefines the way shapes are represented, indexed, queried and operated upon. Its foregrounding of visual rules (shape rules drawn in a 2D or 3D modeling system) over symbolic rules (instructions defined in some programming language) provides a robust and disruptive technology for engineers, computer scientists, designers, students and educators, and in general academics and professionals who use drawings and visual models to develop and communicate their ideas.

 

The Shape Machine is developed at the Shape Computation Lab at the School of Architecture, College of Design, in collaboration with the Schools of Mathematics and Interactive Computing at the Colleges of Science and Computing at Georgia Institute of Technology. The current prototype of the Shape Machine is a plug-in implemented in Python within the modeling software Rhinoceros 5 by Robert McNeel and Associates. The core concepts of Shape Machine include three main parts: a) a new implementation of the reduction rules, a set of algorithms that provide a unique description to every shape in terms of the smallest number of maximal elements that specify it; b) a new implementation of shape recognition for all shapes consisting of straight lines, arcs and their combinations under isometry, similarity, affinity and linearity transformations; and c) a new implementation of a rule compiler of shape modification for all shapes consisting of straight lines, arcs and their combinations under all isometry, similarity, affinity and linearity transformations. By combining these three parts, the Shape Machine is able to compile shape rules drawn by users into an executable form and execute them to carry forward a shape computation.

 

The following video vignettes gives a series of visual calculations with the Shape Machine showcasing the expressiveness of the design tool in various design contexts spanning different domains including ornamental design, product desing, architectural design, mechanical engineering design and electrical engineering design. The series starts from straightforward queries of subshapes embedded in simple shapes like squares, star polygons and lens shapes and continues to more involved queries of subshapes consisting of polylines and polyarcs and their combinations under the complete group of transformations of the plane including isometries, similarities, affinities and linearities to complete the Erlanger program. The series extends the calculations in more involved degign flows too showcasing the ability of the Shape Machine to capture unique applications of rules and rule sequences.


Introduction


What is Shape Machine?

Shape Machine CAD Demo



Examples


1. Squares
  1.1 Find polygons under isometries and similarities
  1.2 Find arrangements of polygons under isometries and similarities
  1.3 Find polylines under isometries and similarities
2. 5-Star
   2.1 Find polygons and polylines under under isometries and similarities
   2.2 Find polygons and indefinite polylines under isometries and similarities
   2.3 Find arcs and indefinite polyarcs under isometries and similarities

3. Trefoil
   3.1 Find polygons and polylines under isometries and similarities
   3.2 Find polygons and indefinite polylines under isometries and similarities
   3.3 Find arcs and indefinite polyarcs under isometries and similarities
4. Rectangles, Rombi and Quadrilaterals
   4.1 Find polygons and polylines under affinity transformations
   4.2. Find arrangements of polygons and polylines under affinity transformations
   4.3 Find arrangements of indefinite polylines under affinity transformations

5. LHS and RHS
   5.1 Using an existing shape rule with a given LHS and RHS
   5.2 Designing the RHS of a shape rule
   5.3 Designing the LHS and the RHS of a shape rule

6. Regular Ice-ray
   6.1 Implementing a Regular Ice-ray Grammar
   6.2 Extending a Regular Ice-ray Grammar by Substituting Square Motifs
   6.3 Modifying a Regular Ice-ray Grammar by New Rules

7. Celtic Knot
   7.1 Designing the rules of a Celtic knot
   7.2 Designing a Celtic Knot
   7.3 Modifying a Celtic Knot

8. Mechanical Gear
   8.1 Designing the Shape Rules for a Mechanical Gear
   8.2 Modeling a Mechanical Gear in DrawScript
  8.3 Editing a Mechanical Gear in DrawScript

9. Tugendhat
   9.1 Importing a PDF/DXF file of an architectural plan - Mies' Tugendhat
   9.2 Editing and restructuring parts of an existing architectural plan - Mies' Tugendhat
  9.3 Editing and restructuring indefintite parts of an existing architectural plan - Mies' Tugendhat

10. 9 Square Portm-Ino
   10.1 9 Square Portm-Ino: Framework
   10.2 9 Square Portm-Ino: Configuration
  10.3 9 Square Portm-Ino: Architectonics

11. Sorting
   11.1 Sorting Binary
   11.2 Sorting Alphabet
  11.3 2D Binary

12. Circuits
   12.1 Boolean Gates
  12.2 Unsigned Binary Adder
   12.3 Visual Calculator


References

Up-to-date catalogue with all current and past shape grammar interpreters and inmplementations at large

Media

Images