generative algorithms cae weaving
Post on 13-Oct-2015
33 Views
Preview:
TRANSCRIPT
-
5/22/2018 Generative Algorithms CaE Weaving
1/57
GENERATIVE ALGORITHMSCONCEPTS and EXPERIMENTS: WEAVING
ZUBIN KHABAZI
-
5/22/2018 Generative Algorithms CaE Weaving
2/57
2
Generative AlgorithmsConcepts and Experiments
1_Weaving
Zubin Khabazi
2010 Zubin Mohamad Khabazi
This book produced and published digitally for public use. No part of this book may be reproduced in any manner whatsoever
without permission from the author, except in the context of reviews.
To see the latest updates visit my website or for enquiries contact me:
www.MORPHOGENESISM.com
zubin.khabazi@googlemail.com
http://www.morphogenesism.com/mailto:zubin.khabazi@googlemail.commailto:zubin.khabazi@googlemail.comhttp://www.morphogenesism.com/ -
5/22/2018 Generative Algorithms CaE Weaving
3/57
3
Generative Algorithms, Concepts and Experiments
Introduction to the Series
Generative Algorithms which published on-line, was aimed to bring forward subjects and concepts ongeometrical issues related to architectural design and some basic experiments using parametric modeling
and algorithmic approach with Grasshopper. Since then, readers of the book while got involved with
different projects, have asked for help on topics, methods, solutions and definitions and proved that
Grasshopper is fast growing and more detailed resources to discuss contemporary subjects of design are
needed. Thats why I started these series of Generative Algorithms, Concepts and Experiments through
which I want to share some specific areas of knowledge and my researches and achievements in design
with algorithmic approac hes.
The subject and method comes from a series of global communication with readers, while I realized a gap
between Themes, approaches, and methods in geometry with final products. We can simply find lots of
images from these algorithmic experiments in weblogs and websites because of the availability of tools in
digital realm (CAD and Algorithmic/ Parametric 3D softwares) but the easiness of this production, or their
availability, sometime causes confusion, sometime shows lack of sufficient knowledge about the inherent
properties of these systems or possibilities of their material outcome / Fabrication and also performances
which can be achieved from them. In this situation, studies on the subject, physica l experiments and
observations, and searching for different algorithmic solutions could be the minimum requirements to
understand these systems and to be able to implement them into our design fields.
In this series, Generative Algorithms, Concepts and Experiments, I am trying to search for concepts and
methods, combine physical and digital experiments on topics that seem Generative as prototypes for
possible applications in architecture, to extend the catalogue of available systems and methods in design.
I hope these experiments benefit your design issues or line of research, as mine.
Good luck!
Zubin M Khabazi (Master of Emergent Technologies and Design / AA)
_Notice: Going all the way through to the details of projects, I assumed you already have the basic
knowledge of how to work with Grasshopper which I believe by now, you have studied Generative
Algorithms and you know what does , Domain or Vector Amplitude mean, otherwisecheck the notes section of this book.
-
5/22/2018 Generative Algorithms CaE Weaving
4/57
4
Contents
1_Generatice Algorithms, Concepts and Experiments_1_Waeving......................................... 5
1_1_Introduction ................................................................................................................................... 5
1_2_Weaving ......................................................................................................................................... 6
2_Loom Project ......................................................................................................................................... 9
2_1_Where should start? .................................................................................................................... 9
2_2_How should weave? ................................................................................................................. 10
2_3_The Loom Algorithm .................................................................................................................. 11
3_Jacquard Weave .............................................................................................................................. 20
3_1_J acquard Loom ......................................................................................................................... 20
3_2_ Principles of Operation in a J ac quard Loom................................................................... 21
3_3_J ac quard Loom Project........................................................................................................... 21
3_3_1_Pattern of Weaving........................................................................................................... 21
3_3_2_Target Space/Form of Weaving ................................................................................... 29
3_3_3_Plotting Points onto Target Surface.............................................................................. 31
3_3_4_Weaving Target surface by Pattern............................................................................. 34
3_3_5_Yarn Geometry Generation ........................................................................................... 46
4_Conclusion ........................................................................................................................................... 54
_Notes ....................................................................................................................................................... 55
-
5/22/2018 Generative Algorithms CaE Weaving
5/57
5 1_Generatice Algorithms, Concepts and Experiments_1_Waeving
1_Generatice Algorithms, Concepts and Experiments_1_Waeving
1_1_Introduction
Parametric Geometry is a powerful tool and even more, a methodology in design, in such a way that
claimed as a style: Parametricism. We pursue the pa ram e t ric de sign pa rad igm a l l the w ay , pe ne t ra t i ng
into a ll c orners of the d isc ipl ine. System a tic , ad a p tive var ia t ion, co ntinuous d ifferent iat ion (rathe r tha n m ere
var ie ty ) , a nd dyna mic , pa ram etr ic f igura t ion c onc erns a l l de sign tasks from urb an ism to the leve l of
tec ton ic d eta il, in ter io r furn ish ings and the wo rld of p rod uc tsCo ntem po rary ava nt-garde a rc h itec ture is
ad dressing the d em and for an increa sed leve l of a rt icu la te d c om plex ity by m ea ns of re too l ing i ts me thod s
on the ba sis of p aram etr ic d esign system s. The c onte m po rary a rch itec tura l sty le tha t ha s ac h ieve d
pe rvasive heg em ony w i th in the c on tem po ra ry a rch i tec tu ra l ava n t -ga rde ca n b e b est unde rstood as a
resea rc h prog ram ba sed upo n the p a ra me tric pa rad igm . We p rop ose to c a l l th is sty le : Parametricism.[1]
The notion of parametricism started with the advances in computational geometry and digital tools (bothsoftware and hardware) and developed through lots of design projects in CAD spaces and resulted in
loads of images and concepts in digital space which was, lets say, first phase of the parametricism. But
soon after that, pursuing these concepts and ideas in prac tice, potentials of this new method leads
architects to transfer properties of simple material systems into basic computational constructs in order to
use their potentials as generative logics and small scale components in reality. Under the influence of
methods and techniques of parametricism, these systems proliferated on larger spans and set up a new
system of material outcomes based on real physical, small scale constructs. The shift that we encounter in
parametricism now, is from Top-Down, result-based design to a Bottom-up, system-development approach
which embed properties of material system as parameters of larger scale products which demonstrate
qualities of underlying material system [2] and sometimes more. [3]
Fig .1 .1 . Exp er ime nts wi th Hardene d Pneum a t ic s lea d ed to exp lore p ote nt ia ls of w ove n p rod uc ts an d
we av ing a lgo rithm s in orde r to t ransfer ma ter ia l pe rform anc es in to p aram etr ic c om pu ta t ions.
In order to transfer a material system into digital parametric realm, one needs to study and observe the
system in different levels to understand its behavior, its inherent properties which is affected by material,
geometry, shape, and if needed, its structural behavior, physical and chemical specifications and so on
-
5/22/2018 Generative Algorithms CaE Weaving
6/57
6 1_Generatice Algorithms, Concepts and Experiments_1_Waeving
and so forth. So this is not just transformation of geometry, but it encounters the implementation of material
behavior into a digital product which is parameterized by its own properties. Thats why careful studies and
analysis is tied up with this level of parametricism and Generative Algorithms, Concepts and Experiments
also follows this method by a research and design approach.
Fig .1 .2 . Deve lop me nt of d ig i ta l pa ram etr ic m od els ba sed on resea rc hes on Hard ene d Pneum at ics ,
exp er im ent s a t Em Tec h Stud io, AA scho ol of arc hi tec ture, Lond on.
1_2_Weaving
Among the broad catalogue of material systems, handmade old-to-new products, biological and natural
systems and so on, weaving is one the concepts that sounds easy enough to be explored as a basic
construct that can be used in parametric notion, and complicated enough, to be the generator ofcomplex hierarchical systems. Because of the intrinsic properties of the fabric which makes it free-form
object, yet comprised of small continuous element, its transformation into digital algorithmic space would
be helpful for development of similar free-form surfaces with the same properties and a generative logic
behind.
Fig.1.3. Fa b rics a re c lose to o ur bo d y in eve ryd a y l ife. They a re flex ib le, soft a nd d el ic a te w ith dif ferent
pa t te rns, co lors an d they a c c ep t va rious me thod s of d esign. Whi le the y co ver our bod ies, they have
p ote nt ia l to co ver sp a c es a s w el l; witho ut a ny pred ic t ion ab ou t func t iona l or structural ab i li ty, the ir system
and co nc ep t wo rth look ing c loser , in d eta il.
-
5/22/2018 Generative Algorithms CaE Weaving
7/57
7 1_Generatice Algorithms, Concepts and Experiments_1_Waeving
Weaving described as a systematic interlacing of two or more elements to form a structure [4]. More
specific, in fabric or cloth, there are sets of parallel yarns called Warps that are being interlaced by a filling
yarn called Weft in a process of weaving. This process has been done by a device called Loom.
According to Webster, a Loom is a frame or machine for interlacing at right angles, two or more sets of
threads or yarns to form a cloth. [5]
The Process of weaving, using a loom machine can be described in a repetitive three stage operation: 1.First stage is Shedding. Shedding is the rising of a group of warps (simplest is every other yarn) to make a
Shed (an empty space between raised and unraised yarns) through which the filling yarn (weft) passes with
a device called Shuttle. The yarns are hung by Heddles which are connected to Harnesses that move up
and down and make sheds repeatedly. 2. Second stage is Picking which refers to the single crossing of the
shuttle (that contains the weft yarn) from one side of the loom to the other side. This part lays down one
layer of weft between raised and unraised warps. 3. Third stage is Battening. In this stage another frame
called Reed, presses or battens the filling yarn (weft) to make the fabric. It tightens the weft into the edge
of fabric (woven part) and not-yet-woven warps. This line between the woven fabric and the rest of warps
called Fell. The rest of the process is the same. The harnesses should move (at least one up, one down) and
a new shed would be c reated and picking and battening and so on. [6]
Fig .1 .4 . Loo m m ac hine, Warps and Wefts and a w om an who we a ves fab ric !
Based on techniques and machineries, different types of textile can be woven. Three basic types of textile
weaving are Plain weave, Satin Weave and Twill weave. For example it depends on the number of
harnesses that can raise the warps at each time or the offset pattern of wefts when take turn to go under
or above warps.
-
5/22/2018 Generative Algorithms CaE Weaving
8/57
8 1_Generatice Algorithms, Concepts and Experiments_1_Waeving
Weaving is not limited to fabrics. Basketry is another branch which is weaving of natural fibers like leaves to
create baskets and bags and other types of holding and containing tools. Weaving could be range from
smooth fabrics for clothes up to tough ones for making tents and harder ones in baskets and even more in
walls and fences with metals. Today, more than just type or material, there are other functions that can be
achieved by fabrics like E-Textiles, which are aimed to perform distributed sensing or computing actions in
small scales inside the structure of a textile. [7]
-
5/22/2018 Generative Algorithms CaE Weaving
9/57
9 2_Loom Project
2_Loom Project
The aim of this chapter is to set up an algorithm (using Grasshopper as platform) that works as a loom
machine and weaves virtual textiles. In order to set up the algorithm, to simulate textile, concentration onoperation of the loom is needed because properties of the final product (Textile/Fabric/Cloth) are
dependent on this operation. In fact various types of fabrics are associated with looms which work
differently and result in multiple products. Investigations of weaving and loom machines started by studies
and experiments with a simple plain-weave loom machine which would result in a simple Criss-Cross
pattern.
Fig .2 .1 . We ave r at the loo m by Vincent Va n Go gh.
2_1_Where should start?
The algorithm is aimed to be versatile, and not limited to weave flat-tensioned fabrics. This concept
wanted to be customized, used in different situations and as a generative construct for various purposes.
So what is the final product and how final geometry can fits into that?
Textiles are usually flexible, free-form objects. They can get any shape based on their positioning. It is
noticeable that as non-elastic solid objects, creases and folds appear when fabrics get complex forms,
different than their basic initial flat shape, but even considering these folds, lets define them as free-form
surfac es. In geometrica l term, lets define the general form of textile (final state of product) as a NURBS
surface in the algorithm.
It should be noticed that any form of surfaces might not be achievable by a single piece of fabric because
of the creases and folds that mentioned before and to get special forms, Cutting-Pattern needed. This is
what tailors do when they want to make dresses from fabric. But in order to set up an algorithm here, since
there is not any fabric and the algorithm aimed to weave it, weaving any free-form but one piece NURBS
surfac e assumed possible.
-
5/22/2018 Generative Algorithms CaE Weaving
10/57
10 2_Loom Project
2_2_How should weave?
Textile as mentioned, in its simplest construct, has two sets of parallel yarns, which are orthogonal and
interlaced into each other. Looking closer into its structure, small wavy threads can be seen going up and
down of other perpendicular sets of threads endlessly. Based on the precision and smoothness of the
textile, wavy pattern of threads should be visible in warps, and wefts should be straight, but in rough fabrics
or for example in baskets, elements are both wavy, interweaving each other.
Yarns are basic ingredients of weaving textiles. Yarns consists of fibrous matter as twisted together during
the process of spinning [8]. Fiber materials can be natural or synthetic. They include wool, linen, cotton, silk,
acrylic, polyester and so on. Slenderness, smoothness, and other properties of yarns affect the behavior of
the textile.
Fig.2.2. Any single w a rp ( if we fts ima gined a s straight g eo m etr ies) ha s a wa vy form w hi le th rou g h its
co rruga t ion g oes abo ve a nd unde r the w e f ts.
Fig.2.3. G eo me tr ic a l a na lysis of w a ved w a rp s a nd we fts in a digi ta l text i le c on struct. Both w a rp s a nd w efts
a re co r ruga ted fo rms wh ich go a bo ve and unde r eac h o the r rep ea ted l y .
-
5/22/2018 Generative Algorithms CaE Weaving
11/57
11 2_Loom Project
It seems that if the algorithm generates wavy objec ts (like pipes or cylinders) upon the final-state NURBS
surface of the algorithm, the product meets the basic qualities that one might ask for designing a digital
textile.
2_3_The Loom Algorithm
Lets start the algorithm by an overall view to its process and flow of information. The input geometry which
is a NURBS surface should be introduced to the algorithm. Warps should be generated in its U direction and
wefts in V direction. Each warp or weft is look like a sine graph, a corrugated curve or equivalent solid
geometry. In order to draw these curves, a list of points needs to be provided for each one. These points
are distributed across the surface in its certain U and V iso-curve positions, and goes up and down the
surface in its normal direction. Points would move repeatedly in an order like one point up, next down, then
up, down, up, down and goes on to the edge of the surface. There are two important points in their
structure:
1. Every warp (or weft) if started with a point UP, the next row would start with a point DOWN. Thismeans half a module shift of corrugation in each row is happening.
2. At any point on the surface, if the point moves +A in the direction of the surface normal togenerate a point for a warp, it should move Ato generate a point for assoc iate weft on that point
(and vice-versa).
Based on the above conception, the algorithm in Grasshopper can be developed as follows:
Fig .2 .4 . To star t the a lgo rithm , as me nt ione d be fore , a g eo m etry com po nent is nee de d to
introd uc e the g en eral form o f f ina l d igita l text i le to c a nva s a s a NURBS surfa c e. It ren am ed to
.
-
5/22/2018 Generative Algorithms CaE Weaving
12/57
12 2_Loom Project
Fig.2.5. The is d b a sed on t he num b er of wa rp s a nd w efts, de fined b y tw o
and c on nec ted with two . With this c om p one nt, Div ision Points a nd
No rm a ls o f the surfac e a t tho se d iv ision p oints a re a c c essible.
Fig .2 .6 . As me nt ione d ea rlie r , d iv ision p o in ts ha ve to mo ve a bo ve and und er the surfac e to ge nera te po in ts
for wa rps and we f ts. To d o th at , g roup of ve c tors wi th a va lue tha t is shou ld be
ge nera ted ( th is va lue d ef ines the a mo unt of d isp lac em ent o f po in ts f rom the surfac e) . The
c om po nent here is F(X) = -X (which sets the d isp lac em ent va lue in o ther d i rec t ion of the surfac e) . Here b y a
c om po nen t a g roup o f numb ers co mp rised o f d isp lace me n t va lues o r co r ruga t ion he igh t in
po sit ive (+) and neg at ive ( -) va lues are g ene ra te d.
-
5/22/2018 Generative Algorithms CaE Weaving
13/57
13 2_Loom Project
Fig .2.7. Warp Gene rat ion. With this p a rt of th e a lgo rithm a ll points ne ed ed for cu rves a s a xis of th rea d s a re
ge nera ted . A co mp one nt , as it sound s, rep ea ts the p a i r of d isp lac em ent p osit ive a nd ne ga t ive
va lues. It rep ea ts da ta wi th the num be r of w ef ts ( the num be rs of p o in ts in ea c h w arp is eq ua l to num b er of
we f ts) . These va lues used to set the of no rm al vec tors of ta rge t_surfac e o nc e d i rec t ly a nd
a no the r t ime b y their neg a tive values (F(x) = - x). Tha t s b ec a use to g ene ra te a no the r set o f curve s p oints
w ho se sta rt po int is op p osite. Althoug h it ge nerat es tw o sets of p oints, for eac h wa rp, since fo r ea c h row ,
the po sit ion of f i rst p o in t shou ld b e d if fe rent than prev ious an d nex t one ( if p rev ious an d nex t one a re
ab ove the surfac e, it shou ld b e und er the surfac e) so b y th is tec hn iq ue, po in t sets are g ene ra te d for both
situa t ions but then wo uld be ed every othe r one to ge t the de sired c urves wi th op po site star t p o in ts.
Final ly al l sub d iv ision p oints of the surfa c e (Via ) a re m ove d with b oth v ec to r g roup s.
Fig.2.8. Al l sub d iv ision p oints ( co nne c ted to P po rt of ) are m ove d with b oth sets of
vec tors and one group of d isp lac ed po in ts is se lec te d. The m ost im po rtant po in t is whe n using a rep ea ted
list of b ot h p osit ive/ ne ga tive heigh ts a s vec tor values, the o rd er of p oints is one UP, one Dow n, .
-
5/22/2018 Generative Algorithms CaE Weaving
14/57
14 2_Loom Project
Fig.2.9. As a resul t , if d p oints c onn ec ted to c om p on ent s, two sets of m irrored c urves
a s a xis of threa d s in the p osit ion of w a rp s w ould g ene ra te. Now the se l ists shou ld b e ed to o mit
ad d i t iona l ones.
Fig.2.10. As ref lec ted in , curves a re in d if ferent d a ta b ra nc hes. In o rd er to them , f irst
c om po nents has bee n used a nd then b y two wi th inver ted Boo lea n va lues, a l l
Ax is_Curves for warps which a re c or ruga ted and sh if ted ha l f a m od ule in ea c h row a re a c h ieve d.
Fig .2.11. The o veral l v iew o f the Loo m a lgo rithm for the wa rp ge ne ra t ion p a rt.
-
5/22/2018 Generative Algorithms CaE Weaving
15/57
15 2_Loom Project
_Weft Generation
Fig 2.12. For the nex t p ar t of the a lgo rithm di f fe rent m etho d s an d tec hn iques has bee n exam ined to
ge nera te w ef ts. As co mp one nt , arra nge s d ata in branc hes ba sed on U d iv ision , da ta ne ed ed
to rear range in order to branch by V di rec t ion . Here, to so lve the prob lem in an easy way, the
c op ied in i ts p lac e a nd its U a nd V direc t ion swa p p ed in Rhino. So b y using the sam e
step s as for wa rps, wef ts c an be ge nera ted .
In o rd er to d o this, fol low ing step s in Rhino shou ld a c c om p lish:
1. Selec t the Ta rge t Surfa c e2. Type fo l low ing c om ma nd s in Rhino c om m and line :
Co p y (Ente r)
i (Ent e r)
Dir (Ent e r)
S (Ent e r)
(Enter)
(These c om ma nd s c op y the surfac e in to i ts or ig ina l p lac e ( i) , then b y swa pp ing UV
di rec t ion (s) of the surfac e a surfac e wi th rep lac ed U and V d irec t ions but w ith sam e sizeand po sit ion w ou ld g ene ra te )
3. Assign th is new surfac e to the sec ond g eo me try co mp one nt wh ic h is rena me d to.
-
5/22/2018 Generative Algorithms CaE Weaving
16/57
16 2_Loom Project
Fig.2.13. Here a ga in this surfa c e sub d iv ided . Notic e tha t the U port, of the is c onn ec ted to the
numb er o f we f ts and the V p ort , to the numb er o f wa rps and the d a ta fo r vec to r va lues is ed b y
the num b er of w a rp s this t im e. The rest o f the a lg or ithm is the sam e.
Fig.2.14. Both sides of the a lgo rithm loo k the sam e fo r wa rp s a nd we fts.
-
5/22/2018 Generative Algorithms CaE Weaving
17/57
17 2_Loom Project
Fig.2.15. Be sure tha t fo r p a tte rn th e a b ove Fa lse/ True a nd True/ Fa lse orde r sho uld b e set. If
eve rything set c orrec t ly, then the fina l a xis-curves to g ene ra te threa d s of d ig ita l text i le a re a va i la b le in a
co rruga ted fo rma t .
Fig.2.16. The last b it. Threa d s a re a ime d to simula te a s p ipe s so t he ir rad ius or the thic kness o f threa d s sho uld
b e set, he re m a nua lly c on trolled b y a slid er .
Fig .2 .17. co nnec t ing a l l c om po nents c onta in ing c urves to a wi th a ma nua lly c ontro lled rad ius which
is , no w a ll threa d s of the d igita l text ile a re g ene rate d . It is p ossible to use tw o
c om p one nts a nd set d i fferent thickne ss va lues for wa rp s a nd w efts a s w el l.
-
5/22/2018 Generative Algorithms CaE Weaving
18/57
18 2_Loom Project
Fig.2.18. The O veral l loo k of the Loom Algo rithm wh ich w ea ves a d igi ta l text i le w ith a p la in we a ve form a t.
-
5/22/2018 Generative Algorithms CaE Weaving
19/57
19 2_Loom Project
-
5/22/2018 Generative Algorithms CaE Weaving
20/57
20 3_Jacquard Weave
3_Jacquard Weave
Although the loom algorithm accomplished simple plain-weaving, it was the simplest technique to weave
textile. In the history of weaving, peoples desire to achieve more colorful, more interesting textiles withdifferent patterns, pushed the industry and inventors to work on more advanced machines to be able to
control the pattern of textile, get various products for different purposes.
Development of machineries and tools, several looms created in order to differentiate the pattern and
ease the production. First it was the invention of the iron-cast, powered loom that revolutionized the
industry[9]. But among different inventions Dobby loom was one of the influential ones. Dobb y loom is a loom inwhich e ac h harness ca n be m anipulate d indiv idual ly. This is in contrast to a trea dle loom , where the ha rnesses are at ta che d to a numb er
of di f ferent t read les de pe nding o n the we av e structure. [ Dobb y loom is] A type o f loo m o n which smal l, ge om etr ic f igures ca n be
wove n as in a regu la r pa t te rn . Or ig ina ll y this type o f loom need ed a "dob by boy" who sa t o n the top o f the loom a nd d rew up w arp
thread s to term a pa t tern. Now the w ea ving is do ne ent i re ly by m ac hine. This loom d iffers f rom a p la in loo m in that i t ma y have up to
th irty- two ha rnesses and a pa t tern cha in and i ts expe nsive we aving. [10]
Having control over the warps in different groups (attached to multiple harnesses rather than one), in a
dobby loom it is possible to make patterns in textile by weaving wefts through certain groups of warps
instead of arbitrary every other one. Observing this increased degree of control over groups of warps to
weave textiles, J oseph-Marie J ac quard invented a system to fac ilitate the ability of the loom for generating
patterns even more; he inventedJacquard Loom.
3_1_Jacquard Loom
In weaving, device incorporated in specia l looms to contro l
ind iv idua l warp yarns. It ena bled loom s to p roduc e fab r ics having
int ricate w ove n pa t terns suc h as tap estry, broc ad e, and d am ask,
and it has a lso b een a da p ted to the p roduc t ion o f pa t te rned kn i tt ed
fab ric s. The Jac qu ard system wa s de velop ed in 180405 byJosep h-
Mar ie Jacq uard of Fran c e, b ut it soo n spread elsew here. His system
improved on the punched-ca rd techno logy o f Jac ques de
Vauc ansons loom (1745). Jac qua rd s loom ut il ized
in te r changeab lepunched ca r d s tha t co n t ro l led the wea v ing o f the
c lo th so tha t any de si red pa t te rn co u ld b e ob ta ined a u toma t ica l ly .
These p unched ca rds were a do p ted by the no ted Eng l ish
inventorChar les Bab ba ge as an input-output medium for his
p roposed ana ly t i ca l eng ine and were used by the Amer ican
sta tistic ianHerma n Holler ith to feed da ta to his ce nsus ma c hine. [11]
This advanced system, has c ontrol over every single
yarn instead of groups of them. So as a result, with the
machine that has single-end warp control, it became
possible to weave numerous patterns in textile. In
order to get these patterns in product, they should be
designed in a way to transfer to the loom by a
medium. The method developed for that was
punching the pattern in cards. Based on those yarns
that should be raised, they punched some cards as a
means of harness controller whose punched data
became relevant to the actions that machine should
perform (which yarns should be raised and which
should remain unraised).Fig.3.1. Jac q ua rd loom
http://www.britannica.com/EBchecked/topic/299152/Joseph-Marie-Jacquardhttp://www.britannica.com/EBchecked/topic/299152/Joseph-Marie-Jacquardhttp://www.britannica.com/EBchecked/topic/483451/punched-cardhttp://www.britannica.com/EBchecked/topic/47371/Charles-Babbagehttp://www.britannica.com/EBchecked/topic/269383/Herman-Hollerithhttp://www.britannica.com/EBchecked/topic/269383/Herman-Hollerithhttp://www.britannica.com/EBchecked/topic/47371/Charles-Babbagehttp://www.britannica.com/EBchecked/topic/483451/punched-cardhttp://www.britannica.com/EBchecked/topic/299152/Joseph-Marie-Jacquardhttp://www.britannica.com/EBchecked/topic/299152/Joseph-Marie-Jacquard -
5/22/2018 Generative Algorithms CaE Weaving
21/57
21 3_Jacquard Weave
3_2_ Principles of Operation in a Jacquard Loom
Eac h hole in the c ard c or respond s to a "Bolus" hook, which c an ei ther be up or do wn. The ho ok ra ises or low ers the ha rness, which c ar ries
and gu ides thewa rp thread so that thewe f t w i ll e ither lie ab ove or below it . The seque nce of ra ised and lowered thread s is wha t c reates
the pa t te rn . Eac h hook ca n be co nnec ted v ia the ha rness to a numbe r o f th read s, a llow ing m ore than one repea t o f a p a t te rn. A loom
with a 400 hook hea d m ight have four threa ds conne cte d to e ac h hook, resul t ing in a fab r ic tha t is 1600wa rp e nds wide with four rep ea ts
of the w ea ve g oing a c ross. [12]
3_3_Jacquard Loom Project
While simple looms operate on an arbitrary fashion and weave a simple pattern, as experienced earlier,
J acquard looms operate on a single-end warp control method which needs a designed pattern to be
transferred into machine. Referring to the basic understanding of simple algorithmic loom machine and its
geometrical necessities, an algorithm for the J ac quard system needs following steps to operate on digital
space and weave desired digital textile:
3_3_1_First of all a Pattern needed for weaving. Pattern should be transferred into numerical data,
readable by the algorithm, and this numeric data should be retrieved to be used in geometry.
3_3_2_A generic form (like a NURBS surface as previous simple loom) should be considered as the final
state of the resultant geometry. This could be Target_Surfac e.
3_3_3_A system should be developed in order to plot the pattern onto the Target_Surface
(considering scale, repetition, )
3_3_4_Basic geometries for yarns of the textile should be generated based on the plotted pattern.
3_3_5_Finally the geometry of digital textile should be created.
3_3_1_Pattern of Weaving
As discussed, in earlier Jacquard looms, pattern provided by punch cards, assoc iated with harnesses that
controlled yarns to raise or remain unraised. There was a special process to make cards based on desired
patterns.
Fig .3 .2 . Punc h c ards on a ja c qua rd loom and exam p les of p at te rn pun ch c ards. [13]
http://en.wikipedia.org/wiki/Warp_(weaving)http://en.wikipedia.org/wiki/Wefthttp://en.wikipedia.org/wiki/Warp_(weaving)http://en.wikipedia.org/wiki/Warp_(weaving)http://en.wikipedia.org/wiki/Wefthttp://en.wikipedia.org/wiki/Warp_(weaving) -
5/22/2018 Generative Algorithms CaE Weaving
22/57
22 3_Jacquard Weave
The age of punch cards is over now. There are multiple ways to design a pattern for weaving textile in
digital formats. It could be designed manually on paper as a drawing and then transferred into digital data
or it could be generated digitally, with software packages from scratch. Moving into Grasshopper
algorithm, data, to represent pattern, can be provided in multiple formats as well.
Fig.3.3. Softw a re Pa c kag es for de signing p a tte rns for fa b rics.
-
5/22/2018 Generative Algorithms CaE Weaving
23/57
23 3_Jacquard Weave
Although using softwares to design a pattern is functional and interesting, these softwares are designed for
special loom machines and their output data managed to fit them. In a Grasshopper algorithm, possible
methods to generate a pattern can be as follows:
1-
Pattern Data as a stream of Booleans (True/False). Boolean values could associate with the warps, tellthem which one should be raised, which one not. (i.e. T, F, T, F, F, T, T, T, F, T, )
2- Pattern Data as Tables (i.e. Excel / Spread sheets). Values on the table (like 0/1) can be associatedwith warps to go up and down.
0 0 1 0
1 0 0 0
1 1 0 1
0 1 1 0
3- Pattern Data as Graphic reference (i.e. Bitmap images). These images can be used from externalresources like visual output of software packages or huge amount of graphica l references of patterns
available in books or on-line.
Fig 3.4. An Exam p le of g ra p hica l p a tte rns for we a ving p urposes.
4- Pattern Data can be set internally via available Grasshopper components which is more abstract andprobably numerical (includes series of numbers, random values, domains, ).
-
5/22/2018 Generative Algorithms CaE Weaving
24/57
24 3_Jacquard Weave
_Discussion and Selection of Method
Although it is possible to provide Pattern Data by codes from Spreadsheets or Boolean streams or
Numerical Data, but these sources of data are abstrac t and need data-preparation process which is tough
and sometimes non-sense. Using software packages is also not viable option for all users. These softwares
are not free and easy to use and their output is suitable for machines, not for any geometrical algorithmic
use. Looking at possible applications in Grasshopper and available resources in industry, it seems that usinggraphical references is a more viable method for algorithmic purposes.
Graphical resources are visual representations of desired patterns which make them more tangible. It is
easy to understand the pattern from graphics rather than code. It is even easier than code to provide such
data, using graphical softwares. Although it might not considered, it is really important that there are lots of
drawn patterns available in resources from printed ones up to on-line that enrich the catalogue of possible
options quite a lot.
Fig.3.5. Var ious pa tte rns p rov id ed d igi ta lly a s grap hics (Bitm a p ima ge s).
_Implementation of the selected method into Grasshopper.
Having as a c omponent in Grasshopper makes it easy to import images into canvas and
start to extract data from them. This useful component is the base material for pattern-data transformation
into algorithm in this experiment but certain considerations needed.
f ig .3 .6 . The com po nent c ou ld e x t rac t c o lor in form at ion from an
ima ge as numer ica l da ta .
The evaluates color data, restored in pixels of image file, based on point coordinates. This
means a list of points should be provided to virtually plot onto the image and extract data from those
specific positions of the image.
Most of available patterns as reference are grayscale images which represent pattern as a graphical table
with black and white cells. Bitmap images, in this sense, are grid based images in which each cell is
organized to represent a bit of data (each cell is comprised of multiple pixels of the image). So the basic
task in this first part of the algorithm is to extract desired data by providing exac t points that assoc iate with
each cell positions on the image. The best way to extract precise information from these cells is to plot
reference points onto the middle point of cells, otherwise errors would happen when reading data.
-
5/22/2018 Generative Algorithms CaE Weaving
25/57
25 3_Jacquard Weave
Fig.3.7. Whe n using it is imp ortan t to p lot p oints on to t he c en ter po ints of c el ls oth erwise
they wou ld g a the r wrong d a ta .
Fig.3.8. Whe n looking c loser to the sourc e ima g e, the re
are p ixe ls wi th m id -tone s which m ight prov id e w rong
d ata whe n the p o in t of eva luat ion p osit ions out of the
c ente r po in t of the c e l l.
-
5/22/2018 Generative Algorithms CaE Weaving
26/57
26 3_Jacquard Weave
_Generating Points for process.
In order to generate sampling points, a grid of points needed. The number of points in rows and columns
should be matched the number of cells inside the image. The easiest way to extract these information from
an image file is to find image size and each cell size and then divide image size by cell size to get the
number of cells in rows and columns. The image size is easy to read from the file and to find the cell size, it is
easy to C rop a cell in a graphic software and get the c ell size from that image (both sizes in pixel).
Fig.3.9. Im a g e size a nd Ce ll size a re set m a nua lly (X rep resent s wid th o f the im a ge a nd Y rep resen ts i ts
heigh t) . Div id ing ima ge size b y c el l size in x a nd y direc t ion gives the num b er of c el ls in ea c h d irec t ion.
Using a , F(X)=Fix(x) w ould resul t in integ ers b ec a use t he num b er of c el ls m ight b e a rea l numb er
wi th de c ima ls an d tha t hap pe ns whe n the source im ag e ha s som e c e l ls which a re no t the sam e a s othe rs
and th is situa t ion m ighe ac c ure b ec a use source ima ge s are g ene ra ted by d if fe rent te c hn iqu es like
sca nn ing and these sma ll fau l ts are p rob a b le . It is nee d ed to c hang e the c e l l size to rea l numb ers
som etim es, to solve this p rob lem .
Having basic ingredients, points should be generated now. As mentioned before, points should be in the
center of cells. This means that if the first point shifts half-size of the c ell in X and Y direc tion it will posit on thecenter of the first cell. Now if the distance between this first point and other points in the grid set by cell size
in both X and Y direction, all points would be in the center points of cells. The number of points in each
direction is equal to the number of cells in that direction, calculated in the previous step.
Although it would be easier to use a component based on the above description, it is not prec ise
enough. Here the best way is to set a domain and divide this domain to get points with more precision.
-
5/22/2018 Generative Algorithms CaE Weaving
27/57
27 3_Jacquard Weave
Fig.3.10. Half of the c el l size in X and Y d irec t ion used a s the sta rt va lue of the num eric d om a in (w hich
m ea ns shift ing th e fi rst p oint into the first c el l s m idp oint) . On th e o the r hand , Ima g e size m inus c el l s ha lf
size , b oth in X and Y direc t ion , is the upp er lim i t o f the num er ic d om ain . Div id ing these num er ic d om ain b y
c om po nent w ill prov ide num er ic a l va lues to g ene ra te po in ts. The c om po nents d iv ide d
by numb er of c e l ls ( in ea c h d irec t ion) m inus one (1) sinc e rang e p rod uc es N+1 va lues whe n d iv ide s a
d om ain in to N p ar ts.
Fig .3 .11. Both co m po nents are used to g ene ra te c oo rd inate s for sa mp ling po in ts to fee d co m po nent . Using a co m po nent for Y va lues of p o in ts, eac h row of d ata (po in ts wi th the
sam e Y va lue) wi ll sor t in one da ta branc h. So in essenc e, the resu ltan t p o in t gr id wo uld have da ta
branc hes a s muc h a s c e l ls in Y di rec t ion a nd in ea c h d ata branc h there a re p o in ts wi th the num be r of c e l ls
in X d irec t ion. Ana lyt ica ly this m ea ns tha t if any row o f ce lls a ssum ed a s a rep resent a t ive of a w eft, ea c h
we f t is sor ted in to one branc h of d ata t ree.
-
5/22/2018 Generative Algorithms CaE Weaving
28/57
28 3_Jacquard Weave
Fig .3 .12. Anothe r im po rtan t b it o f the im ag e sam pl ing . < Im ag e Sam pler> ha s a set t ing w ind ow in i ts c onte xt
po p -up m enu. The X a nd Y dom ain of the ima ge shou ld b e set to the ima ge size for th is expe rime nt , using
the b utto n p rovid ed here ( in mo st rec en t version s of G ra ssho p p er) . If this d om ain d oe s no t set, p oints m ight
be ou t o f d om a in w ith Nu ll ou tpu t a t the end .
Fig.3.13. Using G ra ysc a le im a g es a s the p a tte rn, here the Filter of th e set t o Va lue
because only Br ightness value needed for the rest of the algor i thm ( in this exper iment color is not
impor tant ) .
-
5/22/2018 Generative Algorithms CaE Weaving
29/57
29 3_Jacquard Weave
Fig.3.14. First pa rt of the a lgo ri thm w hich e xtra c ts d a ta from sou rc e ima g e a s p a tte rn of we a ving.
3_3_2_Target Space/Form of Weaving
After transformation of pattern of weaving into numerical data, it is possible to set a generic surface as the
final state of the weaving algorithm - target surface - and plot the pattern onto it. To have an analytical
insight into algorithm for this part, it should be mentioned here that like the first simple loom algorithm, the
process has three main steps: first, series of points should be generated in assoc iation with target surfac e as
basic generative geometries. The next step is to displace these points above and under the target surface
based on the pattern. Finally for each set of points a c urve should interpolate. These curves are axis curves
for further yarn productions.
To be able to do all these, some considerations needed:
1- The first and most important point is to know or assume the scale of target surface in relation to thescale of pattern. Projection of the pattern onto the target surface is possible with different scales:
A. Target Surface B. Pattern
Fig.3.15. A. Targe t surfa c e a s the input of the Algo rithm . B. Pa ttern for we a ving.
-
5/22/2018 Generative Algorithms CaE Weaving
30/57
30 3_Jacquard Weave
A:
B:
Fig.3.16. The fi rst p oint to w ea ve ta rge t surfac e b a sed on a p red efined p a ttern is to d ec id e a b out i ts size. It
shou ld b e c a lcu la te d som eho w o r the b et ter wa y is to set som e p aram ete rs that m ake i t po ssib le to c ontro l
the sca le w hic h wo uld e na b le the d esigne r to c hec k a nd c ha nge it v isua lly .
As it is clear in above diagrams, it is not always the case to project the pattern onto an entire surface and
pre-requisites for repetition of the pattern should be implemented in algorithm.
-
5/22/2018 Generative Algorithms CaE Weaving
31/57
31 3_Jacquard Weave
2- Another important point is to consider that the pattern in this algorithm is not like a mosaic whichcould be repeated as separate modules, like using Morphing technique. Yarns of the textile should be
one-piece geometries and since the method of yarn production in this algorithm is based on the
curve extrusion, these curves should be one-piece for each yarn as well. Thats why data (points) for
each weft or warp should be isolated in one data branch.
3- If the repetition of the pattern includes mirroring the pattern as well, it should be implemented into thealgorithm (but ignored in the current experiment).
3_3_3_Plotting Points onto Target Surface
Fig.3.17. For the sec on d p a rt of the a lg or ithm , a g ene ric NURBS surfac e introd uc ed to t he c a nva s a s the
b a sic ge om etry that sho uld b e w ove n as . Having te sted d if ferent tec hnique s for sub d iv id ing
this , Isot r im -- ha s b ee n selec te d inste a d of d ivid e surfa c e (it w ill disc uss w hy).
In o rd er to g et sub-surfa c es, the d om a in of the surfa c e d iv id ed first in its V d irec t ion. Tha t s wh y the U inputof the is set to . To d iv id e the V d irec t ion here, two fac tors a re imp ortan t. The
co m p on en t rec eive s d a ta from t he < C ell_No _Y_Fix> from p revious p a rt. This
item is arb i t ra ry for subd iv id ing surfac e a nd m ea ns if the p a t tern wa nted to repe at on ly onc e, the surfac e
shou ld b e d iv id ed at lea st w ith the am ount of p at te rn c e l ls in i ts Y di rec t ion . And if the d esigne r wante d to
c ontro l the a mo unt o f rep et i t ion (Sc a le o f pa t tern on the ) then it shou ld b e m ult ip l ied by a
g iven integ er from .
Fig.3.18. Sub d iv id ing t he into sub -surfa c es 1.p a tte rn wi ll rep ea t o nc e, 2. Patte rn wi ll rep ea t
tw ice a nd 3. Pa ttern wi ll rep ea t three times.
-
5/22/2018 Generative Algorithms CaE Weaving
32/57
32 3_Jacquard Weave
Fig.3.19. In the sec on d step , previously sub d iv id ed surfa c es are a g a in div id ed b ut this t im e in the ir U
d irec t ion . So the sam e c onc ep t ha s be en used bu t th is t ime the i r d om ain d iv id ed -using -
b y V=1 an d U= * whic h d efines ho w m a ny time p a tte rn sho uld rep ea t in U d irec t ion.
Loo k ing at c om po nent here show s why th is proc ess of sub-d iv id ing hap p ene d in tw o step s. The
sec ond com po nent a nd i ts resu ltan t proves that d ata ha s be en b ra nc hed as
mu c h as d iv ision fa c tor for V d irec t ion , and ea c h d ata branc h, co nta ins as m uc h va lues as d iv ision fa c tor
in U d irec tion.
Fig.3.20. Surfac e sub d ivision in b ot h X and Y (U a nd V) d irec tion s.
-
5/22/2018 Generative Algorithms CaE Weaving
33/57
33 3_Jacquard Weave
Now all subdivided surfaces are available in both U and V (X and Y) directions, it is time to extract points
from them. Considering each subdivided surface as a cell which can associate with the pattern cells, the
best point to extract from these surfac es is their mid-point.
Fig .3 .21. The m id po in t of sub -surfac es a re c a lcu la te d by a n c om po nent w hic h g ives the a rea -
c ent roid of surfa c es a s we l l. These p oints the n d a g a in on sub -surfa c es using a nd
in order to h ave ac c ess to bo th Po in ts and a lso Norma ls o f surfac es at the sam e
time.
Fig.3.22. At the end of this p ha se, a ll p oints sho uld b e d , using No rm a l vec to rs of e a c h p oint. But
the d irec t ion o f move me n t and the a mo un t o f mo veme n t has to b e se t , using d a ta co llec ted in p rev ious
step from pa t tern ima ge . As it is show n b y a vec tor c om po nent , a ll Norma l vec tors now ha ve
sam e d irec t ion w hic h do es not c rea te a ny co rruga t ion . Here using a vec tor wo uld d ef ine
vec tor leng th a nd its d irec t ion (po sit ive o r nega t ive) for th is d isp lac em ent . Values for am pl itude are w hat
pa t tern shou ld p ass to the rest of the a lgo rithm and wa it ing to be set no w.
-
5/22/2018 Generative Algorithms CaE Weaving
34/57
34 3_Jacquard Weave
Fig.3.23. Surfac e Sub d ivision p ha se o f the a lgo rithm so fa r.
_Why using sub-surfaces instead of divide surface
Using divide surface in this algorithm would result in points on surfaces that start from one edge and end at
the opposite one. This means that when pattern repeats, at eac h border from one complete pattern to the
next one, last point of the first pattern and first point of the second pattern would overlap (because their
surface edges are seamless and connected). But each cell of the pattern should have its own associate
point on the surface and this overlapping would damage the pattern. So it is better to use the concept of
surface subdivision and area-centroid instead of dividing the surface.
3_3_4_Weaving Target surface by Pattern
The in the first phase of algorithm extrac ted data from pattern image and converted it
into numerical values based on the brightness of the image cells. These values which are associated with
black and white cells of the pattern are aimed to tell the algorithm that in which part, yarns should go
above and where they should go under the filling yarns (or geometrically above and under the target_srf).
Since in the second part of the algorithm, series of points and associate vectors generated to represent
basic geometries of yarns, now the data of the first phase of the algorithm should tell the vectors of the
second phase that which one should go above and which one under the filling yarns (which is believed
that lied on the target surface).
All together this means da ta coming from the should become the vector amplitude for
the movement of points on target surface. To handle this, some data management and sorting needed
which is better to discuss inside the experiment.
-
5/22/2018 Generative Algorithms CaE Weaving
35/57
35 3_Jacquard Weave
Fig .3 .24. Let s ha ve a loo k ba ck a t the outp ut of the . The se lec ted green show s
tha t the out p ut is c om p rised of single rea l num b ers. But looking a g a in, it is no tice a b le tha t the l ist m a inly
c om p rised of 0 a nd 1 va lue s a nd oth ers a re v ery c lose to them (i.e. 0.02, 0.004 or 0.996, 0.988 a nd so on ).
Th is ha pp ene d be c a use o f the b righ tn ess a nd c ontrast of the ima ge which in som e p ixe ls is not e xac t ly
b la c k (RGB: 0,0,0) or wh ite (RGB:255,255,255). Since for the p urpose o f this a lgor ithm it do es not c ha ng e the
pa t tern and the a lgo rithm only wa nted b lac k or whi te c e l ls, a t f i rst step it shou ld b e f ixed and va lues shou ld
be co nve rted in to 0 and 1 on ly .
Fig.3.25. Using a c om p on ent b y F(X)=Round(X), al l va lue s a re Round ed into the ir nea rest
d ec im al va lues which a re 0 a nd 1. Now the l ist c om pr ised of o n ly 0 and 1 va lues.
-
5/22/2018 Generative Algorithms CaE Weaving
36/57
36 3_Jacquard Weave
All Evaluated values from are going to be used as vec tor amplitudes. These vec tors
should push yarns above or under the filling yarns which means they should be vectors with positive (+) or
negative (-) direc tions to tell yarns to move to which side. Each vector in this definition should have positive
or negative magnitude, but all with the same size. This means that if the magnitude of vectors is decided to
be 2.345 then for each point, based on the pattern, if wanted to go above filling yarn, it should be +2.345
and if wanted to go under the filling yarn, it should be -2.345. The Absolute magnitude of vectors can be
set manually and controllable, but the d irection of vector (either positive or negative) should be extrac tedfrom the numerical values of source image.
Fig .3 .26. In e ssenc e, num er ic a l va lues from a re go ing to de f ine which vec tor shou ld have
po sit ive m ag nitud e, and which o ne ne ga t ive . The l ist o f num er ica l va lues c om pr ised of 0 and 1, but the
a lg or ithm nee d s -1 and +1 to d efine ve c to rs d irec t ion. This m ea ns in the sou rc e l ist , al l +1 values c a n
rem ain unc ha nge d and a ll 0 va lues shou ld c onve rt in to -1 . To d o th is, a simp le m athe ma t ica l op era t ion ,
using a func t ion d ef ined as: F(x)=(X+X)-1 a p p lied t o th e d a ta list . Using this func t ion, the resul ted list of d a ta
is wha t that d ef ines the d irec t ion of ea c h vec tor based on the p at te rn .
X=1 > F(X)=(1+ 1)-1= +1
X=0 > F(X)=(0+ 0)-1= -1
Fig.3.27. Final ly , using a co m p one nt a nd a , the l ist o f vec tor am p l itud es is now rea d y to
ap p ly on p o in ts.
-
5/22/2018 Generative Algorithms CaE Weaving
37/57
37 3_Jacquard Weave
Fig.3.28. G ene ra t ion of ve c to r am p li tude s a s the resul t of im a g e sam p ling p roc ess.
_Matching Data Lists
The number of values that the generated so far is as much as cells that pattern has. But
as implemented inside the algorithm, plotting the pattern onto Target_Surface has a pattern repetition
factor. So while the pattern repeated and resulted in more points and vectors than original pattern cells,
the list of vector amplitudes also needed to repeat as well, to match the vectors list.
Lets preview the situation in Figure.3.29 again to have an insight into the rest of the algorithm analytically.
Selec ted s in all three figures are our target to compare.
1- In the first figure, while both slider values are set to 1, the shows 16 paths of data(equal to the value from ) and 17 values in each branch of data (equal to
the value from ).
2- In the second figure, the slider set to 2 and doubled the pattern in Y direction. As aresult, the number of data paths doubled, but the amount of values in each path remained the same.
3- In the third image, opposite the previous step, the slider set to 2 and doubled thepattern in X direction. As a result, in this time the number of data paths remained unchanged, but the
amount of values in each path doubled.
-
5/22/2018 Generative Algorithms CaE Weaving
38/57
38 3_Jacquard Weave
Fig.3.29_1.2.3. co m p a rison of d a ta structures in d if ferent rep eti t ion fac to rs.
-
5/22/2018 Generative Algorithms CaE Weaving
39/57
39 3_Jacquard Weave
Comparing all these data structures in order to match vec tors amplitude list, lets summarize everything: by
repeating pattern in X direction, the values for vectors amplitude should be duplicated inside each
branch while repeating pattern in Y direction needs data to be repeated entirely by its branches or lets
say data paths should be copied this time and values inside each branch will remain unchanged. To
ac hieve this concept, some data management components should implement into the algorithm.
Fig.3.30. Two sliders tha t d efine the rep eti t ion fac tors of the p a tte rn a re imp ortan t va lues in this p a rt o f the
a lgo rithm . Bo th a re c onnec ted to co mp onen ts to a f fec t the num be r o f d a ta dup lica t ion .
Fig .3 .31. In the f irst step , da ta f rom the last p hase (am pl itud e of ve c tors) is d up l ic a te d b y the am ount of
. As it is sho wn in , the num b er of d a ta p a ths rem a ins the sam e
but the numb er of va lues in ea c h branc h cha nge d . Th is m ea ns eve ry t ime , whe n de signe r c ha nge s the
num be r of p at te rn rep et i t ion fa c tor in X di rec t ion , the num be r of va lues as vec to rs a mp litude wo uld a lso
chang e i nside eac h da ta p a th .
-
5/22/2018 Generative Algorithms CaE Weaving
40/57
40 3_Jacquard Weave
Fig.3.32. In this sec on d p a rt, d at a l ist shou ld instea d o f b ec a use d a ta b ra nc hes
wa nted to b e c op ied . A bi t c om plex pa rt of the a lgo rithm is prep ara t ion of the (L) por t of the . L is
the length o f f ina l pa t tern so i t shou ld b e the am ount o f va lues in ea c h branc h. That s why the of
the p rev ious c om po nent used . But th is va lue shou ld b e d up lic a te d by i tse l f as mu c h a s
branc hes we nee d in the f ina l da ta l ist in order to c op y da ta p aths. So a s a resu lt co mp one nt
rep ea ts a ll branc he s of d a ta with a ll of their va lues (twic e in this exam p le) . As it is sho w n in the th ird now d ata pa ths are m ult ip l ied by th e va lue c om es from .
Basically with the first part, data duplicated inside each branch, but in second part, data paths repeated
with entire values in each path and branches of data tree increased.
Although if one looks at the final would say that data duplicated as much as points and
vectors and ok! Finished, there is still one big problem. To realize the situation lets move all points with
prepared vectors amplitude list and check the result by interpolating displaced points.
Fig .3 .33. As show n in the a bo ve f igure , a l thoug h rep et i t ion ha pp ene d ( fa c tor=2), but it ha pp ene d for eac h
ya rn right a fter itsel f (in Y d irec t ion) , not for the w ho le p a tte rn, so e a c h yarn rep ea ted ( in this exam p le
onc e) a nd the resu lt ha s a pa t tern of d oub le ya rns. It is c lea r tha t in the resu lta n t g eo me try , as wha t
expe c ted , the w hole pa t tern shou ld b e repe ate d no t ea ch ya rn sep ara te ly af ter itse l f.
-
5/22/2018 Generative Algorithms CaE Weaving
41/57
41 3_Jacquard Weave
Talking with a simplified language of code, if the original data list has a structure for its rows like A,B,C,D,
while the desired duplication of this pattern should be A,B,C,D,A,B,C,D but the outcome has a structure like
A,A,B,B,C,C,D,D.
This problem should be solved in order to get the complete repeated pattern otherwise the algorithm
performs single line repetition instead of pattern repetition. Conceptually there are different methods to
solve this problem, but the way that has been chosen works by rearranging the data trees structure. Letshave an analytical look at the situation:
Isolating data tree by only four branches as an example, the would show data paths like
this:
{0;0;0;0;0;0}
{0;0;0;0;0;1}
{0;0;1;0;0;0}
{0;0;1;0;0;1}
But as described before, the desired data paths should be:
{0;0;0;0;0;0}
{0;0;1;0;0;0}
{0;0;0;0;0;1}
{0;0;1;0;0;1}
So if the branch paths sorted like the above fashion, then textile would be woven as repetition of entire
pattern instead of line by line. This means all data paths whose address ends up at same numbers represent
one c omplete pattern.
Here the desired list of data paths should be generated and then the whole data list recalled by these new
paths so the result would be the list of values with the planed order. To do this, data paths should be
generated as follows:
Fig.3.34. As sho wn in the a b ove d iag ra m , be side c on sta nt b i ts of d a ta p a ths, two d ifferent l ists of num b ers
shou ld be ge ne ra ted :
1- The first list is a n ite rative list o f m a in b ranc hp a ths. The nu m b er of values is eq ua l to the
pa t tern s c e l l num be r in Y di rec t ion a nd the
num be r of ite ra t ion (Dup lica t ion) is eq ua l to the
num be r of pa t tern rep et i t ion in Y di rec t ion .2- The sec o nd list is a rep et itive list o f sm a ll
b ra nc hes (la st i tem s). Here in c on trast w ith the
first list, the va lues (0,1,) are c om ing from the
number of repet i t ion of pat tern , and the i r
du p l ic a t ion num be r is eq ua l to the num be r of
p a tte rn s c el ls in Y direc t ion.
-
5/22/2018 Generative Algorithms CaE Weaving
42/57
42 3_Jacquard Weave
Although the algorithm is not something special but the concept needs a little bit of thinking and
concentration. Following next steps would clarify the whole situation.
Fig.3.35. In the first step , three co m p on ent s d efined to a void d istrac t ion in c an va s. They a ll
a t ta c h to the va lues c om ing from the sec ond pha se of the a lgo rithm, o r Target_Surfac e Subd iv ision . Pay
at te nt ion to the na m es. They a re rep ea ted in the rest of the a lgo rithm so m an y t im es.
Fig.3.36. Five d if ferent p a rts of D a ta p a ths sho uld b e g ene ra ted . The first o ne is a str ing wh ich is {0;0; . This
item d a nd the num be r of d up l ic a t ion is set b y target surfac e c e l ls num be r in Y d irec t ion ( the
w ho le list len g th).
Fig.3.37. The sec on d p a rt of t he str ing : a of num b ers ge ne ra ted with the lengt h o f pa ttern s c el ls in
Y d irec tion. This list o f num b ers c on ve rted to s (0.0, 1.0, > 0, 1, ) and the n into s a nd
then d up l ic a te d . The nu mb er of d up l ic a t ion is eq ua l to the pa t tern rep et i t ion in Y di rec t ion .
-
5/22/2018 Generative Algorithms CaE Weaving
43/57
43 3_Jacquard Weave
Fig.3.38. The third b it: a o f ;0;0; is d up lica ted l ike the first b it . The num b er of d up l ic a t ion is eq ua l to
the num b er of ta rge t surfa c e c el ls in Y d irec t ion (the w hole l ist leng th) .
Fig.3.39. The fourth b it of string: here a not he r of num b ers g en erate d w ith the len g th o f p a tte rn
rep eti t ion in Y direc t ion. This list c on verted into s a nd the n s a nd the n d . the
num be r of d up lic a t ion is eq ua l to the num be r of pa t tern s c e l ls in Y direc t ion . Not ice tha t the Booleanswitc h fo r reta ining the orde r is set to Fa lse .
Fig.3.40. Final b it, a o f o nly } a ga in d up l ic a te d b y the num be r of ta rge t surfac e c e l ls in Y d irec t ion
( the w hole list leng th) .
-
5/22/2018 Generative Algorithms CaE Weaving
44/57
44 3_Jacquard Weave
Fig.3.41. Loo king b a c k at w ha t ha s b ee n d on e so fa r, al l f if th pa rts of the str ing m erge d t og eth er, using a
func t ion w ith Va ria b le Expression . The func t ion set to F(a,b ,c ,d ,x ) = a & b & c & d & x
This func tion w ith &be tw ee n str ing v a ria b les a d d s d if ferent p a rts of the string tog eth er.
Fig.3.42. Loo king a t resul t , ser ies of d a ta p a ths ha s b ee n g en erate d with p la ned orde r a s d isc ussed b efo re.
-
5/22/2018 Generative Algorithms CaE Weaving
45/57
45 3_Jacquard Weave
Fig.3.43. Now it is t ime to c hec k these d a ta p a ths. First of a ll, a c om p on ent used to e xtra c t
da ta b y p rede f ined da ta p a ths. Th is co mp onen t fed by d a ta tha t ha s be en p rov ide d in the th ird pha se o f
the a lgo rithm by ing a l l am pl itud e va lues.
Fig.3.44. Final ly the s P p ort, fed b y g ene ra ted d a ta p a ths. Let s c he c k the resul t in g eo m etry.
-
5/22/2018 Generative Algorithms CaE Weaving
46/57
46 3_Jacquard Weave
Fig .3 .45. Red ist ribu te d/ Resor ted d ata has bee n used as vec to r am pl itud es and then p o in ts d an d
ag a in < in terpo la te>d c urves are g ene ra te d to c hec k the resu lt . A lthoug h the p at te rn is not reco gn izab le in
the a bo ve f igure b ut it is pre t ty muc h c lea r that sing le l ines d id n ot repe a t th is t ime and the w hole p at te rn
dup lica ted f rom the red p o int .
3_3_5_Yarn Geometry Generation
The last phase of the algorithm is to generate yarn geometries. In this experiment, again geometries
has been chosen but other type of extrusion along curves are possible methods. Another point is that to
make the rest of the algorithm simple, filling yarns designed simple, without corrugation.
Fig.3.46. Interpolated curves used to generate geometr ies by control lable radius as
.
-
5/22/2018 Generative Algorithms CaE Weaving
47/57
47 3_Jacquard Weave
Fig.3.47. As exp lained in the first Loo m a lg or ithm , here to ge ne ra te f i lling ya rns a UV_Swa p ed surfa c e a ga in
in t rod uc ed to c anva s. To d o th is, in Rhino the se c om ma nd s shou ld b e a pp lied to the target surfac e:
Se lec t th e surfac e a nd then:
C op y (Ente r) / i (Ente r) / Dir (Ente r) / s (Ente r) / (Ente r)
Assign the sec o nd surfac e to t he
Fig.3.48. Values of m a in surfa c e sub d iv ision a g a in assigne d t o tw o c om p on ent s to sub d iv ide th e
sec on d surfa c e a s we l l.
-
5/22/2018 Generative Algorithms CaE Weaving
48/57
48 3_Jacquard Weave
Fig.3.49. Sec ond surfa c e sub d iv ision (this p a rt o f the a lgor ithm is a lm ost the sam e a s sec ond p ha se w he n
the sub d iv ide d , instea d he re for f illing ya rns in a reve rse fashion first U d irec t ion sub d iv ide d a nd
the n V d irec t ion) : d om a in is d iv ide d b y a using
a s Up ort f irst , and the surfac e sub d iv id ed b y these do m a ins. Using
c om po nent , a l l o f them sor ted in to sep ara te d ata pa ths. These ed surfac e d om ains ag a in d iv id ed
b ut this time b y a s V po rt of and ag a in surfac es are
subd iv id ed . The Area-Cent ro id of a ll these surfac es c a lcu la te d using c om po nent .
Fig.3.50. The a rea -ce ntroids a re e d a nd resul tant c urves used to g ene rate g eo m etr ies
a s fi ll ing ya rns o f the d igita l te xtile, ag a in with c on trolla b le ra d ius a s (Ya rn thickne ss c ou ld
b e set t he sam e a s oth er yarns) .
Fig.3.51. Fill ing -yarn a lgo rithm p a rt.
-
5/22/2018 Generative Algorithms CaE Weaving
49/57
49 3_Jacquard Weave
_Overall View
Now looking back again at different phases of the algorithm, there were five different steps:
1. Pattern-Data Extraction2. Target Surface Subdivision3. Applying Pattern onto the Target Surface4. Axis-Curve Generation5. Yarn Geometry Generation
Fig.3.52. O veral l v iew o f Ja c q ua rd Loom Algo rithm .
-
5/22/2018 Generative Algorithms CaE Weaving
50/57
50 3_Jacquard Weave
Fig.3.53. Pha se o ne : Pa tte rn-Da ta Extra c tion
Fig.3.54. Pha se tw o : Ta rge t Surfac e Sub d ivision
Fig.3.55. Pha se three / 1: Ap p ly ing Pa ttern to Ta rg et_Surfac e / Da ta prep a rat ion
-
5/22/2018 Generative Algorithms CaE Weaving
51/57
51 3_Jacquard Weave
Fig.3.56. Pha se three / 2: Ap p ly ing Pa tte rn to Ta rg et_Surfac e / Da ta p rep a ra t ion
Fig.3.57. Pha se fo ur: Ba sic C on struc ts _ Axis C urve G en era tion
-
5/22/2018 Generative Algorithms CaE Weaving
52/57
52 3_Jacquard Weave
Fig.3.58. Pha se five : Ya rn Ge ne ration + Fill ing ya rns g en era tion
-
5/22/2018 Generative Algorithms CaE Weaving
53/57
53 3_Jacquard Weave
Fig.3.59. Final p rod uc t ion of o ne p ossible pa ttern in Jac q ua rd Loo m A lg or ithm
Notice:
Yarn intersection problem: looking closer at final product of the algorithm, there are some warps and wefts
which intersect each other. To avoid this intersection two solutions are available: first of all it is possible to
change the and to control the situation. It should result in more
slender yarns and increased space between them. It is also possible to control the situation by changing
the repetition factor in relation to the target_surface scale to increase the distance between yarns. Secondsolution is to design filling yarns as corrugated yarns like the first loom algorithm.
-
5/22/2018 Generative Algorithms CaE Weaving
54/57
54 4_Conclusion
4_Conclusion
The approach of Generative Algorithms, Concepts and Experiments is not to search for any architectural
or even generally design application. The term Generative here emphasizes on the target of thesestudies; algorithms and concepts are aimed to be generative in a way to implement into larger design
projects, to be used as logic for further development of idea, method or tool in order to pursue a real, more
specific project. So the final product of such approach would be, and actually was, a prototype, a system
which is capable of further development in order to promote for different performances; A system that can
be adaptable for future design applications. An Algorithmic Solution.
The benefit of such system development is to bring new concepts into design field and broaden the
catalogue of available logics and tools. Contemporary architecture enriches itself by focus on small scale
systems which have the potential to proliferate in larger spans. Looking at biological systems, finding the
mathematical logic of cellular solids, discovering the potentials of natural patterns, or other data extraction
from natural or artificial systems are becoming fundamental processes for architects in their design
practice.
Generative Algorithms, Concepts and Experiments is aimed to look for such concepts and search for
design systems and tools. Techniques and methods of this search which is undergoing by all current
designers are believed to make systemic change in future architecture.
-
5/22/2018 Generative Algorithms CaE Weaving
55/57
55
_Notes
1. Patrick Shoumacker: Paraemtricism as a style, Parametricist Manifesto, http://www.patrikschumacher.com/,
2008
2. Michael Hensel, Achim Menges: Morpho-Ecologies, Architectural Association, 2008
3. As an emergent property: the result is more than the sum of individuals.
4. Susan Wylly: The Art and History of Weaving, Georgia College & State University, 2001
5. http:// www.merriam-webster.com/dictionary/ loom
6. Info from Britannica, the digital encyclopedia
7. Virginia Tec h University; The Digital Textile Research Group
8. http://www.1911encyclopedia.org/Yarn
9. http://www.britannica.com/
10. http://textileglossary.com/
11. http://www.britannica.com/EBchecked/ topic/299155/J acquard-loom
12. http://en.wikipedia.org/wiki/J ac quard
13. Image source: http:/ /en.wikipedia.org/
_General References:
Helmut Pottman, Andreas Asperl, Michael Hofer, Axel Kilian: Architectural Geometry, Bently Institute Press,
2007.
Mark De Berg, Marc Van Kreveld, Mark Overmars: Computational Geometry, Springer, 2000.
Zubin M Khabazi: Generative Algorithms (Using Grasshopper), On-line publication by
www.Grasshopper3d.com,2010.
http://www.grasshopper3d.com/http://www.grasshopper3d.com/ -
5/22/2018 Generative Algorithms CaE Weaving
56/57
56_Notes
Generative A lgorithms (Using Grasshopper) / Zubin Khabazi
Previously published on-line bywww.Grasshopper3d.com, Generative Algorithms as a mixed tutorial on
geometry and grasshopper was the first of these design experiments series which focused on basic topics.
These topics gathered together various fields of Generative Algorithms and Parametric Geometries
include:
1. Generative Algorithms
2. The Very Beginning
3. Data sets and Math
4. Transformations
5. Parametric Space
6. Deformations and Morphing7. NURBS Surfaces and Meshes
8. Fabrication
9. Design Strategy
The book comprised of design experiments in order to examine subjects and concepts in a prac tical way
and would be useful for beginners.
http://www.grasshopper3d.com/http://www.grasshopper3d.com/http://www.grasshopper3d.com/http://www.grasshopper3d.com/ -
5/22/2018 Generative Algorithms CaE Weaving
57/57
Generative Algorithms
Concepts and Experiments
1 _ Weaving
By
Zubin Khabazi
www.MORPHOGENESISM.com
zubin.khabazi@googlemail.com
http://www.morphogenesism.com/mailto:zubin.khabazi@googlemail.commailto:zubin.khabazi@googlemail.commailto:zubin.khabazi@googlemail.comhttp://www.morphogenesism.com/
top related