Haider Aliyev centre, Azerbaijan– Woah! What a beautiful piece of fluidity by ZHA, but how are these curves created?
The Walt Disney Concert Hall, U.S.A– What an exquisite play of titanium cladding by Gehry partners, but how do they make it happen for such a complex building?
World Trade Center Transportation Hub, U.S.A– What a fabulous play of spikes or wings by Santiago Calatrava, but how does unification of the structure continue without error?
The awestruck moments by many are understandable when we experience such renowned buildings, but a common question is still unanswered: How does Parametricism come to reality?
Answer: The elements of Parametric Design
Matshona Dhilwayo stated once, “It is in the roots, not branches where a tree’s greatest strength lies”. Similarly, Parametric Design robustness lies within its elements. Elements inclusive of new Skills & Strategies, Programming, Geometry & its Gestures, and Patterns.
Skills and Strategies
A complex act of thinking requires thought of defining relationships with knowledgeable skills and strategies being obligatory. These elements of Parametric Design as descriptive on one side benefit outlining small-scale, technical knowledge and craft, and on the other, provide opportunities to play with new tools easily for the designers.
As drawing is a skill, similarly to upgrading ourselves in parametric tools, we need six skills to shine; a few relatable to historical design crafts and others recently added include: –
- Conceiving data flow– In parametric models, data flows from independent to dependent nodes, where it affects the design possibilities and how designers interact with them.
- Dividing to conquer– A simple method in which we divide the design into parts, design those parts, and then combine the pieces back to the entire project. This results in it being a required skill for parametric modeling that makes data flow in an accurate and explainable manner.
- Naming– Nodes, rooms, and other parts of parametric models have ‘Names’. The parametric modelers might take some time refining and devising names of their parts, though it helps, in the end, facilitate better communication.
- Thinking with abstraction– Part/s of a parametric model reused in another project is a productive way of displaying an abstraction. For instance, abstraction aids in condensing and expanding graph nodes from a collection of nodes to a single node.
- Thinking mathematically– Active and visual mathematics become means and strategies to the ends of design, such as in propagation graphs and nodes, coding theorems, and constructions help the designer experience mathematical ideas at play.
- Thinking algorithmically– An algorithm is a finite procedure, written in a fixed symbolic vocabulary, governed by precise instructions, and moves in discrete steps 1,2,3, and so on. Also, the execution of it requires no insight, cleverness, intuition, intelligence, or perspicuity, and that, sooner or later, comes to an end.
As a productive design is when there are concrete strategies similarly, these nine factors of this element of Parametric Design reflect the same fruitful results, which are:-
- Sketch– Sketching is a quick, timely, inexpensive, plentiful, disposable, distinctive gestural, minimalistic detailed, suggestive and exploratory, rather than confirmed, puzzled, and appropriate degree of refinement. Therefore, it proves parametric designers need to hold a tight grip in this zone.
- Throw code away– Designers do design, not media. A designer of Foster + Partners, when asked by someone: “Why did you not make the codes clearer?” to which he replied: “I didn’t need to do that”. The question-answer elaborated on the truth that the parametric modeler was just about being a designer, and the throw-away code is a fact of Parametric Design.
- Copy and modify– This is the opposite of throw-away code that is quite efficient, making situations easier by editing and changing code that works rather than creating a code from scratch.
- Search for form– Parametric designers must continue the hunger for new languages and styles of design, leading to play with a concept, especially at the early stages of design.
- Use mathematics and computation to understand design– Sometimes, mandatorily understanding the underlying mathematics(especially geometry) and using analysis brings some design concepts into sharp focus.
- Defer decisions– Deferral– A commitment by Parametric Design for specific locations and details maintains the prior decisions made and pervades parametric technique.
- Make modules– Module-making tools are mainly used in systems to decrease the graph complexities and enable reusability.
- Help others– To master ourselves, helping others is a great strategy that educates us about new problems and helps with wider-level solutions.
- Develop your toolbox– Elevating the toolbox from time to time will allow us to be in the game and develop according to the situations.
Algorithms realized as precise and prescribed programming languages are critical factors to be dissolved within parametric modelers. Thence, the self-taught amateur designers or programmers shall aim for the fusion of parametric modeling and the element of Parametric Design–Programming; for more effective design work. The eight areas to look at in programming are: –
Values, Variables, and Expressions
Value is a piece of data, a symbol, and an object, over which computations occur. A lot of computer languages support a suite of such kinds, for example:
Variable; a container that holds value, enabler of descriptions, and known as ‘nodes’ in a parametric model, collects data and organizes it to make sense for a reader. The following list below includes the variable name first, then the value it contains, then the values kind of object.
Expression; a combination of values, variables, operators, and function calls that return values.
Statements and Control statements
Statements; are a unit of code that a language can execute and can be simple (made of one statement) or compound (a block made of a sequence of statements).
Control statements; are the flow of control of a program that is a sequence of statements executing when the program is running.
Programming languages provide a class of statements whose purpose is to change the control flowing.
Functions and Types
Functions; are imagined as a box and known by their name, including arguments(left side) and results(right side) in the box. Also, it has inputs going into the box and returns values leaving it.
Types; are language compiler that helps find some kinds of errors by performing consistent checks before running a program. However, a drawback occurs when this element of Parametric Design gets used explicitly, leading to programs growing in size and hindering it quickly.
Objects, classes, and methods
Most modern languages implement rushed-styled programming in Parametric Design, with minimal classes, simple objects, and ‘messy’ functions often producing acceptable results.
Over here, Objects generalize values; Classes generalize types; Methods essentially function specific to a class.
Data structures, especially lists and arrays
Parametric modelers can organize data themselves through data structures and comprise types(or classes) and functions(or methods) by performing coherent operations on objects of these types(classes).
They are reusable every time and incorporate well-suited lists and arrays that are quick and first structures every designer shall learn and make.
It is more than writing codes.
Coding translates a design into a program, abstracts ideas of a design, and turns them into precise instructions in some programming language. Sometimes, coding and design go together, especially at the early-exploratory stages of an idea. So amateur programmers must continue to craft this skill.
Combining parametric and algorithmic thinking
The element of Parametric Design (Programming) enters parametric modeling in four distinct ways:
- Parametric modeling construction- Inheriting programming while building models such as propagation graphs rather than fixing models.
- Updating method programming- Firstly, writing expressions in the cells of a spreadsheet and then recalling at every update to produce a value.
- Module development- This requires a proper process of designing, coding, debugging, refining, and maintaining a data structure and a suite of functions over that structure.
- Meta-programming- A simple example is a design space explorer program that takes a model with a small set of source nodes and systematically tries combinations of node values. Soon after, it updates the model for each fusion and reports the results either on the screen to files on the computer or another process.
End-user programming tools promise to support people in expressing and using algorithms within computing tools such as spreadsheets, word processing tools, image systems, and computer-aided design systems. However, valuable end-user programming systems have been hard to achieve.
Geometry and its Gestures
Majorly all objects of parametric modeling systems are evolved through geometrics. The element of Parametric Design(Geometry) helps in predicting effects, explaining the diversity, and implementing new ideas. Some of its components are:-
Points and Vectors
Geometrically, a point is the position in space, and a vector depicts direction and length.
Lines in 2D and 3D
In two-dimension, the lines are used anyway(explicit equation, implicit equation, parametric equation, or projecting a point to a line), but in the three-dimensional approach, parametric equation dominates everything.
Coordinate systems= Frames
A coordinate system places a rigid body in space and acts as a quintessential concept of a location. In two dimensions, it has two vectors and a point, whereas, in 3D, a vector gets added. Some of its parts include Generating and representing frames and Matrices as representations, mappings, and transformations.
Geometrically significant vector bases and it is composing.
A frame is composed by expressing it as a sequence of more simple frames with their involvement in such compositions are rotation, scaling, shearing, and translation. Moreover, all these primitive geometrically significant vector bases(x-, y-, z-axes) can be composed to model more complex geometry with a general mental technique.
FIRST, imagining the geometry is located in a universal, global frame.
SECOND, sequencing of geometric operations that aligns the geometry with the global frame.
THIRD, appropriately modeling geometry.
FOURTH, using the inverse of the sequence of geometric operations from the second step to restore the geometry to its original location with the modeled change.
Intersections involve linear elements like points in 1D, lines in 2D, and planes in 3D. A crystal clear method explained by this element of Parametric Design is:
– Two planes can intersect at a plane or a line(but not a point)
– Lines may intersect at a line or a point, and
– Points may only intersect at a point.
Curves and Parametric surfaces
Curves– the exemplary parametric object; are elegant and easy parametric structures being distinctive to everyone. Similarly, the parametric surfaces are relatable to curves but are more complex when we notice every point on a surface has its unique surface normal.
Geometric gestures and an example
When geometry integrates early into the design process, the well-known strategy of post-design rationalization becomes pre-rationalization: geometry and structure become form-making ideas. Through using such tools, designers gain insight and clarity. One of its examples is the geometrical fluidity– of White Magnolia Tower, Shanghai, China.
Parametric models can carry the needed design complexity. They can embed multifaceted design concerns into a relational digital model. In contemporary practice, the design model is a flexible entity that can be generated, manipulated, and re-organized to produce elegant wholes comprising highly customizable and controllable interconnected parts.
A pattern includes a solution and a problem both.
A pattern is a formal, theoretical device expressing design intent.
A pattern is an effective device for achieving design goals.
A pattern helps users choose design alternatives and makes the system reusable.
Lastly, a pattern fosters communication.
The structure of design patterns parametric modelers shall follow are: –
Name: A noun phrase described briefly and vividly.
Diagram: A graphically represented pattern.
What: This states a one-liner description of the aim behind the pattern.
When: A scenario including a problem and context.
Why: Reasons to use such a pattern.
How: The way to adopt the pattern for solving the issue.
Samples: The illustration of patterns with working code.
Related patterns: Connections with various patterns.
Four salient attributes working with design patterns provide to parametric modelers are: –
Explicitness- A provision of the tool by patterns helps advance design skills. It comprises writing patterns in such a way that will be explicitly understandable by other readers in the absence.
Partialness(Above nodes and below designs)- Patterns provide parts that resolves the “conquer” of the divide-and-conquer strategy to separate solutions to problem parts and helps in clarifying data Bow through a model.
Problem-focused(shared problems)- Patterns state a problem and provide several clear solutions. Combining geometric, algorithmic, and mathematical insights, patterns demonstrate the fusion of crucial and harmonizing skills.
Abstractness(generic)- Patterns being abstract aids in mastering the “divide” part of divide-and-conquer and building a specific form required in parametric modeling.
The element of Parametric Design is one of the leading aspects for designers and divides into 13 patterns.
- Clear names- Meaningful, clear, and short names of objects.
- Controller- With the ideal concept of separation, the controller builds a separate model whose outputs link to the inputs of the primary model. Several controller samples include Vertical Line, Line Length, Multiple Circles, Cone Radii, Equalizer, Parallel Lines, Right Triangle, Hyperboloid of One Sheet, and Azimuth Altitude.
- Jig- Making simple abstract frameworks to isolate location and structure from geometric details is being aimed at by Jigs. For instance, if the depth of a truss is proportional to its span, a Jig might contain a line and a variable whose value is proportional to the length of the line. Some Jig samples include Controlled Surface Variation, Tube, Sheet, and Scallop.
- Increment- Increment drive changes through a series of closely related values. The samples in this pattern develop increasingly complex curves traced by a single point moving through space. Each successive piece increases the number of parameters where an increment applies and the complexity of the incrementing functions. Throughout each sample, the structure of the model remains constant; only the values of the parameters change. Some Increment samples are Circular Helix, Conic Helix, Tapered Radius Spiral, Tapered Height Spiral, Tapered Radius and Height Spiral, Elliptical Tapered Radius, and Height Spiral.
- Point collection- They organize point-like objects for locating repeated elements. Majorly designed artifacts have repeating elements that might vary by their absolute position and spatial relationships. Use this pattern when you can think about the size and location of repeating elements in terms of a set of defining points. Point collection samples include Spiral, Parabola, Waves, Point Cloud, Points on a Parametric Curve, and Points on a Parametric Surface.
- Place holder- Use of proxy items to manage complex inputs for collections. A few samples of Place holders are Hedgehog, Truss, and Paper Folding.
Projection- Project converts an object to another geometrical context. Surface Sampler, Shadows, Skylight, Spotlight, Solar Polygon Shadow, and Pinhole Camera get included in Projection samples.
- Reactor- The reactor makes an object respond to the closeness of another one. Circle Radii and Point interactor, Circle Radii and Curve Interactor, Lift, Repeller, Vector Field, and Dimple are some of the Reactor samples.
- Reporter-They represents (abstract or transform) information from a model. Reporter samples are- Subtended Angle, Array Depth, Fabrication, Mirror, Out of Plane, Snapper, and Triangle.
- Selector- They select members of a collection with specific properties. Selector samples are Distance between Points, Part of Curve, Part of Curve, Points inside Sector, Points inside Box, and Length of Line.
- Mapping- Mapping uses function for new domain and range, where function accepts inputs and produces a value. Some geometric functions are extremely common in parametric modelling such as f(x) = sin(x), f(x) = cos(x), f(x) = x2 and f(x) = 1/x. Here mapping samples includes Reciprocal, Sine and Cosine, and Function Parts.
- Recursion- Creation of a pattern by recursively replicating a motif. The recursion samples it includes are Square, Tree, Circles, Golden Rectangle, Sierpinski Carpet, 3D Planes, and Hilbert Curve.
- Goal seeker- The duty of it is to vary input with output till it joins the threshold. Some goal seeker samples include Local Maximum, Curve and Point Distance, Area, and Two Circles.
In conclusion, mastering the ingredients of Parametric Design with a mindset of part designer, part mathematician, and part computer scientist will help us excel in Parametricism.
- Woodbury, R., 2010. The Elements of Parametric Design. 3rd ed. Oxon, New York: Routledge, p.230.