Boolean Gates


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 similaritie   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 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





Links


Images