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