generative algorithms cae weaving

Upload: macarena-carreno

Post on 13-Oct-2015

32 views

Category:

Documents


1 download

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

    [email protected]

    http://www.morphogenesism.com/mailto:[email protected]:[email protected]://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

    [email protected]

    http://www.morphogenesism.com/mailto:[email protected]:[email protected]:[email protected]://www.morphogenesism.com/