You are on page 1of 171

GENERATIVE ALGORITHMS

GENERATIVE ALGORITHMS
using GRASSHOPPER (bn ting Vit)

ZUBIN KHABAZI
1

GENERATIVE ALGORITHMS

GENERATIVE ALGORITHMS
using GRASSHOPPER (bn ting Vit )

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

www.MORPHOGENESISM.com zubin.khabazi@googlemail.com

GENERATIVE ALGORITHMS

Contents Introduction ... Acknowledgements ... Li ca nhm dch ... 5 5 6

Chapter_1_Generative Algorithms ... ........................................................................................................................ 7 1_1_ Generative Algorithms ... .............................................................................................................................. 8 Chapter_2_The very Beginning ................................................................................................................................. 11 2_1_Method ... ....................................................................................................................................................... 12 2_2_Basics of Grasshopper ... ................................................................................................................................ 12 2_2_1_Interface, Workplace ... ......................................................................................................................... 12 2_2_2_Components ... ...................................................................................................................................... 13 2_2_3_Data matching ....................................................................................................................................... 21 2_2_4_Components Help (Context pop-up menu)... ...................................................................................... 23 2_2_5_Type-In Component Search / Add ........................................................................................................ 23 Chapter_3_Data Sets and Math ................................................................................................................................ 24 3_1_Numerical Data Sets ...................................................................................................................................... 25 3_2_On Points and Point Grids ... .......................................................................................................................... 27 3_3_Other Numerical Sets ... ................................................................................................................................. 29 3_4_Functions ... .................................................................................................................................................... 30 3_5_Boolean Data types ... .................................................................................................................................... 34 3_6_Cull Lists ... ...................................................................................................................................................... 35 3_7_ Data Lists ... ................................................................................................................................................... 37 3_8_On Planar Geometrical Patterns ................................................................................................................... 41 Chapter_4_Transformations ... .................................................................................................................................. 52 4_1_Vectors and Planes ........................................................................................................................................ 54 4_2_On Curves and Linear Geometries ................................................................................................................ 55 4_3_Combined Experiment: Swiss Re ... ............................................................................................................... 61 4_4_On Attractors ................................................................................................................................................. 70

GENERATIVE ALGORITHMS

Chapter_ 5_Parametric Space ... ............................................................................................................................... 81 5_1_One Dimensional (1D) Parametric Space ... .................................................................................................. 82 5_2_Two Dimensional (2D) Parametric Space ... .................................................................................................. 83 5_3_Transition between spaces ... ........................................................................................................................ 85 5_4_Basic Parametric Components ... .................................................................................................................. 86 5_4_1_Curve Evaluation ... ................................................................................................................................ 86 5_4_2_Surface Evaluation ... ............................................................................................................................. 87 5_4_3_Curve and Surface Closest Point ... ....................................................................................................... 89 5_5_On Object Proliferation in Parametric Space ... ............................................................................................ 89 5_6_On Data Trees ................................................................................................................................................ 98 Chapter_6_ Deformations and Morphing ... ............................................................................................................. 107 6_1_Deformations and Morphing ... ..................................................................................................................... 108 6_2_On Panelization ... .......................................................................................................................................... 111 6_3_Micro Level Manipulations ... ........................................................................................................................ 114 6_4_On Responsive Modulation ... ....................................................................................................................... 117 Chapter 7_NURBS Surfaces and Meshes ... ............................................................................................................... 123 7_1_Parametric NURBS Surfaces .......................................................................................................................... 124 7_2_Geometry and Topology ... ............................................................................................................................ 132 Chapter_8_Fabrication .............................................................................................................................................. 134 8_1_Datasheets ..................................................................................................................................................... 136 8_2_Laser Cutting and Cutting based Manufacturing ... ...................................................................................... 149 Chapter_9_Design Strategy ... ................................................................................................................................... 166

Bibliography ...

170

GENERATIVE ALGORITHMS

Introduction Have you ever played with LEGO Mindstorms NXT robotic set? Associative modelling is something like that! While it seems that everything tends to be Algorithmic and Parametric why notarchitecture? During my Emergent Technologies and Design (EmTech) master course at the Architectural Association (AA), I decided to share my experience in realm of Generative Algorithms and Parametric-Associative Modelling with Grasshopper as I found it a powerful platform for design in this way. In this second edition, as I changed the name Algorithmic Modelling to Generative Algorithms, I tried to update some of the experiments and subjects due to the changes happening to the work-in-progress project of Grasshopper. I hope this tutorial helps you to understand Generative Algorithms and delicate Grasshopper as well. I would try to keep updating whenever needed but consider that most of experiments and examples were established by previous versions of plug-in, so if you faced some differences it might be because of that. Although I still believe that the book needs editorial review, since this is a non-profit, noncommercial product, please forgive me about that. I am very pleased that since publishing this book, I have found great friends worldwide, so feel free to contact me for any queries and technical issues. Enjoy and Good luck!

Acknowledgements First of all I would like to thank Bob McNeel for his support in Grasshopper3D and David Rutten for his inspiration and support as well. I also like to thank AA/EmTech directors and tutors Mike Weinstock, Michael Hensel and also Achim Menges who established my parametric and computational concepts. Many thanks to Stylianos Dritsas (AA/KPF) and Dr.Toni Kotnik (AA/ETH) for their computation, scripting and advance geometry courses. I am extremely grateful to the students, architects and designers who contacted me and shared their knowledge and let me know short comes and errors of the work.

Zubin M Khabazi March 2010

GENERATIVE ALGORITHMS

Li ca nhm dch : Grasshopper l mt plugin ca phn mm Rhino3d c gii thit k trn ton th gii s dng mt cch rng ri. Tuy nhin Vit Nam, Grasshopper ch mi c s dng trong cc n ca s t sinh vin. y l mt cng c mnh m cho tt c cc i tng l ngi thit k ang tm hiu v thit k da trn thut ton ton hc. Khng ging nh rhinoscript (visual basic) chng ta khng cn bit v ngn ng lp trnh cng c th thc hin c cc thit k. Tuy nhin ti liu v plugin ny hu ht l ting Anh;phn no hn ch s tip cn ca chng ta i vi cng c hu ch ny. iu thi thc chng ti chuyn ng cun sch ny sang ting Vit vi mong mun pht trin cng ng s dng Grasshopper Vit Nam. Chng ti chn thnh cm n Zubin M Khabazi tc gi ca cun GENERATIVE ALGORITHMS-using GRASSHOPPER v nhng kin thc m ng chia s trong cun sch. V c bit cm n cc bn sinh vin trng i hc Kin Trc TP.HCM c tn di y nhit tnh tham gia thc hin chuyn ng cun sch ny.
Nhm dch: u S Ngha - nghia2462000@gmail.com Nguyn Nht Anh - anhnguyenkts@yahoo.com Trn Ngc Hong Tho - tnhthao07@gmail.com on Th Phng - nineplus198@gmail.com Nguyn Th Phng Dung - matditchai104@yahoo.com V Duy Kim - duykim516@yahoo.com Nguyn Phc Nguyn - bosua000@yahoo.com L Minh Hong - lmh2502@gmail.com ng Vit Ngc Bo - dongvietngocbao@gmail.com Th Vnh Khuyn - arconstant@gmail.com Phm Tn t - datphamk08a1@gmail.com Nhm chnh sa: L Thanh Hong Phc - ekius37@gmail.com Nguyn Trng Thy - boosjaf@gmail.com ng Vit Ngc Bo - dongvietngocbao@gmail.com Mi kin ng gp b xung xin cc bn gi v a ch: grasshopper3dvn@googlegroups.com

Trn trng cm n v chc cc bn thnh cng!


6

GENERATIVE ALGORITHMS

CHNG_1_Algorithmic Modelling

GENERATIVE ALGORITHMS

1_1_Algorithmic Modelling

Nu ta xem kin trc nh l mt i tng i din trong khng gian, ta phi lun lun x l hnh hc v s dng mt phn ca ton hc hiu v thit k i tng ny. Trong Lch s kin trc,nhiu phong cch kin trc khc nhau trnh by nhiu loi hnh hc v logic r rng trong tng thi k tm ra cch gii quyt cc vn hnh hc. K t khi bt u s dng my tnh n gip cc kin trc s, m phng khng gian v hnh hc cu m, n tr thnh mt cng c khng th thiu trong qu trnh thit k. Tnh ton hnh hc tr thnh mt ch th v nghin cu v kt hp cc thut ton lp trnh vi hnh hc mang li nhng thut ton hnh hc c gi l thut ton c th san sinh.Mc d cc phn mm 3D m phng gn nh bt k khng gian no, l khi nim thut ton c th sinh san mang li cc kh nng hin ti ca thit k, nh 'parametricdesign' trong lnh vc kin trc.

Kin trc s s dng cc ng cong v b mt thit k v kho st cc khng gian vt ra ngoi nhng hn ch ca hnh hc thng thng - "khng gian clt". N l s kt hp ca kin trc v k thut s mang cc du n c bit v a n i xa hn. Mc d s tin b ca tnh ton l cc k nhanh,song kin trc v vn c gng theo kp s pht trin .

Thit k kin trc nh hng bi tim nng ca thut ton hnh hc, tnh ton vi h thng phn cp nhiu v mc phc tp cao. Thit k v m hnh ha b mt v ng cong dng t do nh xy dng cc yu t c lin quan vi cc component khc nhau v c nhiu ha tit khng phi l mt cng vic d dng lm vi cc phng php truyn thng. y l sc mnh ca cc thut ton v y cc gii hn thit k ngy cng i xa hn. R rng rng ngay c suy ngh v mt hnh hc phc tp, chng ta cn cc cng c thch hp, c bit l cc phn mm, c kh nng m phng nhng hnh hc v kim sot ti sn ca mnh. Kt qu l, kin trc s cm thy quan tm ti vic s dng cc thut ton di truyn to ra thit k thut ton v i xa hn cc pallet hin ti ca cc hnh thc c sn v khng gian. Chn tri l mt danh mc y phc tp v a dng ca s kt hp sng to v tham vng.

GENERATIVE ALGORITHMS

Hnh.1.1. M hnh tham s tnh ton tin ha v di truyn Thut ton, Zubin Mohamad khabazi, AA, c thc hin bi Michael Weinstock, ma thu nm 2008.

Mt bc chuyn tip, cc thuc tnh ca h thng vt liu trong cc thut ton thit k dng nh c th c trong khi nim tham s ny, by gi tim nng vn c ca cc component v h thng nn c p dng cc m hnh tham s ca thit k. Cc thut ton khng ch c th to ra p ng vi hnh thc, m cn c mt tim nng ln t c s h thng logic cc d liu trong n.

"Logic c bn ca thit k tham s c th c gii thiu y nh l mt phng php thit k thay th, trong tnh chnh xc hnh hc ca m hnh tham s c th c trin khai u tin tch hp vi sn xut, lp rp logic v c im vt cht trong cc component n gin, v sau sinh si ny n cc component vo cc h thng ln hn. Phng php ny s dng vic thm d ca cc bin tham s hiu c hnh vi ca h thng v s dng s thm d ny vo mc ch thit k ca mnh "(Hensel, Menges, 2008).

lm vic vi cc i tng phc tp, mt qu trnh thit k thng bt u t mt mc rt n gin v sau cc layer khc c thm vo, hnh thc phc tp bao gm h thng th bc khc nhau, kt hp logic v cc chi tit ca n. Cc mc ny cng c kt ni vi nhau v component ca n nh hng ln nhau, nh vy phng php ny c gi l 'lin tng'.

Ni chung, lin tng M hnh lin quan n mt phng php trong cc yu t ca thit k c xy dng dn dn trong h thng phn cp nhiu v mi cp, mt s thng s ca cc yu t ny c chit xut to tin cho cc yu t khc trong cc cp tip theo, tng bc to ra hnh hc ton b. V vy, v c bn l im cui ca mt ng cong c th l im trung tm ca vng trn khc v bt k thay i trong ng cong s thay i vng trn cho ph hp. V c bn phng php thit k ny s dng vi s lng ln cc d liu v tnh ton xy ra thng qua dng chy ca cc thut ton.
9

GENERATIVE ALGORITHMS

iu quan trng l tt c cc dng hnh hc ny u c th d dng iu chnh sau khi thc hin xong qu trnh tnh ton. Cc nh thit k lun lun c th truy cp vo cc yu t ca sn phm thit k t im bt u ln chi tit. Trn thc t, k t khi thit k sn phm l kt qu ca mt thut ton, u vo ca thut ton c th c thay i v kt qu cng s c cp nht cho ph hp.By gi c th phc tho mt m hnh v to ra hng trm bin th ca d n bng cch iu chnh cc thng s hnh hc. l kh thi nhng cc thuc tnh ca h thng vt cht, ch to v logic cc thng s. N cng c th p ng vi mi trng v c kt hp trong ngha ln hn. "... Tham s thit k cho php cng nhn cc m hnh v hnh vi hnh hc v nng lc biu hin lin quan v cc xu hng ca h thng. Trong thng tin phn hi tip tc vi mi trng bn ngoi, nhng xu hng hnh vi c th thng bo s pht trin ontogenetic ca mt h thng c th thng qua s khc bit tham s ca tiu a im "(Hensel, Menges, 2008).

Hnh.1.2. A. hnh thc tm hiu trong h mng cng v b mt ti thiu, m hnh vt l, B. mng m hnh ca phong tro vi Grasshopper, Khabazi Zubin Mohamad, EmTech Core-Studio, AA, Thc hin bi Michael Hensel, Achim Menges, ma thu nm 2008.

Grasshopper l mt nn tng trong Rhino to ra nhng thut ton v cc k thut to cc m hnh lin tng. Cc chng sau y c thit k kt hp cc i tng hnh hc vi cc thut ton gii quyt mt s vn thit k trong kin trc vi phng php thut ton. Mc ch l m rng i tng hnh hc v s dng cc cu lnh trong grasshopper.

10

GENERATIVE ALGORITHMS

CHNG_2_The very begining

11

GENERATIVE ALGORITHMS

2_1_Gii php

" Algorithmic Modelling " v by gi chuyn thnh " Generative Algorithms " v hai t ny c th thay i cho nhau. Bn nn xem cc v d c thc hin trong cc phin bn trc y, ti cng c gng cp nht nhng g cn thit nht v ti chc chn rng nu bn gp phi bt k s khc bit no, bn u c th gii quyt chng theo cch ca bn. Khi nim chnh ca cun sch l tp trung vo mt s vn hnh hc, kin trc, cc d n v pht trin s hiu bit v thut ton, m hnh tham s, da trn cc v d thit k thay v m t ton hc thun ty hoc hnh hc. lm nh vy, trong nhiu trng hp, ti gi nh rng bn c nhng hiu bit c bn v cccomponent. Grasshopper nhanh chng pht trin v tr thnh mt nn tng ph hp gip cc kin trc s trong vic thit k. Nhiu hn mt cng c hoc phn mm, n trnh by mt cch suy ngh v cc vn thit k, mt phng php gi l tham s hoc lin tng. Phng php ny c pht trin bi tt c nhng ngi dng trn khp th gii. s pht trin ca phng php ny vn ang tip tc v lun c nhng phin bn mi, v lun c cc bui tho lun th v v cc phin bn c nng cp, ti khuyn bn nn thnh thong kim tra trang web Grasshopper. Trong chng ny, ti s tho lun v cc vn c bn m chng ta nn bit trc.

http://www.grasshopper3d.com/

2_2_Basics of Grasshopper

2_2_1_Interface, Workplace
Bn cnh cc menu ca Windows thng thng khc, c hai phn quan trng trong giao din Grasshopper: Panels Component v Canvas. Panels Component cung cp tt c cc yu t cn cho thit k v Canvas l ni lm vic, ni chng ta t cc component v thit lp cc thut ton. Bn c th click vo bt k object t Panels v kch mt ln na vo Canvas mang n n ni lm vic hoc bn c th ko n vo ni lm vic. Cc phn khc ca giao din d dng khm ph v bn s quen thuc vi n thng qua vic s dng chng sau ny. bit thm thng tin v ch ny,n c sn ti:

12

GENERATIVE ALGORITHMS

http://en.wiki.mcneel.com/default.aspx/McNeel/ExplicitHistoryPluginInterfaceExplained.html

Hnh.2.1. Grasshopper Component Tabs/Panels and Canvas

2_2_2_Components
C nhiu loi khc nhau ca cc object trong Grasshopper m chng ta s dng thit k. Bn c th tm thy chng theo cc tab khc nhau c gi l: Params, Logic, Primitive, Vector, Curve, Surface, Mesh, Intersect, Xform v Complex.

Mi tab c nhiu bng v cc object khc nhau, v cc lnh c sp xp gia cc bng. C cc object v hnh hc nh ng cong, vng trn v cng c rt nhiu lnh di chuyn, rescale, chia, lm bin dng hnh hc. Cc thng s l cc object i din cho d liu, ging nh l mt im hoc ng. Bn c th v chng bng tham s c lin quan hoc c th xc nh chng t cc object trong Rhino.
13

GENERATIVE ALGORITHMS

Chng ta thng cn phi cung cp d liu lin quan cho cc component n lm vic. Trong hng dn ny, ti s dng component <Point>.ti lun lun s dng vn bn trong du <> gii quyt chng mt cch r rng, nh <Point>. <Point> component

Nu bn nhp chut phi vo mt component, mt menu s pop-up c cha mt s kha cnh c bn ca component. Menu ny c gi l " Context pop-up menu". Context pop-up menu T by gi, bn cn tm cc component lin quan t cc bng v thit lp kt ni gia cc component ny to ra thut ton thit k ca bn v xem kt qu trong Rhino.

14

GENERATIVE ALGORITHMS

Hnh.2.2. Flowchart vs. Grasshopper Algorithm Defining External Geometries Chng ta c th s dng object trong Rhino hoc c th to ra cc object trong Rhino t Grasshopper.Chng ta c th nhn vo tab Params di bng iu khin Gometry c mt danh sch cc loi khc nhau ca hnh hc m bn c th s dng xc nh object ca bn t ni lm vic Rhino.

15

GENERATIVE ALGORITHMS

Hnh.2.3. Different geometry types in the Params > Geometry panel

Chng ta c mt v d n gin. Chng ti c ba im trong khung nhn Rhino v chng ta mun v mt hnh tam gic bi nhng im ny trong Grasshopper. Trc tin, chng ta cn phi gii thiu nhng im ny trong Grasshopper. Chng ta cn ba component <point> t Params > Point v i vo menu ng cHnh (kch chut phi) v chn <set one point> v sau chn im t khung nhn rhino (Hnh.2.4).

Hnh.2.4. Set point from Rhino in Grasshopper component

Hnh.2.5. Grasshopper canvas v ba im c xc nh chuyn sang mu (x) trong Rhino. Ti i tn cc component nhn ra chng d dng hn.
16

GENERATIVE ALGORITHMS

Components Connectivity

Chng ta cn phi kt ni cc component bao gm cc d liu input cho cc component x l v kt ni kt qu cho cc component khc. Ti chn component <line> (Curve>primitive>line). Ko n vo canvas. Sau kt ni <point A> v <point B>.

By gi thm component <line> khc, lm iu mt ln na cho <point C> v <point A> vi component <line> th ba. C mt hnh tam gic trong khung nhn Rhino.

Hnh.2.7. cc component <line> c v gia cc component <point>. Nh bn thy bt k component no cng c th c s dng nhiu hn mt ln.

17

GENERATIVE ALGORITHMS

Hnh.2.8. By gi nu bn thay i v tr ca cc im bng tay trong Rhino, v tr ca cc im trong Grasshopper (X) v hnh tam gic s thay i cho ph hp nhng ranh gii gia cc im (hnh tam gic) s vn cn.

Nh bn c th nhn thy trong v d trn, u tin, kt hp k thut lm cho n c th thao tc cc im v vn cn c hnh tam gic gia cc im. m khng cn tip tc iu chnh.

Input / Output Nh cp trc y, bt c component no trong Grasshopper u c input v output c ngha l n x l d liu vo v x l d liu tr ra. Input l phn tri ca cc component v output bn phi. D liu n t bt c ngun no thuc phn input ca cc component v output ca component l kt qu ca chc nng c th ca tng component . C mt s tnh nng v ch ny m bn c th tm hiu thm ti: http://en.wiki.mcneel.com/default.aspx/McNeel/ExplicitHistoryVolatileDataInheritance.html Bn phi bit rng nhng g sp xp ca cc input bn cn cho bt k chc nng c th v nhng g bn nhn c sau . Chng ta s ni thm v loi khc nhau ca d liu chng ta cn phi cung cp cho mi component sau ny. Chng ta nn gi chut hoc "di chut" trn bt k cng input/ output ca cc component v bn s thy tn, cc d liu bn cn cung cp cho cc component.

18

GENERATIVE ALGORITHMS

Hnh.2.9. Pop-up cng c i km nu bn gi chut qua cng input /output ca component. Multiple connections i khi bn cn gn mt component nhiu hn mt ngun d liu. Hy tng tng trong v d trn, bn mun v hai dng t <point A> <point B> v <point C>. Bn c th s dng hai component <line> khc nhau hoc bn c th s dng mt component <line> v nh km im B v C l im th hai ca cc component <line>. lm c iu ny, bn cn phi gi phm Shift khi bn mun kt ni cc ngun d liu th hai ca mt component. Khi bn gi shift, mi tn ca con chut xut hin trong mt vng trn mu xanh l cy vi mt biu tng nh (+) trong khi bnh thng n c mu xm. Bn cng c th s dng phm Ctrl ngt kt ni mt component khc (thng thng bn c th ngt kt ni mt component t mt s khc bng cch s dng menu ng cHnh). Trong trng hp ny, cc vng trn xung quanh con chut xut hin trong mu vi mt biu tng nh (-).

Hnh.2.10. Multiple connections for one component by holding shift key. Colour Coding C mt h thng m ha mu sc ca Grasshopper, cho thy cc component trng thi lm vic nh th no.

19

GENERATIVE ALGORITHMS

Hnh.2.11. Colour Coding. Component mu xm c ngha l khng c vn v cc d liu nh ngha mt cch chnh xc / component hot ng chnh xc. Mu da cam cho thy cHnh bo v n c ngha l c t nht mt vn cn c gii quyt, nhng component ny vn hot ng. Cc component mu c ngha l b li v cc component khng hot ng trong tnh hung ny. Cc ngun gc ca li c tm thy v gii quyt lm cho cng vic component ng. Bn c th tm thy s gip u tin v ngun gc ca li trong component menu ng cHnh (context menu> runtime warning/ error) v sau tm kim cc d liu input tm ra nguyn nhn ca li. Mu xanh c ngha l component ny c la chn. Hnh hc c lin quan vi cc component ny cng bin thnh mu xanh l cy trong khung nhn Rhino (nu khng tt c cc hnh hc c to bi Grasshopper u mu ). Preview C th s dng n n hoc b n cc hnh hc trong khung nhn rhino. Chng ta thng s dng n n cc hnh hc khng mong mun,v d nh l cc im c s trong cc m hnh phc tp trnh mt tp trung. Ty chn ny c s dng trong cc m hnh phc tp x l d liu nhanh hn, v vy bn nn n cc hnh hc c s khi bn khng cn n.

20

GENERATIVE ALGORITHMS

2_2_3_Data matching
i vi nhiu component trong Grasshopper, n lun lun c th cung cp mt danh sch cc d liu thay v ch mt input. V vy, trong bn cht, bn c th cung cp mt danh sch cc im v mt component <line> c th thu ht hng trm object nu chng ta cung cp thng tin cn thit. Look at this example: Ti c hai b im khc nhau, vi by im. Ti s dng hai component <point> v ti s dng <set multiple points> gii thiu tt c cc im trn trong mt component. Nh bn thy, bng cch kt ni hai b ca cc im n mt component <line>, by on thng c to ra gia chng. V vy, chng ta c th to ra nhiu hn mt object vi mi component.

Hnh.2.12. Nhiu b im v on thng c to ra bi chng. Nhng nhng g s xy ra nu s lng im khng ging nhau trong hai b im Trong v d di y, ti c 7 im trong hng u v 10 im pha di. Trong qun l d liu ca Grasshopper c gi l ''data matching". ti context pop-up menu ca component, bn thy c ba ty chn gi l: Shortest list Longest list Cross reference Xem s khc bit Hnh 2.13. http://en.wiki.mcneel.com/default.aspx/McNeel/ExplicitHistoryDataStreamMatchingAlgorithms.html

21

GENERATIVE ALGORITHMS

A: shortest list,

B: longest list and

C: cross reference Hnh.2.13. Data matching

22

GENERATIVE ALGORITHMS

2_2_4_Components Help (Context pop-up menu)


Chng ta dng n xem cc component lm vic nh th no v sp xp d liu cn thit ca input v output. C nhng tnh nng hu ch khc trong context menu ny m chng ta s tho lun v chng sau ny.

Hnh.2.14. Context pop-up menu and Help part of the component

2_2_5_Type-In Component Search / Add

Hnh.2.15. Tm kim cc component ( y ti tm component <line> ) bng cch nhp p chut trn canva (background ca giao din) v g tn "line". Component s c a ra.

23

GENERATIVE ALGORITHMS

CHNG_3_Data Sets and Math

24

GENERATIVE ALGORITHMS

Mc d trong phn mm 3D chng ta c th chn hnh hc t cc trnh n v v mt cch r rng bng cch nhn vo m khng cn suy ngh nhng kha cnh ca ton hc, lm vic vi cc thut ton c th c to ra, chng ta cn phi suy ngh mt cht v d liu v ton hc lmyu t u vo ca thut ton v to ra nhiu i tng. V chng ta khng mun v tt c mi th bng tay, chng ta cn mt s ngun d liu l component c bn c th pht trin cc thut ton,n c th c s dng nhiu hn mt ln v c nhiu kt qu hn trong mt i tng. Cch thc m thut ton lm vic rt n gin. N bao gm cc u vo ca d liu, x l d liu v u ra. Qu trnh ny xy ra ton b trong cc thut ton. V vy, thay v phng php truyn thng, chng ti cung cp thng tin, thng tin ny s x l thut ton v kt qu l i tng s c to ra. Nh ti ni, thay v sao chp mt i tng bng cch nhp vo 100 ln trong mn hnh, chng ta c th xc nhn vi cc thut ton l sao chp i tng 100 ln. Hnh hc clin quan n ton hc,v vy chng ta c th s dng cc chc nng ton hc n gin trong cc thut ton cc con s v cc i tng to ra nhng s kt hp v hn trong hnh hc.

3_1_Numerical Data Sets

Ton hc v cc thut ton bt u vi nhng con s, chng ta c th to ra cc b d liu s khc nhau trong Grasshopper v sau chng ta c th s dng chng lm cng c thit k.

One numerical value

Component <Number slider> (Params>special>number slider) c th iu chnh bng tay. N c th l s nguyn, s thc, ngay c vi cc gi tr gii hn trn v di. thit lp mt gi tr s c nh l bn c th i n cc Params> Primitive> Integer / Number to set on integer/ real value through context menu of <int> / <Num>.
25

GENERATIVE ALGORITHMS

Series of numbers

(logic> Sets>Series). Component ny to ra mt list cc s m chng ta c th iu chnh cc s v s lng cc gi tr. 0, 1, 2, 3, , 100 0, 2, 4, 6, , 100 10, 20, 30, 40, , 1000000

Range of numbers

(logic> Sets> Range). Bt k mt khong s (v d [1-10]) c th c chia thnh cc phn v hn: 1, 2, 3, , 10 1, 2.5, 5, , 10
26

GENERATIVE ALGORITHMS

1, 5, 10

Domains (Intervals)

Params> Primitive> Domain/Domain2 N cung cp mt lot cc tt c cc s thc s gia mt gii hn trn v di, chng ta c th xc nh mt min c nh bng cch s dng component ny lm vic mt cch linh hot.

3_2_On Points and Point Grids

im l mt trong nhng yu t c bn cho hnh hc v gii thut co th sinh san. im nh du mt v tr c th trong khng gian, c th bt u t im ca ng cong, trung tm ca vng trn v rt nhiu vai tr khc, chng ta c th to ra cc im theo nhiu cch: -<point> (Params> Geometry>Point) :nhng im ny c th c iu chnh v di chuyn bng tay trong Rhino. - <point xyz> (vector >point>point xyz) : ta ca im. - <grid hexagonal> v <grid rectangular>: li im. - Chng ta c th trch xut im t hnh hc bng nhiu cch khc nhau khc nh im u, cui, trung im, vv..
27

GENERATIVE ALGORITHMS

Chng ta c th sn xut cc im v cc b im bng component <range>, <series> .

Hnh.3.1. feeding a <point xyz> or <pt> component by three <number slider> to generate a point by manually feeding the X,Y and Z coordinates.

Hnh.3.2. To ra mt mng li cc im bng component <series> v <pt>. Cc <number slider> kim sot khong cch v s lng cc im.

Hnh.3.3.Bn c th thay i gii hn trn v di ca <range> thay i ta ca cc im, kch chut phi vo phn D (domain) v thay i tn min.

28

GENERATIVE ALGORITHMS

3_3_Other Numerical Sets

Random Data Sets Component <random> ()cung cp mt list cc s ngu nhin v chng ta c th kim sot s lng cc gi tr ca n .

Hnh.3.4. To ra mt tp hp im ngu nhin. component <random> to ra 10 s ngu nhin c iu khin bi <number slider> v sau list ny c xo trn bi cc component <jitter> (logic> Sets> Jitter) cho Y ta , v mt ln na cho Z ta . Trong hnh 3.4, tt c cc im c phn phi trong khng gian gia 0 v . thay i khu vc phn phi ca cc im, chng ta nn thay i tn min s trong component <random>.

Hnh.3.5. Thit lp mt min bng component <interval> (vo Scalar> Domain> Domain)

Fibonacci series
29

GENERATIVE ALGORITHMS

Fibonacci l mt dy s vi hai s u tin c nh ngha (0 v 1) v cc s tip theo l tng ca hai s trc . N(0)=0, N(1)=1, N(2)=1, N(3)=2, N(4)=3, N(5)=5, , N(i)=N(i-2)+N(i-1) Di y l mt s cc con s: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, y ti s dng <Fibonacci> series (logic> Sets> Fibonacci) tng s lng ca mt component <pt>.

Hnh.3.6. S im c th c kim sot vi mt <number slider> .

3_4_Functions

Cc component c xc nh trc trong Grasshopper c th khng phi lun lun l cng c thit k tt nht ca bn. Bn c th cn phi to ra b d liu ca ring bn hoc t nht l thao tc d liu ca cc component hin c. lm nh vy, bn cn s dng cc chc nng ton hc v thay i mnh, khong cch, ... ca cc con s. Cc chc nng l nhng component c th thc hin cc chc nng ton hc trong Grasshopper, c chc nng vi cc bin s khc nhau (Logic > script). Bn cn cung cp mt chc nng vi cc d liu lin quan (khng phi lun lun l s m cng l Boolean v String) v n thc hin chc nng trn cc d liu u vo m ta xc nhn. xc nh chc nng, bn c th phi bm vo mt phn (F) ca cc component v g vo sa i biu thc (expression editor). Sa i biu thc c rt nhiu chc nng c xc nh trc v mt th vin cc chc nng ton hc. Ch n tn ca cc bin m bn s dng trong biu thc v cc d liu lin quan ph hp vi chc nng cc component! Math functions Mt v d n gin l chc nng ton hc ca mt vng trn c ngha l X = Sin (t) v Y = Cos (t) vi (t) chy t 0 n 2Pi s hnh thnh mt vng trn.

30

GENERATIVE ALGORITHMS

Hnh.3.7. Parametric circle by mathematical functions. You have <Sin> and <Cos> functions in the (Scalar > Trig). (F(x) = x * 2Pi).

Hnh.3.8. (x: F (x) = x/100, y: F (x) = x/10). (F (x) = x +2).Chng ta c th thao tc cc tp hp d liu v to ra cc hnh hc khc nhau.

Hnh.3.9.Ngun cp d liu component <pt> bi cc chc nng ton hc sau y: X = t * Sin (t), Y = t * Cos (t) p dng t * sin/ cos ti s dng component <multiplication> t (scalar>anylay). bn c th tm thy cc component cho cc hot ng ton hc n gin.

31

GENERATIVE ALGORITHMS

Hnh.3.10. Hnh xon c lin tip t hai im xon c o ngc <pt> th nht : X: F (x) = x * Sin (x * 2 Pi), Y: F (x) = x * Cos (x * 2 Pi) <pt> th hai c chc nng tng t nhng ngc li.

Hnh.3.11<u> v <v> l nhng component <range> c i tn thnh. X = Sin (u) * (-2 + v * sin (u / 2)) Y = Cos (u) * (-2 + v * sin (u / 2)) Z = v * Cos (u / 2) (u = 0 n 8Pi v v =- 2 n 2 )

32

GENERATIVE ALGORITHMS

Thc hin cc biu thc ton bng cc chc nng ton hc c th khng bao gi kt thc. Bn c th tm thy rt nhiu yu t ton hc ph hp vi d liu ca bn. im quan trng l bn c th thao tc cc b d liu ban u v to ra cc gi tr s khc nhau v component khc nhau. V vy, bng cch tp hp ca d liu s, chng ta c th to ra hnh hc v vn l lm th no cho cc thut ton lm vic. chng ta da vo phng php thut ton p ng vi cc vn v thit k hnh hc, ging nh b mt rt p Enneper.

33

GENERATIVE ALGORITHMS

3_5_Boolean Data types

D liu khng gii hn ch c s. C nhng loi d liu khc c ch cho cc mc ch khc nhau trong lp trnh v cc thut ton. V chng ta ang x l vi cc thut ton, chng ta cn bit rng s pht trin ca mt thut ton khng phi l tuyn tnh. i khi chng ta mun quyt nh c lm iu g hay khng. Lp trnh vin gi n c cu lnh iu kin. p ng ca mt cu hi iu kin n gin l c hoc khng. trong cc thut ton, chng ti s dng d liu Boolean i din cho nhng phn ng. Cc kiu d liu Boolean i din cho gi tr ch True (c) hoc False (khng c). Nu cu lnh p ng cc tiu chun, phn ng l True, nu khng th l False. Nh bn thy, kiu d liu ny rt hu ch trong trng hp khc nhau khi bn mun quyt nh v mt iu g , chn mt s cc i tng theo 1 tiu ch nht nh,v sp xp cc i tng , v v

Hnh.3.12. y ti to ra mi gi tr <random> v mt component <Larger> (scalar>operator),ti s dng component <Panel>( Params>special) hin th ni dung ca <Random> v kt qu ca cc component <Larger>.

34

GENERATIVE ALGORITHMS

Hnh.3.13. To ra 30 gi tr vi mt component <series> v s dng mt component <Modulus> (scalar> operator> Modulus) tm phn d ca php chia cc s cho 3 v ti thng qua kt qu <Equals>. kt qu l mt <panel> c gi tr True / False. Trong tab Logic v trong bng iu khin Boolean c cc component khc nhau lm vic vi kiu d liu Boolean.

Hnh.3.14.S dng component<gate and> (logic> Boolean> gate and). Kt qu l True khi c hai u vo c gi tr Boolean l True, nu khng n s l False. C nhiu component Boolean trong bng iu khin ca tab Logic m bn c th s dng v kt hp chng to ra cc tiu ch ca bn, Chng ta s tho lun lm th no s dng cc gi tr Boolean.

3_6_Cull Lists

Chng ti cn phi la chn mt s ni dung c th t mt list hoc b qua cc list khc. C nhiu cch khc nhau t c iu ny, nhng chng ta hy bt u vi vic b qua hoc chn lc list cc d liu. C ba component <cull> chn lc mt list cc d liu trong Grasshopper. <Cull Nth> b qua tt c cc mc N ca mt list d liu, <cull pattern> c cc gi tr Boolean(True / False) v chn lc mt list cc d liu, da trn m hnh ny, <Cull Index> ch chn list d liu s. Nu s lng cc gi tr trong list d liu v list Boolean l nh nhau, mi mc ca list d liu c nh gi bi cng mt mc trong list Boolean. Nhng bn c th xc nh mt m hnh n gin ca cc gi tr Boolean (nh False / False / True / True l c xc nh trc trong component) v component
35

GENERATIVE ALGORITHMS

<cull> s lp li cng mt khun mu cho tt c cc mc ca list d liu. hiu r hn, y ti mun gii thiu mt trong nhng cch chng ta c th chn d liu m chng ta mong mun t mt tp hp d liu.

Distance example Ti ang ngh n vic la chn mt s im t mt im thit lp da trn khong cch ca chng n mt im khc, nhng g ti cn l mt component <distance> (Vector> Poin> Distance). Ti so snh cc khong cch ny bi (<number slider>) vi mt component <F2> (logic> Script> F2 / function with two variable). So snh ny to ra cc gi tr Boolean u ra (True / False) so vi gii hn F = x> y (ging nh component <Larger>). Ti s s dng cc gi tr Boolean cho component <Cull pattern>. <Cull pattern> c mt list cc d liu chung v mt list cc d liu Boolean v b qua cc d liu lin kt vi gi tr "False" ca list Boolean. hin th chng tt hn ti ch kt ni chng vi cc im tham chiu bi mt <line> n gin.

Hnh.3.15. La chn cc im t mt im c thit lp bi khong cch ca n n mt im tham kho bng cch s dng component <Cull pattern>.

Topography example Sau khi kim tra khong cch, ti ngh n vic la chn mt s im c lin quan vi cc ng cong trn mt a hnh, da trn chiu cao ca n.

36

GENERATIVE ALGORITHMS

Hnh.3.16. Topography with points associated with contour lines.

Nhng g ti c l mt tp hp im c to bi mt component <point> (t tn theo a hnh). Ti cn chiu cao ca cc im, y ti s dng mt component <Decompose> (Vector>Point >Decompose) c c ta Z (chiu cao) ca nhng im ny. <Decompose> mang li cho ti ta X, Y v Z ca mi im u vo ca n. Ti so snh cc gi tr ny vi mt component <Larger> sn xut mt list cc gi tr Boolean nhm la chn mt s im c lin quan vi cc ng cong trn mt a hnh, da trn chiu cao ca n.

Hnh.3.17. im c la chn cao hn 4,7550 (Mt gi tr m ngi dng a ra).

3_7_ Data Lists

Nhng vn c bn ca m hnh thut ton l list d liu. List d liu c th l bt k cacs loi d liu nh s, im, hnh hc,...chng ta c th trch xut mt phn ca mt list cc con s, gip chng ta t c mt list d liu mong mun cho cc mc ch thit k. Nghin cu mt s v d:

37

GENERATIVE ALGORITHMS

Hnh.3.18.Component <point decompose> cho chng ta ta ca im. V c bn component <sort> sp xp mt list (hoc nhiu list) ca d liu da trn mt list d liu s phn loi. V vy, y ti sp xp tt c cc im c ta X nh l cc d liu chnh. Nhng g ti cn l chn mc u tin ca list ny. lm iu ny, ti cn mt component <item>.

Cc v d : Triangles

Hy pht trin cc th nghim ca chng ta vi qun l d liu. Hy tng tng chng ta c mt mng li cc im v chng ta mun v nhng ung thc hin hnh tam gic vi mt m hnh nh con s 3,19. quan nim ny rt hu ch trong cc vn h mt li, nhng thi im ny, quan trng c th to ra khi nim c bn ny. Hnh.3.19. To hnh tam gic bi mt mng li cc im. Bc u tin l to ra mt mng li cc im bi component <series> v <pt>. Bc tip theo l tm cc im thch hp v ng gia. Mi ln chng ta cn mt dng bt u t mt im v kt thc ti im tip theo trn cng mt hng ct. chng ta cho ba list cc im khc nhau, mt cho tt c cc im u tin, mt cho tt c cc im th hai v mt cho tt c cc im th ba v sau v ng thng gia chng. Ti c th s dng cc im ban u l list cho tt c cc 'start point', chn im th hai ti ch chuyn list ban u bng component <Shift list> (logic>list>shift list) , im th ba ca tam gic l im u tin ca tam gic tip theo.

38

GENERATIVE ALGORITHMS

Hnh.3.21. S dng <Cull Nth> b qua ct cui cng ca list im u tin, th hai v th ba. Bc cui cng l dng ba component <line> kt ni cc im u tin vi im th hai v im th hai vi im th ba v im th ba vi im u tin mt ln na.

39

GENERATIVE ALGORITHMS

Hnh.3.22.Kt ni list chn lc ca cc im bi component <Line>. Cc component <Pt> set to Cross reference v cc component <Line> set to Longest List.

Hnh.3.23. By gi bn c th thay i <number slider> cho ph hp. Mc d vn cn mt s vn vi thit k ca chng ta v chng ta bit rng chng ta khng nn bt u bt k hnh tam gic t im ca cc dng cui cng (v chng ta nn b qua chng t list cc im u tin), nhng khi nim ny l r rng ri. Chng ta s quay tr li tng ny trong khi ni chuyn v cc li hnh hc v sau ti s c gng tinh chnh chng. tng chnh l xem lm th no d liu c to ra v cch qun l chng. Hy pht trin s hiu bit ca chng ta thng qua nhiu th nghim hn.

40

GENERATIVE ALGORITHMS

3_8_On Planar Geometrical Patterns

M hnh hnh hc l mt trong nhng vn c th thit k vi cc thut ton c th sinh san trong Grasshopper. Chng ti thit k mt motif v sau sinh si ny n n v c th s dng n nh l c s ca cc sn phm thit k khc, bng cch v hnh hc c bn, chng ta c th sao chp n sn xut cc m hnh ln hn m chng ta cn (Hnh.3.22).

Hnh.3.24. Khi nim v mt m hnh hnh hc n gin. Bng cch tp hp d liu v cc chc nng ton hc n gin, chng c tim nng to ln to ra cc hnh dng hnh hc, c th l cc hnh hc c in.

41

GENERATIVE ALGORITHMS

Hnh.3.25. Hnh hc phc tp ca mi nh th Hi gio Sheikh Lotfollah -Iran, bao gm cc m hnh n gin c to ra bi cc tnh ton ton hc, hnh hc.

Simple Linear Pattern y ti quyt nh thit k mt m hnh vi mt s im c bn, mc tiu ca ti l s dng cc khi nim.

Hnh.3.26. Khi nim c bn to ra cc m hnh. Ti mun to ra mt s im c bn nh im c s v sau v cc on thng gia chng. Ti bt u bi mt <series> lm cho n c th kim sot s lng cc gi tr ( y l s im) v khong cch gia cc im. Tti to ra mt tp hp cc im ch vi mc X (Y v Z = 0).

42

GENERATIVE ALGORITHMS

Hnh.3.27. y ti to ra thit lp im u tin ca ti vi component <series> v <pt>. Th thut mi l mt component <Receiver> t (Params> Primitive>Receiver). y cc component <Receiver> nhn d liu t <series>.

Hnh.3.28. to ra mt hnh thc "zig-zag" ti cn hai hng ca cc im nh l c s. Ti s dng <Receiver> khc c c d liu t <series> v vi <pt> khc ti to ra dng th hai vi cc gi tr Y n t mt <number slider>.

Hnh.3.29. Trong bc tip theo, ti cn phi b mt s im t mi list cung cp cc im c bn cho m hnh zig-zag. y ti b qua nhng im vi <cull pattern>.
43

GENERATIVE ALGORITHMS

Hnh 3.30. By gi nu bn kt ni c hai component <Cull> bi mt component <polyline>, bn s thy kt qu l mt hnh dng Z.

Hnh.3.31. Cc im c m t l <Weave> (logic>List). khi bn kt ni n vi <Pline> dng u tin ca zig-zag s c to ra.

Hnh.3.32. Tng t, ti to ra hng im th ba, vi <weave> v <Pline> ti c dng zig-zag th hai ca m hnh.
44

GENERATIVE ALGORITHMS

Hnh.3.33. Mc d c nhiu cch ngn hn to ra nhng dng ny, tng t cho cc im v pline ca hng th ba. Preview component <Pt>, <Cull> v <Weave> n tt c cc im ch li component Plines.

Hnh.3.34.S dng cng mt <number slider> vi chc nng ca f (x) =-x, bn s c mt ca component i xng ca Plines, bn c th to ra cc quy m v hnh dng khc nhau..

Hnh.3.35. Bn c th thay i cch bn to ra cc im c s hoc chn lc list d liu sn xut cc m hnh phc tp hn..

45

GENERATIVE ALGORITHMS

Hnh.3.36. y l kt qu u tin ca thit k. Motif c lp i lp li v kt qu c th c s dng trong nhiu mc ch ca bn.

Hnh.3.37. iu ny ch l mt trong nhng v d trong s hng trm kh nng s dng cc m hnh c bn pht trin mt sn phm thit k.

46

GENERATIVE ALGORITHMS

Circular patterns Ti s m t mt phn ca thut ton v phn cn li dnh cho bn.

Hnh.3.38. Circular geometrical patterns. im bt u ca m hnh ny l mt tp hp d liu to ra mt lot cc im dc theo mt vng trn, ging nh v d chng ti lm trc y. Tp hp d liu c th c thay i t l t cc center cung cp nhiu hn v nhiu hn na ng trn xung quanh trung tm. Ti s hu cc b im vi cng mt cch nh l cc v d cui. Sau , ti s to ra mt m hnh lp i lp li 'zig-zag "ca cc im thay i t l vng trn v kt ni chng vi nhau, lm thnh mt ng c hnh dng ngi sao. s chng cho ca nhng ngi sao ny c th l mt phn ca m tp.

Hnh.3.39. S dng component Sin / Cos tp hp cc im trong mt hnh hc trn.

47

GENERATIVE ALGORITHMS

Hnh.3.40. Tng kt qu ca chc nng Sin / Cos, trong khi nhn vi mt < number slider >, thit lp th hai cc im c bn knh ln hn. Nh bn thy kt qu ca phn ny l hai im. Ti i tn component <pt>.

Hnh.3.41. ng trn trn im u tin v th hai. n cc im b loi (cull point) , chng ta ch n gin s dng <Cull pattern> cho cc im v s dng True / False ging nh v d cui cng. C th mt ln na s dng component <weave>. Nhng y ti mun s dng mt khi nim phn loi m ti ngh s l hu ch sau ny. Ti mun sp xp cc im da trn s ch mc ca chng trong thit lp ny. Trc ht ti cn phi to ra cc con s ch s. Bi v ti to ra im bi mt component <range> vi s thc, y ti cn mt component <series> cung cp cc s nguyn l ch s ca cc im trong list. Tham s N ca <range> xc nh s lng cc bc hoc b phn, do component <range> to ra N +1 s. l l do ti sao ti cn mt <series> vi N +1 gi tr l ch s ca cc im.

48

GENERATIVE ALGORITHMS

Hnh.3.42. To ch s ca cc im (mt list cc s nguyn bt u t 0)

Hnh.3.43. By gi ti cn n cc im b loi v cc thng s c nhng v d trc. Sau , ti s dng <Merge> component (Logic> Tree) to ra mt list nhng d liu t c hai list <cull>.

49

GENERATIVE ALGORITHMS

Hnh.3.44. im c sp xp vi mt component <sort>. Mt polyline c v bi cc im sp xp.

Hnh.3.45. To ra mt hnh sao. Tng t nh vy,chng ta c th s dng to ra cc dng hnh hc phc tp hn bng cch l to ra cc b im khc, chn lc v kt ni chng li vi nhau sn xut cc i tng m chng ta mong mun.

50

GENERATIVE ALGORITHMS

Hnh.3.46. Bn c th ngh v nhng kh nng khc ca m hnh v hnh hc tuyn tnh, ng dng ca chng nh chiu (project) ln 1 i tng hnh hc khc.

Hnh.3.47. Final model.

51

GENERATIVE ALGORITHMS

CHNG_4_Transformations

52

GENERATIVE ALGORITHMS

S bin i l vic lm cn thit trong vic model v to ra cc hnh hc. Chng cho php chng ta c c cc bin th t cc i tng n gin ban u. Bin i gip chng ta thay i t l v nh hng ca i tng :di chuyn, sao chp, nhn bn, hoc c th dn n tng hp ca cc i tng. C nhiu loi bin i khc nhau , nhng phn loi chng, chng ta c th phn chia thnh cc nhnh chnh, v s phn chia u tin l bin i tuyn tnh (linear) v khng gian (spatial). Bin i tuyn tnh thc hin trong khng gian 2D, trong khi bin i khng gian hin trong khng gian 3D Cch khc, chng ta c th phn loi chuyn i theo tnh trng ca i tng ban u, bin i nh translation, rotation, v reflection gi hnh dng ban u nhng thay i t l v lm bin dng tnh trng ban u ca i tng. Ngoi ra cn c cc bin i phi tuyn tnh. Ngoi translation, rotation, v reflection, chng ta c cc loi bin i ti l v bin dng khc nhau v khng thng nht trong khng gian 3D nh xon c spiral v xon c helical . chuyn i cc i tng, chng ta cn di chuyn v nh hng i tng (hoc mt phn ca cc i tng) trong khng gian v lm iu ny, chng ta cn phi s dng vector v mt phng l vn c bn ca cc ton hc / hnh hc. Chng ta s khng tho lun cc vn c bn ca hnh hc v logic ton hc ca chng y, nhng trc tin hy c mt ci nhn s lc v vect v mt phng v chng ta cn chng lm vic.

Hnh 4.1 Bin i c kh nng to ra cc hnh thc phc tp t cc c th. Thin nhin c mt s v d tuyt vi v bin i.

53

GENERATIVE ALGORITHMS

4_1_Vector v Mt phng _Vectors and Planes

Vector l mt i tng ton hc / hnh hc c ln (chiu di), hng v chiu. N bt u t mt im, hng ti mt im khc vi di nht nh v hng c th. Vectoc c s dng rng ri trong cc lnh vc khc nhau ca khoa hc v hnh hc cung nh l torng cc bin i.

Hnh.4.2.A: cc component c bn ca mt vector, B: im chuyn v ca mt vector. Ch n gin l nu chng ta c mt im v vector, vector ny c th chuyn v vi khong cch bng ln ca vector v theo hng ca n to ra mt v tr mi cho vector. Chng ta s dng khi nim ny n gin to ra, di chuyn, i t l v nh hng hnh hc Mt phng (plane) c th m t chng nh l cc b mt phng v hn trong c mt im gc. Cu trc ca cc mt phng trong Rhino l cc loi phng ny. Chng ta c th s dng nhng mt phng ny a hnh hc ca chng ta vo chng v lm mt s bin i trn c s nh hng v gc to . V d trong khng gian 3D, chng ta khng th nh hng cho 1 vector! v chng ta cn hai vect to ra mt mt phng c th a cc i tng hnh hc t trn n. Vect c hng v ln trong khi mt phng c nh hng v to . V vy, chng l hai loi khc nhau ca cc cu trc c th gip chng ta to ra, sa i, bin i v lm r cc model ca chng ta trong khng gian. Grasshopper c mt s ca cc vector v mt phng c bn nh cc component c mc nh trc. Bao gm vector n v X,Y,Z v cc mt phng XY, XZ, YZ. C vi component khc to ra hiu chnh chng m chng ta s ni v chng trong cc v d sau. V vy, hy bt u thit k vi mt s cch s dng n gin ca vect .
54

GENERATIVE ALGORITHMS

4_2_On Curves and Linear Geometries

Nh chng ta th nghim vi im nh l hnh hc 0 chiu , by gi chng ta c th bt u suy ngh v cc ng cong nh cc i tng 1 chiu.Ging nh im, ng cong c th l c s xy dng rt nhiu i tng khc nhau.Chng ta c th extrude mt ng cong cng nhau v to ra mt b mt, chng ta c th kt ni cc ng cong khc nhau li vi nhau v to ra mt v khi , chng ta c th sp xp bt k i tng dc theo mt ng cong vi nhng khong c th v rt nhiu cch khc s dng mt ng cong nh l mt hnh hc c s to ra cc i tng khc. Chuyn v/ Displacements Chng ta to ra li im trong chng 3 bi cc component <series> v <pt>. Nhng c mt component c gi <Grid rectangular> (Vector> Point> Grid rectangular) to ra mt mng li cc im. Chng ta c th kim sot s lng cc im theo hng X, Yv khong cch gia cc im (tng ng c hai chiu) trong component ny.

Hnh.4.3. mt component <grid rectangular> cc gi tr mc nh sn ca n Bn c th thay i kch thc ca li bng <number slider> u vo (S) ca component <grid rectangular>. Bn cng c th thay i nh hng ca im. lm iu ny, bn cn mt mt phng dnh li ca bn trn . y, ta gii thiu mt component <XY plane> (Vector> Constants> XY plane) l mt phng c xc nh trc bng trc X v Y v ta chuyn v theo trc Z bng component <Z unit> (Vector > Constants > Z unit) l mt vector dc theo trc Z vi chiu di ( ln) bng 1. Ta c th thay i chiu cao ca s chuyn v ny bi kch thc ca vector thng qua mt <number slider>

55

GENERATIVE ALGORITHMS

m ta kt ni vi cc u vo ca cc component <Z unit>, thay i v tr ca <XY plane> dc theo trc Z s thay i v tr ca li im.

Hnh.4.4.iu khin li (li c chn hin mu xanh l cy ) vi mt <number slider> thay i li (khong cch gia cc im) v <Z unit> v <XY plane> khc thay i ta Z ca li im. By gi nu bn nhn vo out put ca <grid rectangular> bn c th thy rng chng ta c th truy cp ton b cc im cng nh cc t bo li v cc t bo trung tm. Trong v d ny, ta ang tm kim mt nhm line bt u t cc im trung tm ca cc t bo li v m rng ra khng gian, bng cch ch s dng cc li. Ta ch n gin l kt ni im t 2 phn M ca hai component <grid> cho mt component <line>, v to ra mt nhm line . Sau , thay i kch thc ca li th hai s cho kt qu hng ca tt c cc line. y vn l chiu di ca line trong trng hp ny s l khc nhau, nhng ta mun v ng c cng di, v ta cn mt chin lc v l l do ti sao ta s s dng mt component <line SDL>. Component <line SDL> v mt line vi im bt u (S), Hng (D), v Di (L).V vy, chiu di ca line l iu khin c.Chnh xc nhng g ta cn, ta c nhng im bt u (trung im ca t bo), v chiu di line. Hng?Ta mun s dng li t bo trung im th hai l im th hai ca line hng line ca ta l theo hng ca cc ng kt ni cc im gia li t bo. xc nh cc hng y ta cn mt s vect thay v line. l l do ti sao ta s to ra mt tp cc vect bi hai b im ny to ra hng cho component <line SDL>.

Hnh.4.5. To vect t cc im ca li u tin hng ti cc im ca li th hai ca component <vector 2pt> (Vector> Vector> vector 2pt). Component ny to ra vect bng im bt u v im cui ca vect.
56

GENERATIVE ALGORITHMS

hnh.4.6. <line SDL> to ra lot cc line t li im th nht tri ra vo khng gian bi v kch thc ln hn ca li th hai. Ta c th thay i chiu di ca line bng <number slider> v ta c th thay i hng ca chng bng cch thay i kch thc ca li th hai. Bc tip theo, ta mun thm mt a gic phn cui ca mi ng v extrude n n im bt u ca line cm nhn tim nng sinh ra ca cc component ng cong. to ra cc a gic, ta c thm mt mt phng ti im cui ca line l mt phng c s c th to ra cc a gic.

Hnh.4.7.bng cch dung component <end points> (Curve > Analysis> end points) v dung <endpoints> nh l gc to cho tp hp cc mt phng, ta c th to ra cc mt phng c s. y ta dng component <Plane Normal> (Vector> Plane) to ra cc mt phng bng mt im gc v m vector theo trc Z cho mt phng(vector php tuyn l vector vung gc vi mt phng). y ta dng nhng vector ca line nh l vector php tuyn ca mt phng.

57

GENERATIVE ALGORITHMS

Hnh .4.8. thm vo component <polygon> v dng cc mt phng c to ra nh l mt phng c s cho cc lc gic, chng ta c mt tp hp cc lc gic im cui v vung gc vi cc line to ra.nh cc bn thy, nhng lc gic ny c chung mt kch thc nhng ta mun c s thay i v kch thc to ra mt hnh dng mt m hn.

hnh.4.9. Vi component <List Length> ta nhn c s lng line v cc component <function> tip theo l cn bc hai ca cc u vo (F (x) = Sqrt (x)), tnh ton s lng line mi hng. Ta s dng mt component <series> vi im bt u v kch thc bc (step) = 0,1. V vy, ta to ra mt danh sch cc s t ln dn ln bng s lng cc a gic mi hng. c th s dng cc gi tr cho tt c cc a gic, ta nhn i cc danh sch d liu vi s lng ct ( y bng s lng hng) v gn n vo
58

GENERATIVE ALGORITHMS

u vo (R) ca a gic. Nh bn c th nhn thy trong model, mi hng, kch thc ca a gic dn dn thay i v m hnh ny lp i lp li n ngi cui cng.

Hnh4.10. trong bc cui cng, ta dng component <extrude point> (Surface>Freeform) v ta gn im bt u ca line nh l im m ta mun cc luc gic extrude.

Hnh.4.11. By gi s dng Remote Control Panel t View menu, bn c th thay i cc gi tr ca number slider mt cch d dng v chn ci tt nht. ng qun b chn Preview ca nhng d9oi61 tng khng cn thit i.
59

GENERATIVE ALGORITHMS

Hnh.4.12. Final model

60

GENERATIVE ALGORITHMS

4_3_Combined Experiment: Swiss Re

Ngy nay n thit k concept ta thp vi cc phng php m hnh ha kt hp l rt ph bin.N cho php cc nh thit k to ra cc m hnh khc bit, n gin v nhanh chng. C tim nng rt ln thay i thit k sn phm v tm cc concept kh nhanh chng. y ta quyt nh m hnh mt thp v ta ngh rng thp "Swiss Re" ca Foster c v l cho thch hp nht. u tin, hy c mt ci nhn s qua v cng trnh:

Hnh.4.13. Swiss Re HQ, 30 St Mary Axe, London, UK, 1997-2004, Photos from Foster and Partners website, http://www.fosterandpartners.com.

Hy ta ni cho bn v concept. Ta s v mt vng trn nh l phc tho ca thp v sao chp n lm cho mt s tng m mt tin s thay i cong ca n. Sau , ta s thay i t l cc tng ph hp vi hnh dng, ta s lm v bao ca thp. Cui cng, to ra cu trc c th n l ca mt tin ta s thm phn a gic. thc hin qu trnh ny, ta gi nh kch thc, t l v ta s gii quyt model bng hnh hc rt n gin lm cho qu trnh n gin.

61

GENERATIVE ALGORITHMS

Hy bt u vi sn. Ta bit rng tng ca Swiss Re l vng trn c mt s vt ct hnh ch V-xung quanh chng, nhng ta ch s dng mt vng trn n gin lm cho cc phc tho ca thp. Ta mun sao chp nhng tng cao nht nh lm cho n c th chay thay i t l thp mt cch trc quan. Nh ta ni, nhng im ny c t cc v tr thay i cong mt tin

Hnh.4.14.component <circle> vi <number slider> ng vai tr nh bn kinh l phc tho ca thp. Vng trn c sao chp 6 ln bi component <move> theo hng Z bng component <Zunit. Nhng con s ny c cung cp bi set multiple numbers bng tay v chng l nhng gi nh v khong cch ca cc b phn khc nhau ca thp (da trn kch thc ca vng trn c s).

Mc d ta to ra nhng vng trn c bn ny, tt c nh nhau, nhng chng ta bit rng tt c cc tng khng c cng kch thc, v vy chng ta cn rescale chng; Nu chng ta nhn vo cc phn ca thp, chng ta s thy rng t mt vng trn trnt, chng tr nn ln hn ln n cao no , sau tr nn nh hn v nh hn ln n im cao nht ca thp.V vy, ta cn phi rescale cc tng mu, c ngha l ta phi cung cp mt danh sch cc h s scale. y mt ln na ta s s dng mt gi nh v cc h s scale ca cc tng mu. Bn c th thay i nhng con s ny xem nu project ca bn trng ging nh thit k ban u, nhiu hn hoc t hn.

62

GENERATIVE ALGORITHMS

Hnh.4.15. Ta cn mt component <scale> (XForm > Affine > Scale) rescale tng mu. Cc component <scale> cn geometry, tm im scale,h s scale.V vy, ta cung cp mt phn hnh hc ca n bi cc tng hoc vng trn l output ca cc component <move>.Tm im c xc nh trc rng l im gc to , nhng nu ta scale tng bng gc to nh l t, im, chng s dch chuyn trong khng gian bi v chiu cao ca chng cng b scale. Ta cn nhng tm scale tng tng t ti mi tng. l nguyn nhn ta dng component <center>(Curve > Analysis > Centre) to ra tm ca ng trn. Bng vic ni n vo <scale> bn c th nhn ra rng nhng ng trn s c thay i t l m khng cn chuyn v Mt ln na ta phi ni rng cc h s scale l gi nh trong cc cao mu m ta tng thc hin trc . Nhng gi tr ny c th c thay i kt hp tt nht ph hp vi tng th. Tt c chng c thit lp trong component <numbe>

Hnh.4.16. By gi nu ta loft cc tng bng component <loft> (surface > freeform > loft) hnh Hnh u tin ca thp xut hin. Tng cht mt, ta nn b chn ty chn preview ca cc im v ng cong to ra trc y lm sch.

63

GENERATIVE ALGORITHMS

Ok! By gi n cc yu t mt ng. Mt ng cc yu t cu trc c hnh dng xon c c mt ct ngang nh hai hnh tam gic kt ni, nhng mt ln na lm cho n n gin, ta ch model mt phn c th nhn thy ca n l gn ging nh mt hnh tam gic. Ta cn nhng phn loft to ra khi tch ca chng. Ta mun to ra nhng phn hnh tam gic trn mt ng. lm c iu , trc tin ta cn phi tm v tr ca nhng hnh tam gic trn mt ng. Ta ngh rng nu ta to ra mt ng cong trn b mt mt tin v chia n, n s l mt ni chp nhn c tha nhn tt c cc hnh tam gic trc khi bin i .

Hnh .4.17. ta dung <end point> component ly im u/ cui ca tng in hnh. Bng cch gng nhng im ny nh l nhng im thng ng cho component <interpolate> (curve > spline > interpolate) s to ra mt ng cong nm trn mt ng

Hnh .4.18. y ta chia ng cong <interpolate> thnh 40 phn. s lng ca s chia gip cc component trn mt ng mm mi hn.

64

GENERATIVE ALGORITHMS

Hnh.4.19. By gi , cc im chia tr thnh cc im c s hnh thnh cc <polygon> trn mt ng. ta gi tr choslide l 3 tao ra tam gic v R -kch thc ca cc component c kim sot bng <number slider>

Hnh .4.20. cc component cu trc mt ng l cc vng xon quay quanh b mt ti nh ca cng trnh. t c iu ny, ta phi xoay tt c cc phn tam gic dn dn. Ta mun s dng component <Rotate> v ta cn phi cung cp cc gc quay. Nh ta ni, gc quay phi l mt danh sch cc s ngy cng tng t t. Cc component <series> y to ra cc gc quay v n c nhiu i tng nh cc component <divide> (im tam gic). V vy, kt qu, tt c phn hnh tam gic xoay xung quanh mt tin.

65

GENERATIVE ALGORITHMS

Hnh.4.21. By gi, nu ta <loft> tt c cc tam gic li vi nhau, bn s thy mt component n gin ca mt ng xut hin. Gc quay v kch thc ca cc component hon ton c kim sot nn chng ta cn phoi61 hp to ra mt mt ng tt nht

Domains Nh ta cp trc y, cc Domain (min)( hoc khong) l cc dy s hc. chng l nhng s thc t gi hn di v gii hn trn. T nay khi ta ni s thc c ngha l chng ta c nhng con s v hn gia, c ngha l chng ta cn nhng loi khc nhau trong vic s dng nhng min s hc ny. chng ta c th phn chia mt lot s v c phn chia nh s phn b u gia hai thi cc y ta mun phn b cc yu t mt ng xung quanh vng trn c s. lm c iu , ta cn mt khong bao ton b vng trn c s.

66

GENERATIVE ALGORITHMS

Hnh .4.22. Mt component <interval> (Scalar > domain > domain) c s dng xc nh min s t 0-360. Phm vi s c phn chia bi mt component <range> thnh 10 phn v kt qu c s dng nh l gi tr gc cho component <rotate>.V vy, nh n c hin th trong hnh Hnh di ,tt c cc yu t mt ng c phn bo xung quanh vng trn c s.

Hnh.4.23. by gi, nu ta <mirror>(XForm > Euclidian > Mirror) nhng hnh xoay bng <YZ plane>(Vector > Constants > YZ plane) ta s c cc yu t mt ng trong mt hnh dng xon c c nhn i. V vy, cui cng ta c mt hnh hc hnh dng mng tinh th xung quanh thp.

67

GENERATIVE ALGORITHMS

Hnh.4.24. xem li mt ng mt ln na, chng ta c mt din th ca Swiss Re.

Hnh.4.25. to ra i tng hnh hc trong Rhino, chn nhng component mun th hin trn mn hnh, chn bake selected objects t thanh cng c trong canvas

68

GENERATIVE ALGORITHMS

Hnh 4.26. M hnh hon thin. Mc d n c th khng chnh xc vi ci gc, nhng phc tho mt m hnh trong thi gian ngn th n thc s hu ch

Hnh.4.27. gia cc component cu trc chnh cn c cc cu trc vi t l nh hn v ta chc rng cc bn c th t mnh model chng.

69

GENERATIVE ALGORITHMS

4_4_On Attractors

Attractor mt tp hp cc trng thi ca mt h thng nng lng vt l c xu hng pht trin, bt k cc iu kin bt u no ca h thng. Mt im ht (point attractor) l mt attractor tn ti trng thi n l. V d, mt hn ln trong mt ci t trn trn lun c xu hng ln v im thp nht l y t, vy trng thi cui cng v s bt ng l mt im ht (point attractor). (Dictionary.com/Science Dictionary)

Hnh.4.28. Strange Attractor (Illustration from: http://www.cs.swan.ac.uk/~cstony/research/star/)

70

GENERATIVE ALGORITHMS

Trong thit k v hnh hc, nhng im ht s l cc component (thng l im, ng hoc bt k dng hnh hc no) nh hng n cc hnh hc khc trong khng gian, thay i trng thi v lm chng dch chuyn, xoay, hay thay i kch thc vv.vv Chng c th biu l r khng gian quanh chng, v xc nh c vng hot ng vi bn knh nh hng. im ht c ng dng khc nhau trong thit k tham s v chng c kh nng thay i ton b cc hnh khi thit k. Khi xc nh c vng nh hng, cc im ht cng c th tc ng n h thng nhng tc nhn (agent). Ci cch v ln lc m nhng im ht tc ng ln vt th khc th u c th iu chnh c. Chng ta s xem xt khi nim v im ht trong nhng trng hp khc nhau, nn trc tin ta s c mt vi v d n gin.

Point Attractors Ta c mt h nhng im m ti s to ra cc a gic. Ta cng c mt im t tn l <attractor _1> v v mt ng trn <circle> quanh n d nhn bit. im <attractor_1> ny s tc ng ln tt c cc a gic <polygon> trong vng hot ng ca n. iu c ngha l da vo khong cch gia mi a gic v im <attractor_1> , v trong phm vi nh hng ca im ht <attractor_1> mi a gic s thay i kch thc ca n.

Hnh.4.29. Cc im gc <point_grid>, cc a gic <polygon> v im ht <attractor_1>

Ta c mt h nhng im m ti s to ra cc a gic. Ta cng c mt im t tn l <attractor _1> v v mt ng trn <circle> quanh n d nhn bit. im <attractor_1> ny s tc ng ln tt c cc a gic <polygon> trong vng hot ng ca n. iu c ngha l da vo khong cch gia mi a gic v im <attractor_1> , v trong phm vi nh hng ca im ht <attractor_1> mi a gic s thay i kch thc ca n. .

71

GENERATIVE ALGORITHMS

Hnh.4.30. Khong cch c chia nh kim sot lc ca <attractor_1>. Ta cng to ra mt nhm cluster gm <attractor_1> v <circle> to thnh im ht. Bn c th bin i bt k nhm hnh hc no thnh nhm cluster bng cch chn chng v dng lnh make cluster from selection t thanh toolbar ca canvas (hoc Arrange menu hoc Ctrl+G) By gi nu kt ni <div> component vi bn knh R ca <polygon> ta c th thy rng bn knh ca cc a gic tng ln khi chng cng xa im ht <attractor_1>. Mc d iu ny c v n nhng chng ta vn cn kim sot bn knh ti a ca cc a gic. Mt khc nu chng cng ra xa, chng s rt ln v ct nhau mt cch chng cho (iu ny cng xy ra nu lc ht ca <attractor_1> qu ln). V vy ta phi t kim sot bn knh ti a ca cc a gic.

Hnh 4.31 Dng <minimum> component (Scalar > Util > Minimum) vi mt s xc nh, ta s c thut ton chn ra mt gi tr t <div> component lm bn knh ln nht ca <polygon>, sao cho gi tr ny nh hn con s ta xc nh bi <number slider>. Nh ta thy trong hnh, c nhng a gic trong vng nh hng ca im ht th thay i bn knh, trong khi nhng a gic khc th khng. By gi nu di chuyn v tr ca <attractor_1> trong mt phng lm vic ca Rhino, ta c th thy rng cc a gic s thay i bn knh ty theo v tri ca <attractor_1>.
72

GENERATIVE ALGORITHMS

Hnh 4.32 Tc ng ca <attractor_1> ln cc a gic. Khi thay i v tr im ht th cc a gic cng thay i theo. .

Hnh 4.33 Vi khi nim tng t, ta c th thay i cc a gic trong trc Z da vo gi tr ly t <Min> component hoc thay i n bng mt hm s ton hc khc.

Ta c th thc hin bt k thut ton no vi cc a gic ny nh xoay, thay i mu sc, vv.vv. Nhng iu g s xy ra nu ta c 2 im ht trong cng mt vng. Ta to mt nhm cluster khc, tc l mt im khc trong Rhino c gn vi nhm <point> v <circle> trong Grasshopper.

73

GENERATIVE ALGORITHMS

Phn u tin ca thut ton th gn nh ging nhau. Ta li o khong cch gia im <attractor_2> ny vi tm ca cc a gic hay cc im li <pt_grid>, sau tm <min> ca cc khong cch ny v xc nh bn knh ln nht ca a gic.

Hnh 4.34 Thut ton tng t i vi im ht <attractor_2> By gi ta c 2 bng d liu khc nhau l khong cch t cc a gic n mi im ht. V cng gn im ht th cc a gic cng chu tc ng nhiu, nn ta s tm im ht no gn hn v dng n lm ngun tc ng. Ta s dng <min> component tm khong cch nh nht hay im gn nht.

Hnh 4.35. Tm im ht gn hn. Sau khi tm c th cc bc cn li tng t nh trn. By gi cc a gic u chu tc ng ca cc im ht.

74

GENERATIVE ALGORITHMS

Hnh 4.36 Thay i v tr im ht thy tc ng ca n i vi cc a gic.

Ta c th c nhiu im ht hn na. Khi nim ny l tm im ht no gn vi a gic hn th tc ng ln a gic . Vic chn ra ci no gn hn c thc hin bi <min> component, v chng ta cng c nhng cch chn khc s c gii thiu sau. C nhng cch khc x l vi cc im ht nh <cull> component (chn lc). Vi phng php ny bn cn c bng d liu khong cch gia cc a gic v cc im ht, sau la chn khong cch ngn nht bng hm Boolean a>b. C rt nhiu v d v ch ny trn mng nn ta hi vng cc bn c th t tm hiu thm.

Curve Attractors: Wall project Chng ta s hon thnh cuc tho lun ny vi mt v d khc nhng l v ng ht v trong nhiu trng hp bn phi xc nh r trng vt th bng ng ht thay v im. y mc tiu ca ta l to ra mt bc tng xp, l r cho mt khng gian ni tht c th nhn xuyn sang bn kia. Vic ny c th c ct t tm vt liu. Trong khng gian thit k, ta c mt tm phng (bc tng), 2 ng cong v nhng im c phn b t do. Ta s to ra cc hnh ch nht t nhng im ny, dng n ct tm tng to ra bc tng b c l. Ta t chc cc hnh ch nht theo 2 ng cong cho, cc hnh ch nht ny khng ln xn m c phn b ngu nhin da theo nhng ng cong ny.

75

GENERATIVE ALGORITHMS

iu ta cn l to ra l mt nhm cc im ngu nhin v di chng n gn cc ng cong da vo lc ht ca cc ng ny. Ta s tnh tin cc im ny n c 2 ng cong nn khng cn chn ng no gn hn, ta tnh tin cc im ny da vo khong cch ca chng vi cc ng cong. Sau ta s to ra hnh ch nht t 3 im, cui cng ta xc nh c kch thc ca cc hnh cha nht da vo khong cch ca chng n cc ng ht.

Hnh 4.37 To lp mt bng nhng im <point> phn b ngu nhin v ng ht bng 2 <curve> component (Params > Geometry > Curve). Ta dng <interval> component (khong, qung) xc nh s khong gia 0 v gi tr ca <number slider> tm phm vi nhng im ngu nhin. Ta s to mt cluster gm <interval>, <random>, <jitter>, and <point> d qun l.

Hnh 4.38 Vi im ht, ta c th tnh tin cc hnh hc khc n n mt cch n gin. Nhng vi ng ht, ta cn tm mt im relative v tnh tin cc im <point> khc n im . V im ny phi l duy nht i vi mi im <point> v l mi quan h 1-1 gia ng ht vi bt k hnh hc no trong phm vi nh hng ca n. Nu ta xem ng ht (attractor) l mt nam chm th n s ko tt c cc im cc vt v pha n. V vy v cn bn iu u tin ta cn lm l tm im gn nht ca <Rnd_pt_grid> trn c 2 ng ht. l nhng im gn nht trn ng ht i vi mi im ca < Rnd_pt_grid>. Ta dng <Curve CP> component (Curve >Analysis >Curve CP) c c im gn nht tr6en 2 ng ht i vi <Rnd_pt_grid>.
76

GENERATIVE ALGORITHMS

Hnh 4.39 tnh tin cc im <point> n cc ng ht, ta cn xc nh mt vector cho mi im trong <Rnd_pt_grid>, t im n im gn nht ca n trn ng ht. V ta c im bt u v kt thc ca vector nn ta dng <vector 2pt> component to vector. im th 2 ca vector < cng B ca component> l im gn nht trn ng ht.

Hnh 4.40 By gi ta s lin kt tt c cc im <Rnd_pt_grid> vi 2 component <move> di chng n cc ng ht. Nhng nu ta s dng vector to bc trc, tt c cc im s b tnh tin n ng ht v khng phi iu chng ta mun. Ta s di cc im lin quan n khong cch ca chng i vi cc ng ht. Ta thy <curve CP> component c mt cng ra (D) cho ta khong cch gia cc im <point> v im gn nht tng ng trn ng cong. Chng ta s khng cn phi o khong cch bng mt component khc. Ta dng mt <Function 2> component v gn khong cch (D) vo cng X v mt <number slider> vo Y c hm X/log(Y) kim sot vic tnh tin cc im (Hm log thay i mi quan h dng tuyn gia khong cch v h s kt qu ca vic tnh tin).

77

GENERATIVE ALGORITHMS

Ta s dng <multiply> component (Vector > Vector > multiply), gn vector <vector 2P> lm vector c s v i kch thc ca n bng h s to bi khong cch, v ta gn vector kt qu vi <move> component di <Rnd_pt_grid> n cc ng ht ty theo khong cch ca n i vi cc ng ht.

Hnh 4.41 <number slider> component thay i ln lc m cc ng ht tc ng ln cc im xung quanh ko chng li gn.

78

GENERATIVE ALGORITHMS

Hnh 4.42 Ta dng <rectangle> component (to ra cc hnh ch nht) v gn cc im tnh tin <move> (G) vi cng P ca <rectangle> lm im c s. Ta s thay i kch thc ca cc <rectangle> da vo khong cch ca chng i vi cc ng ht. V vy ta s dng gi tr s tng t nh dng cho vector ln v thay i chng da vo 2 hm. Ta chia gi tr X ca nhng hnh ch nht cho 5 v chia gi tr Y cho 25. Bn c th thy, cc hnh ch nht c kch thc khc nhau da vo khong cch ban u ca chng i vi ng ht.

Hnh 4.43 Thay i cc bin s s cho kt qu khc nhau.

79

GENERATIVE ALGORITHMS

Hnh 4.44. Hiu ng sau cng l bc tng b c l r.


80

GENERATIVE ALGORITHMS

CHNG_5_Parametric Space

81

GENERATIVE ALGORITHMS

Kho st ca chng ta trong quan st cc i tng trong khng gian, nhng hnh thc k thut s, s khc nhau trong vic kt ni cc thnh t v nhiu qui trnh ca cc th h hnh thi, t nhng tng c in v i xng v m hnh khi n NURBS, Meshes. Chng ta ang xoay tr vi cc i tng. Nhng i tng ny c th l hnh boxes, hnh cu, hnh nn, curve,mt phng hoc bt c point ni no ca chng. S xut hin ca chng trong khng gian c chia thnh point nh l chiu 0, curve nh 1D, mt phng nh l 2D v khi l i tng 3D. Chng ta xy dng khng gian ca cc h thng phi hp xc nh mt s c tnh c bn nh v tr,hng v o lng. H cc l mt khng gian 3 chiu trong c mt point gc l O = (0,0,0) v ba trc giao nhau ti point ny to thnh trc X, Y v Z. Nhng chng ta nn xem xt rng h thng cng bao gm cc khng gian hai chiu (phng (x, y)) v h thng mt chiu (khng gian tuyn tnh (x)) . Trong khi tham s thit k thay i gia cc khng gian, chng ta cn phi hiu chng nh l khng gian tham s.

5_1_Mt chiu (1D )trong khng gian tham s Trc X l mt ng v hn m c mt vi con s lin quan n v tr khc nhau trn . n gin x = 0 l gc v x = 2,35 mt point trn hng xc nh ca trc X l 2,35 n v t gc. Ni n gin,h thng mt chiu c th c (qui i tham s)parameterised trn bt k curve trong khng gian. V vy, v c bn khng ch cc trc X c mt s con s thc lin quan n v tr khc nhau trn n, m cn bt k curve trong khng gian c th xc nh bi 1 dy cc s thc cho thy cc v tr khc nhau trn curve. V vy, trong khng gian tham s 1D ca chng ta khi chng ta ni v mt point, n c th c m t bi mt s thc m c lin quan vi mt point c th trn mt curve chng ta ang ch ti. iu quan trng l k t khi chng ta khng lm vic trn cc trc X na,bt k curve u c khng gian tham s ring ca mnh v cc thng s ny khng chnh xc ph hp vi h thng o lng quc t. Bt k curve trong Grasshopper c mt khng gian tham s bt u t s khng v kt thc trong mt s thc dng (Hnh 5.1).

Hnh 5.1. Tham s 1 chiu khng gian ca mt curve. Bt k gi tr 't' l mt s thc lin quan n mt v tr trn curve.

82

GENERATIVE ALGORITHMS

V vy, ni v mt curve v lm vic, tham kho mt s point c th v n, vi cc point trong khng gian 3D vi p = (X, Y, Z) chng ta c th gi li mt point trn mt curve p = t nh mt tham s c th. V r rng rng chng ta lun lun c th chuyn i khng gian tham s ny n mt point trong h thng iu phi. (Hnh 5.2)

Hnh 5.2. 1D tham s khng gian v chuyn i trong trc ta 3D.

5_2_Hai Chiu (2D) tham s khng gian

Hai trc, X v Y ca trc ta , cc point trn mt b mt phng v hn m trong , mi point trn khng gian ny c kt hp vi mt cp s p = (X, Y). Hon ton ging nh khng gian 1D, y chng ta c th tng tng rng tt c cc gi tr ca khng gian 2D c th c tm trn bt k b mt khng gian no. V vy, v c bn chng ta c th tham s mt trc ta trn mt b mt cong trong khng gian, v gi cc point khc nhau ca n bi mt cp s y c gi l khng gian UV, trong bt k point P trn b mt l P = (U, V). Mt ln na chng ta khng cn phi lm vic vi 3 gi tr ca P = (X, Y, Z) l khng gian 3D tm thy nhng point v thay vo , chng ta c th lm vic vi UV "tham s" ca b mt. (Hnh 5.3)

83

GENERATIVE ALGORITHMS

Hnh 5.3. UV v khng gian tham s 2D. Nhng "Tham s" l c th cho mi b mt ca chnh n v chng khng phi l d liu chung chung nh h thng ta th gii v l l do ti sao chng ta gi tham s! Mt ln na chng ta c th truy cp ti trc tng ng 3D ca bt k point no trn b mt. (Hnh 5.4)

Hnh 5.4. Tng ng vi point P = (U, V) trn h thng trc th gii p = (X, Y, Z).

84

GENERATIVE ALGORITHMS

5_3_S chuyn i gia khng gian

N l mt phn rt quan trng ca thit k tham s bit chnh xc m phi hp h thng hoc khng gian tham s m chng ta cn lm vic, thit k. Lm vic vi nhng curve v b mt t do, chng ta cn phi cung cp d liu cho khng gian tham s, nhng chng ta lun lun cn phi quay tr li kim tra hoc thay i cho ra mt hnh thc mi. N phc tp hn trong scripting, nhng k t khi Grasshopper c mt giao din trc quan hn l m code, bn ch cn xc nh loi d liu m bn cn phi cung cp cho mc ch thit k ca bn. y lu rng n khng phi l mt tham s hoc gi tr trong mt h thng ta c nhc n trong Generative Algorithms v Grasshopper, i khi chng ta cn ch cn mt s ch s lm iu . Nu chng ta lm vic vi lot cc point, ng hoc bt c iu g, v chng c to ra nh mt nhm i tng, ging nh nhng m my point, v mi i tng c lin quan vi mt s t nhin cho thy v tr ca n trong mt list tt c cc i tng, chng ta ch cn gi s in thoi ca i tng l "ch s" ca n thay v bt k h thng trc. Ch s nh cc mng bin( array) trong lp trnh l mt h thng m bt u t 0 (Hnh 5.5).

Hnh 5.5. Ch s s trong mt nhm i tng l mt cch n gin xc nh mt i tng. y l mt h thng m da trn 0 - c ngha l s bt u t 0.

V vy, nh cp trc , trong m hnh lin tng chng ta to ra hnh hc ca chng ta tng bc nh mt vi i tng lin quan v v l do ny, chng ta i vo khng gian tham s ca tng i tng v trch xut thng tin c th ca n v s dng n nh l cc d liu c s cho cc bc tip theo. iu ny c th c bt u t mt vng n gin ca cc point nh tng hp c bn v kt thc cc chi tit nh kt qu ca m hnh, trong khc nhau h thng th bc.

85

GENERATIVE ALGORITHMS

5_4_Components tham s c bn

5_4_1_ Evaluation Curve

Cc component <evaluate> l chc nng tm thy point trn mt curve hoc b mt, da trn cc tham s chng ta cung cp. Cc component<evaluate curve> (Curve> Analysis> Evalution Curve) c mt curve v mt tham s (mt s) v cung cp cho tr li mt point trn curve tham s .

Hnh 5.6. Point evaluation trn <curve> trn tham s c th m xut pht t slider> <number.

Hnh 5.7. Chng ta c th s dng bt k <curve> nhp t trong Rhino hoc trong Grasshopper <evaluate>. V bn thy rng chng ta c th s dng <series> cc con s nh cc thng s <evaluate> thay v mt tham s. Trong v d trn, bi v mt s con s ca cc component <series> l ln hn so vi sc cha ca curve, bn thy rng component<Evaluate> cho ti cHnh bo (s tr thnh mu cam) v point xc nh v tr trn curve tng tng.

86

GENERATIVE ALGORITHMS

Hnh 5.8. Mc d 'D' output ca cc component <curve> cho chng ta min ca curve (cc thng s ti thiu v ti a ca curve), cch khc chng ta c th cung cp mt component <curve> t Param > Geometry v trong menu ca n, kim tra Reparameterize option(clik phi vo component). N thit lp min ca curve 0-1. V vy, v c bn ti c th theo di tt c cc <curve> di bi mt <slider number> hoc thit lp s bt k gia 0 v 1 v khng lo lng rng cc thng s c th i vt ra ngoi min s ca curve.

C nhng components hu ch khc cho parametric space trn curve trong Curves> Analysis / Division m chng ta s ni v chng sau ny.

5_4_2_ Evaluation b mt Trong khi evaluation mt curve, chng ta cn mt s nh mt tham s (v curve l khng gian 1D) cho cc b mt chng ta cn mt cp s nh cc thng s (U, V), vi chng, chng ta c th evaluation mt point c th trn mt b mt. Chng ta s dng components<evaluate surface> (Surface> Analysis> Analysis) evaluation mt point trn mt b mt thng s c th.Chng ta ch n gin l c th s dng cc components <point> evaluation mt b mt bng cch s dng n nh l u vo UV ca <Evaluate surface> (b qua Z) v bn c th theo di s point ca bn trn b mt ch bng X v Y ca <point> nh cc thng s U v V

87

GENERATIVE ALGORITHMS

Hnh 5.9. Mt point d <Evaluate> cc <surface> da trn U, V cc thng s n t cc <slider number>vi mt components <point> m lm thnh mt cp s. Mt ln na nh curve, bn c th kim tra 'Reparameterize' trn menu ca cc <surface> v thit lp cc min ca b mt 0-1 trong c hai hng U v V. Thay i U v V <number slider> v xem <evaluate> di chuyn point d nh th no trn b mt (ti i tn X, Y, Z u vo ca cc component thnh U, V, bng tay).

Hnh 5.10. Chng ta cn <points> evaluation mt <surface> nh bn thy, chng ta c th s dng bt k phng php m chng ta s dng to ra point evaluation trn <surface> v la chn ca chng ta l khng gii hn ch ni mt cp cc thng s t <number slider> , v chng ta c th theo di mt b mt point vi rt nhiu cch khc nhau.

Hnh 5.11. phn chia mt b mt (nh v d trn) trong cc hng v ct nht nh chng ta c th s dng <Divide surface> hoc nu chng ta cn mt s plane trn cc hng v ct ca mt b mt, chng ta c th s dng <frame surface> c hai u t surface tab di util panel .

88

GENERATIVE ALGORITHMS

5_4_3_Curve v b mt point gn nht Chng ta lun lun khng c tham s tm point, mt s ln chng ta point v chng ta mun bit tham s ca n s dng hn na. iu ny l khi vic tm kim point gn nht n chi. <Curve CP> v <surface CP> components (curve / b mt gn nht point) l hai components gip chng ta lm iu .

Hnh 5.12. <Curve Cp> and <Surface CP> gip chng ta tm thy nhng tham s ca mt point trn mt curve hoc b mt. C cc components khc m bn cn phi cung cp cc thng s ny.

5_5_ i tng ph bin trong tham s khng gian V rt nhiu l do thit k, cc nh thit k s dng b mt pht trin mt s hnh hc khc da trn chng. C nhiu phng php x l vi cc b mt nh Penalisation, nhng y ti s bt u vi mt trong nhng th n gin nht v chng ta s ni v nhng phng php khc sau ny.

Chng ta c mt b mt t do hnh thc t do v hnh hc n gin nh mt boxes. Cu hi t ra l, lm th no chng ta c th pht trin boxes ny trn b mt, v vy ta c mt b mt a dng nh mt ci v, trong chng ta c quyn kim sot (b mt) v (boxes) ca thit k , nhng bng cch kt hp.

lm c iu ny, chng ta nn phn chia b mt thnh cc phn mong mun v to ra ci boxes ca chng ta t nhng point c th trn b mt v iu chnh li nu chng ta mun c thao tc chnh xc v tr ca cc i tng ny.

89

GENERATIVE ALGORITHMS

To v tr mong mun trn b mt rt d dng. Chng ta c th phn chia b mt hoc chng ta c th to ra mt s point bt k da trn d liu s m chng ta mun.

V cc thao tc v tr hnh hc, mt ln na chng ta cn mt s tp hp d liu s c th c s dng cho bin i nh xoay, di chuyn cc b, thay i kch thc, iu chnh, v.v

Hnh 5.13. Mt hnh thc t do, reparameterized, <surface> >> <evaluate> bi <range> t 0-1, chia cho 30 bc <slider number> trong c U v V. ( y bn c th s dng <divide surface> nhng ti s dng components <point> nhc li cc k thut to point t chng hai l la chn c th chn vo th nghim).

Hnh 5.14. Nh bn thy cc components <evaluate> cho normal' v 'plane ca bt k point evaluation trn b mt. Ti s dng nhng plane hoc frames to ra hng lot <boxes> trn trong khi kch thc ca n c kim sot bi <number slider>. cc components <boxes> (surface>primitive> center boxes) cn trung tm ca boxes v chiu di ca n (X, Y v Z)
90

GENERATIVE ALGORITHMS

thao tc cc boxes tng v tr, ti ch quyt nh xoay chng .Ti mun thit lp song song vi trc quay song song vi hng U ca b mt v da vo tnh trng ca b mt n gin ny, ti s chn mt phng XZ l mt phng c s cho vic quay ca chng (Hnh 5.15).

Hnh 5.15. Xoay ti ch ca boxes.

Hnh 5.16. Cc component <rotate> cn ba yu t u vo. u tin l hnh hc c ngha l <boxes>. Mc th hai l gc quay. Ti mun xoay chng bng gi tr ngu nhin (bn c th xoay chng dn u hay bng bt k cch no khc) v vy ti mun to ra mt tp hp cc s <random> v thit lp cc gi tr ngu nhin vo tng boxes. V vy, ti ch c s dng mt components <list length> thc hin gn vo cc <boxes> ti c v gn n vo u vo 'N' ca component <random> v km theo cc gi tr ngu nhin nh cc gc quay cc components <rotate>. Cui cng xc nh plane ca trc, ti to ra <XZ plane> trn bt k point no m component <evaluate> trn component <surface> v gn n vo components <rotate>.
91

GENERATIVE ALGORITHMS

ng qun b chn Preview ca cc i tng trc y c to ra tng cng hiu sut ca my tnh

Hnh 5.17. kt qu cui cng.

Hnh 5.18. Hy th kt hp cc khi nim khc nhau trong project ca bn. y thay v cc gi tr ngu nhin cho vng quay ca boxes, ti s dng mt point attractor v thit lp khong cch ca n t mi
92

GENERATIVE ALGORITHMS

boxes l yu t quay v nh bn thy, kt qu mi c th hin trong th nghim. y l nhng k thut thao tc v tr ca cc boxes, nhng bn bit rng bn c th p dng cc thay i vi quy m chung.

S dng khng thng nht evaluation Trong mt project, tng ny n tm tr ca ti rng ti sao ti lun lun s dng phn phi thng nht ca cc point trn b mt v thm cc components vo n? C th thit lp mt s tiu ch v nh gi b mt ca ti trn c s v chn v tr c th trn b mt? Hoc v chng ta s dng U, khng gian tham s V v tp hp d liu gia tng (hoc gia tng vng trong scripting) l chng ta lun lun gii hn cho mt b phn hnh ch nht trn b mt? C vi cu hi lin quan n theo di thng s ca mt b mt, nhng y ti s ch ti mt v d n gin hin th nh th no trong cc tnh hung c th chng ta c th s dng mt s cc thng s U, V ca mt b mt v khng phi mt mng li hnh ch nht thng nht

Columns Example Ti c hai b mt hnh thc t do nh mt lp bao che cho khng gian v ti ang ngh n vic to ra mt khng gian cng ng m gia. Ti mun thm mt s ct gia cc b mt ny, nhng v chng l hnh thc b mt t do v ti khng mun to ra mt mng li cc ct, ti quyt nh gii hn chiu di ca ct v thm nhiu ni cng tt cc v tr nht nh vi chiu cao gii hn . Ti mun thm vo hai hnh nn ngc v giao nhau nh cc ct trong khng gian ny, ch l mt hnh dng n gin.

Hnh 5.19. Ti gii thiu hai b mt chung Grasshopper <srf_top> v <srf_bottom> nh bao gm khng gian v ti Reparameterized chng. Ti cng to ra mt <range> 0 v 1, chia <number slider>, v bng cch s dng mt components <point> v <evaluate> d cc b mt ny ti <points>.

93

GENERATIVE ALGORITHMS

Hnh 5.20. Tip theo, ti to ra <line> gia tt c nhng point ny, nhng ti cng o khong cch gia hai point bt k

.Hnh 5.21. By gi ti cn trch xut cc dng ti mun t list. y ti s dng mt components <dispatch> (logic> Llist> dispatch) chn ng ca ti t list. Mt components <dispatch> cn d liu Boolean m lin kt vi cc d liu t list, gi nhng d liu lin quan vi ng l u ra A v sai u ra B. Cc d liu Boolean n t mt chc nng so snh n gin. Trong component <function> ny s so snh di vi mt s nht nh (coi nh l chiu di ti a) (x>y, x = <number slider>, y = <distance>). Bt k chiu di no t hn <slider number> to ra mt gi tr tht theo chc nng v cho php n thng qua cc components <dispatch> vi gi tr A. V vy, nu ti s dng line c cho qua <dispatch> th ti chc chn rng chng u nh hn so vi di chn t slider.

94

GENERATIVE ALGORITHMS

Hnh 5.22. Hnh dng ca cc ct l hai hnh nn ngc c giao nhau gc nhn ca chng. y ti c trc ca ct, ti mun v hai vng trn ti cc point cui ca trc v sau extrude theo cc point on curve v lm cho chng giao nhau.

Hnh 5.23. Bng cch s dng mt components <end point> ti c th nhn c c hai u ca ct. V vy, ti km theo nhng point ny nh cc point c s lm cho <circle> vi bn knh t cho. Bn bit rng nhng vng trn c bng phng nhng b mt ca chng ta l khng phng. V vy, ti cn phi <project> vng trn ca ti trn cc b mt chnh tm thy hnh dng khp theo b mt. Ti s dng mt components <project> (Curve> util > Project). B l mt phn ca <project> kt ni vi b mt trn v di.
95

GENERATIVE ALGORITHMS

Hnh 5.24. Bc cui cng l extrude nhng vng trn ny theo cc point quy nh trn trc ct (Hnh 5.23). Ti s dng components <extrude point> v sau ti gn ng trn vo <project>. Cho cc extrusion point, ti nh km 'trc vo mt components <curve> v ti Reparameterized' chng, sau ti <evaluate> d chng trong tham s c th l 0,6 cho hnh nn hng trn v 0,4 i vi t bo hnh nn hng di.

Hnh 5.25. Mc d trong v d ny, mt ln na ti s dng li da trn mt b mt, ti s dng cc tiu chun khc chn mt s point v khng phi tt c trong s chng u thng nht.

96

GENERATIVE ALGORITHMS

Hnh 5.26. M hnh cui cng tng dng tham s khng gian cho curve v cc mt phng sn sinh ra cc khi, c rt nhiu la chn v gii php. ng suy ngh vo 1 cch duy nht, hy c gng khai ph nhiu hn. Chng ta s thy ngay sau y.

97

GENERATIVE ALGORITHMS

5_6_ Cy d liu

By gi l lc m ra mt ch mi v qun l d liu trong Grasshopper c gi l cy d liu ni v tham s khng gian v vic s dng cc component lin quan, bn thc s cn Cy d liu ny khi lm vic vi cc model phc tp, c bit l i vi nhng tham s khng gian ca ng cong v b mt. Mt trong nhng tim nng to ln ca cc thut ton to ra tham s l chng cho php ta thit k v qun l hng trm component lin kt cht ch vi nhau . lm vic vi mt s lng ln component, i khi cn phi p dng lnh cho tt c v thnh thong ch cn chn mt mc v p dng mt lnh n. V vy, chng ta cn phi c quyn truy cp vo cc component v qun l d liu (cc component ) theo nhiu cch khc nhau . Hy tng tng chng ta c 5 ng cong trong khng gian thit k v chng ta chia n thnh 10 phn. By gi chng ta mun chn tt c cc im th hai ca nhng ng cong ny v kt ni chng li vi nhau vi mt ng cong ni suy mi.

Hnh.5.27. Mt component <curve> vi 5 ng cong, tt c u <Divide> d 10. Nu bn chn s ch s l 1 vi component <item> t im phn chia, bn s thy rng tt c cc im th hai ca ng cong c la chn, khng ch l im th hai ca dng u tin. Nhng nu bn ni nhng im ny vi mt component <interpolate> v mt ng cong, bn s thy <interpolate> cho thy li v khng rt ra bt c iu g! y hiu c vn chng ta hy gii thiu mt component hu ch v quan st tnh hnh. y l component <param Viewer> t Params> Special. Hy so snh kt qu:

98

GENERATIVE ALGORITHMS

Hnh .5.28. Component <param Viewer> cho thy mt s thng tin d liu khc bn trong cc component ch ra l do cc li trong <interpolate>. Nhng g bn nhn thy trong <param Viewer> l khi nim ca cy d liu trong Grasshopper. Nh bn c th nhn thy trong Hnh.5.28 component <curve> c 5 ng nhng khi <divide> d nhng ng cong v to ra mt s im cho mi ng cong, nhng im c sp xp vo danh sch d liu khc nhau c gi l nhnh. iu ny c ngha rng kt qu ca component <divide> l khng ch c mt danh sch cc d liu bao gm 55 im,m by gi chng ta c nm danh sch cc d liu u c 11 im bn trong. V vy, cc d liu chnh ca "Cy" c chia thnh cc nhnh to iu kin thun li hn na trong vic s dng v truy cp d dng hn khi thit k. l l do ti sao khi chng ta chn <item> vi ch s l 1,th tc l chn mc c ch s 1 trong mi danh sch.

Hnh.5.29. <param Viewer> vi ty chn kim tra Draw Tree trong context menu ch ra s khc bit gia cc nhnh d liu trong mi component. By gi, ti sao component <interpolate> khng th v mt ng cong ? Vn l g ? Hy c mt cch nhn gn hn vo cc thng tin m chng ta thu thp c :
99

GENERATIVE ALGORITHMS

Hnh.5.30. <param Viewer> v <Panel> A: ng cong v B: la chn ch s 1 im. Trong hnh Hnh u tin ca Hnhure.5.30 <param viewer> ca component <curve> cho thy mt trong nhng nhnh d liu chnh .Nu bn nhn ti <Panel> ca n, bn thy c mt danh sch cc ng cong di tiu ca {0}. Trong Grasshopper {} l biu tng cho cy d liu v hin th cc nhnh m i tng c nh v. V vy, tt c cc ng cong trong hnh Hnh u tin bn di biu tng {0} nm trong cc nhnh chnh. Nu bn quay tr li Hnh.5.28 bn thy rng <param viewer> ca cc <curve>, (ng dn = 1) c ngha l chng ta ch c mt nhnh ca d liu v nhnh {0} ny (N = 5), chng ta c 5 mc . Nhng trong bc Hnh th hai ca Hnh.5.30 chng ta c th thy rng d liu trong cc component <item> c lit k di nm nhnh khc nhau: {00:00} {00:01}, ... {00:04} v l mt trong nhng im mi danh sch. Nu bn kim tra Hnh.5.28 mt ln na bn thy rng <param 3 viewer> c 5 nhnh (ng dn = 5) v mi nhnh ca d liu c mt mc (N = 1 cho
100

GENERATIVE ALGORITHMS

tt c cc nhnh). iu ny c ngha rng d liu c chia thnh nhng nhnh khc nhau v khi chuyn vo component <interpolate>, chng l ring bit vi nhau v component <interpolate> khng th v polyline t nm im ring bit. Vy chng ta gii quyt vn ny nh th no ?

Hnh.5.31. gii quyt vn ny, ta s dng mt component <Flatten> (Logic> Tree)m m thanh, chuyn i d liu t nhiu nhnh ti mt nhnh c th thy trong <param viewer>. Nh bn c th thy trong <panel> th hai, by gi chng ta c nm im di cc nhnh ca {0} v component <interpolate> c thv mt polyline vi nm im ny. tm tt v nm c cc khi nim, chng ta nn hiu rng trong khi lm vic vi nhiu i tng nhng mc khc nhau, d liu c cu trc th bc trong cc nhnh v mi nhnh ca d liu c ng dn ring ca mnh nh mt s ch s trong cho thy cc a ch duy nht ca nhnh (tc l {00:01}). y l iu quan trng bit rng lm vic vi danh sch cc component qun l b nh hng bi cc khi nim ny v nhng component lm vic trn tng nhnh l mt danh sch ring bit. Chng ta c th cn phi to ra cc nhnh d liu ca chnh chng ta hoc gom d liu phn nhnh thnh mt nhnh, hoc nhng loi d liu qun l khc m ta c th s dng trong cc th nghim sau .

101

GENERATIVE ALGORITHMS

Hnh .5.32 Nhng nhnh d liu ca cy d liu Hy a ra mt v d khc lm r thm cc ch : Ti mun thit k mt surface ging nh nhng phc tho trong hnh.5.33 da trn mt mt s dng. Ti c th m t qu trnh mt cch nhanh chng v xem kt qu cui cng .

Hnh.5.33. Phc tho ca surface mong mun.

102

GENERATIVE ALGORITHMS

thit k surface ny, ta to ra hai line cnh trn v di ca mt surface v loft chng li vi nhau. iu ny s to ra mt s surface nh m tt c lin kt vi nhau to ra surface cn dng . Ta nn iu chnh hng ca cc line c th kim sot s khc bit trn surface.

Hnh.5.34. Ti gii thiu mt <surface> c bn trong khung lm vic v ti explode n bng <BRep Components> .(Surface> Analysis) c th chn cc cnh ca n. Sau , ti chn pha di v cnh trn vi <item> c ch s l 0 v 2.

Hnh.5.35. Ti s dng cnh di <offset> (Curve> Util), v ti cng thay i hng ca cnh u vi <Flip> (Curve> Util) bi v ti bit rng cc ng cong cnh di v cnh trn l khng cng mt hng. Ti s dng component <divide> phn chia cc ng cong cnh v to ra nhiu im. (Chng ta c th s dng mt component <divide> nhng ti khng mun lm cho n phc tp).

103

GENERATIVE ALGORITHMS

Hnh.5.36. Mt component <line> c s dng kt ni tt c cc im phn chia vi tt c cc im c offset ng di . <line> Khc c s dng kt ni tt c cc im phn chia u tin vi cc im tip theo ca chng trong danh sch (thay i b p = 1).

Hnh.5.37. by gi nu ti s dng cc component <line> <loft>, bn s thy rng mt surface c to ra m khng nh thit k ca ti, thm ch s dng component <weave> cng khng gip c trong tnh hung ny.
104

GENERATIVE ALGORITHMS

Hnh.5.38. tm kim ti <param viewer> ca cc component <line>, chng ta c th thy rng c hai component ch c mt nhnh d liu v khi loft , n ni tt c chng li vi nhau m khng tch ra thnh nhiu line. Nhng y chng ti mun nhng line nm trong danh sch d liu khc c coi l d liu duy nht khi loft, chng tr thnh nhng cp line.

Hnh.5.39. gii quyt vn ny y ti s dng mt component hu ch l <Graft> (Logic> Tree> Graft Tree). Bn c th thy, kt qu ca component ny l danh sch d liu trong c hai component <line> c chia thnh cc nhnh, mt nhnh cho mi mc trong danh sch. By gi component <loft> ni mi line t danh sch cc d liu u tin vi mt line lin kt trong danh sch d liu th hai. V chng ta thy rng kt qu l mt surface hnh hc ging vi phc tho.
105

GENERATIVE ALGORITHMS

y, vi v d u tin, chng ta phi sp xp d liu trong cc nhnh khc nhau c c kt qu l nhiu ng hnh hc nu nh n khng ch c mt surface lin tc.

Hnh .5.40. y ti phi nhc nh bn mt ln na rng nu bn mun v mt ng cong ni suy trn t cc im c th m bn chn ra trn cc surface nh th ny, v tt c cc surface ny nm trong cc nhnh khc nhau nn d liu v kt qu nh gi cc im s l nhnh khc nhau ca d liu th v mt ng cong tt , bn cn phi <Flatten> danh sch d liu mt ln na, to ra mt nhnh d liu im v ni suy v ra ng cong bn cn . Vn l nhn ra rng trong cc component khc nhau v cc tnh hung thit k, chng ta phi cung cp d liu cho cc nhnh hoc cho mt nhnh, c vi component trong Logic> Tree gip chng ta lm nh vy.

Hnh.5.41. M hnh cui .


106

GENERATIVE ALGORITHMS

Chng_6_ Bin hnh v bin dng (Deformation and Morphing)

107

GENERATIVE ALGORITHMS

6_1_Deformation and Morphing (Bin dng v bin hnh) Deformation (bin dng) v Morphing (bin hnh) nm trong s nhng chc nng mnh m trong lnh vc thit k free-form (hnh khi t do). Vi deformation, ta c th twist, shear, blend, geometry (hnh hc) v vi Morphing, ta c th deform geometry (bin dng hnh hc) t mt hnh thi ny sang hnh thi khc Hy xt n mt v d v s bin dng n gin. Nu chng ta c mt vt th nh l mt qu cu chng hn, chng ta s c mt boundingbox (cage) bao quanh n v nu ta iu chnh bounding-box ny th ta c th bin dng ton b geometry (trong v d ny l qu cu).

Hnh.6.1. Bin dng bi Boundingbox (cage). Tu theo s iu chnh ca chng ta, chng ta c th gi n l shear ho c blend ho c free deformation. i vi bt k chc nng deformation no, chng ta c th cn ton b boundingbox, hoc ch mt mt phng ca n hay thm ch ch l mt im deform (bin dng). Nu bn xem xt k nhng component (i tng) bin dng theo nhi u cch khc nhau trong Grasshopper bn vn c th d dng nhn thy hnh dng hnh hc c bn ca i tng trc khi n bin dng. Morphing (bin hnh) trong lnh vc phim hot hnh c ngha l s chuyn tip t mt bc tranh ny n m t b c tranh khc mt cch mt m v lin tc. y trong khng gian 3D n c ngha l s bin dng t trng thi hoc iu kin ny sang mt trng thi hoc iu kin khc. Morph (bin hnh) mt component (i tng) trong Grasshopper cng hot ng theo cch . C 2 <morph> components, mt ci bin dng vt th t mt reference box (Bounding Box) sang mt target box, ci cn li hot ng vi mt b mt c bn m trn bn c th deform geometry ca bn, trong domain c th ca b mt v chiu cao ca vt th.
108

GENERATIVE ALGORITHMS

Ci u tin l <Box Morph> v ci tip theo l <Surface Morph> c hai u nm trong tab Xform di section Morph. Vi cp lnh ny, nu chng ta s dng nhng box bin dng nh l nhng target boxes th chng ta c th deform bt k geometry no trong Grasshopper bng cch kt hp vi component Box Morph. Nh bn thy trong hnh.6.2 chng ta c mt vt th c gn vo Grasshopper bng component <Geometry>. Vt th ny c mt boundingbox xung quanh n m ti v y ch minh ho. Ti cng c th v mt box khc bng cch lin kt vi cc gi tr m ta c th ch ng iu chnh.

Hnh.6.2. Vt th v box cha ng

Hnh.6.3. Componet <Box morph> (XForm > Morph > Box morph) bin dng mt vt th t mt reference box sang mt target box. Bi v ti ch c mt geometry ti gn n vo nh l mt bounding box hoc reference box v vt th, nhng trong trng hp ny, bn cng c th s dng component <Bounding box> (Surface > Primitive > Bounding box) s dng lm source box. Ti tt ch preview ca component <Box> thy hnh dng sau khi bin hnh r hn.

109

GENERATIVE ALGORITHMS

Hnh.6.4. By gi nu bn ch n gin thay i kch thc ca target box bn c th thy rng morphed geometry s thay i theo.

Hnh.6.5. y bn thy thay v mt box, nu ti sn xut hng lot box, chng ti c th bt u morph vt th nhiu hn na. Nh bn thy cc box c to bi component <series> khc nhau theo trc Y, cng s to ra cc vt th bin hnh khc nhau.

110

GENERATIVE ALGORITHMS

6_2_On Panelization Mt trong nhng ng dng thng dng nht ca chc nng Morphing l Panelization. tng ca panelization l chia nh mt freeform surface (b mt cong t do) thnh nhiu phn nh especially for fabrication issues. Mc d nhng freeform surfaces (b mt cong t do) c s dng rng ri trong cng nghip ch to xe hi, nhng khng phi l mt cng vic d dng cho kin trc bi ta phi x l chng trong t l ln. tng ca panelization l chia mt b mt thnh nhiu phn nh which are easier to fabricate and transport v c th iu chnh sn phm cui cng d dng hn. i khi nguyn nhn l chia mt b mt cong thnh nhiu mt phng nh v tn dng nhng ng cong c to bi cc mt phng which could be then fabricated from sheet materials. C nhiu vn cn c quan tm, kch thc, ng cong, s iu chnh, v..v... m chng ta s tho lun v mt s trong s . Hy bt u vi mt mt phng n gin v mt component s c s dng lm module cho mt phng ny.

Hnh.6.6. Mt b mt cong 2 chiu m ta s s dng th nghim ng dng panelization.

Hnh.6.7. Component m ti mun p ln mt phng.Khng c bit lm, ch v d thi !!!

111

GENERATIVE ALGORITHMS

Hnh.6.8. Trc tin, chng ta cn gn mt phng v module ca chng ta thnh cc component trong Grasshopper. Da trn nhng component c th s dng trong Grasshopper, tng l to ra mt cp hnh hp trn b mt v s dng nhng hnh hp ny lm target boxes v morph cc module vo chng. V vy ti s dng <box morph> v ti s dng bn thn vt th lm boundingbox. By gi chng ta cn to ra target box morph cc component vo chng.

Hnh.6.9. Component m chng ta cn to target box l <surface box> (XForm > Morph > Surface box). Component ny s to ra nhiu hnh hp trn mt mt phng da trn intervals trn surface domain v chiu cao hnh hp. V vy ti gn b mt vi n v kt qu l cc target box cho component <box morph>. y ti cn xc nh domain interval ca cc hnh hp, hoc s lng chnh xc ca hnh hp theo mi hng U v V ca b mt.

112

GENERATIVE ALGORITHMS

Hnh.6.10. By gi ti kt ni <divide interval2> vi <surface box> xc nh bao nhiu khong chia m ti cn trn hai hng U v V. Mt <number slider> xc nh chiu cao ca target box, cng tc s l chiu cao ca cc component sau khi morph. V c bn, ton b tng l n gin. Chng ta to ra mt module (mt component) v chng ta thit k mt b mt. Sau chng ta to ra mt s lng hnh hp nht nh trn b mt ny (gi l target box) v ri chng ta morph module vo trong nhng hnh hp ny. Cui cng chng ta thay i s lng component trong hai hng U v V v cng thay i module update t ng ln b mt surface.

Hnh.6.11. Mt phng cui cng c to t module c bn ca chng ta

113

GENERATIVE ALGORITHMS

6_3_iu khin cp vi m Mc d vic to ra hng lot module trn mt b mt l rt tuyt vi, nhng dng nh vn l mt cch thit k rt chung chung. B mt c to ra vn cn mp m. Chng ta bit rng chng ta c th thay i s lng module, hoc thay i chnh bn thn module, nhng kt qu vn l mt b mt rt khi qut v chng ta khng th iu khin cc b h thng ca chng ta. By gi ti ang suy ngh v vic thit k mt h thng trn c s l cc component m chng ta c th thit lp nhiu hn s iu khin cc b trn h thng v trnh vic thit k nhng b mt chung chung m khng c s phn ng no trong quy m vi m, cc b. gii thiu v khi nim ny, chng ta hy bt u vi mt v d n gin v thc hnh thm mt bi tp na. Chng ti s dng tng v nhng attractor thit lp iu khin cc b cho mt nhm vt th. By gi ti ang ngh v vic s dng phng php tng t thit k mt h thng trn c s l cc component vi ch iu khin cc b. tng l thay i kch thc component (trong trng hp ny, l chiu cao ca chng) da trn hiu ng ca mt attractor dng im.

Hnh.6.12. Mt b mt cong 2 chiu c gn l <Base_Srf> v mt hnh nn c gn l <component> trong Grasshopper, mt <divide interval2> chia b mt, v mt <bounding box> ng vai tr l reference box ca <component>. y ti s dng component <scale> cho bounding box. By gi nu ti thay i kch thc ca bounding box, ti c th thay i kch thc ca tt c cc component trn <base_srf> bi bounding box thay i tc l reference box thay i. Nh bn c th thy, component <surface box> c mt input chiu cao xc nh chiu cao ca hnh hp. tng l s dng nhng chiu cao tng i thay v l mt hng s. V vy thay v gn mt hng s cho chiu cao ca hnh hp, chng ta c th thit lp mi quan h gia v tr ca mi hnh hp hp vi v tr ca attractor.
114

Chapter 6

GENERATIVE ALGORITHMS

iu ti cn l o khong cch gia mi hnh hp v attractor. V cha c mt hnh hp no, ti cn mt im trn b mt ti trung tm ca mi hnh hp o khong cch.

ca hnh hp v attractor. Nh bn thy, chiu cao ca cc hnh hp by gi l khc nhau,tu theo v tr ca attractor.

Hnh.6.14. Ti chia khong cch bi mt h s nht nh iu khin hiu ng ca attractor v ti s dng kt qu lm chiu cao cho target boxes l component <surface box>. B mt m ta gn l <base_srf>, <divide interval2> s dng nh l surface domain v chiu cao c xc nh da theo v tr

115

Chapter 6

Hnh.6.13. y ti s dng cng <divide interval2> cho component <Isotrim> (Surface > Util > Isotrim). Component chia b mt thnh cc b mt con nh hn. Vi cc b mt con ny ti c th s dng mt component khc gi l <BRep Area> (Surface > Analysis > BRep area) s dng mt sn phm ca component ny l Area Centroid cho mi b mt con. Ti o khong cch ca cc im ny (area centroids) vi <attractor> s dng n nh l reference cho chiu cao ca cc target box trong component <surface box>.

GENERATIVE ALGORITHMS

Hnh.6.15. Ch c phn cn li, kt ni vi <component>, <scale> bounding box v <surface box> vo component <morph box> v to ra cc component trn b mt. Bng cch thay i t l scale, bn c th thay i kch thc ca tt c cc component v d nhin, v tr ca attractor cng c th iu chnh.

Hnh.6.16. Kt qu cui cng. Nh bn thy, kch thc ca component bc u c iu khin cc b, da trn nhng c tnh bn ngoi tc ng, m y l attractor dng im. Mc d tng l mt attractor n gin, kt qu c th rt th v v bn c th phn bit cc reference box theo nhiu cch khc nhau. By gi chng ta bit rng khi nim morphing v panelization khng phi lc no cng chung chung khi qut. Chng ta kim tra khi nim, bn hy thc hnh mt bi tp khc.
116

Chapter 6

GENERATIVE ALGORITHMS

6_4_On Responsive Modulation tng cho bc tip theo l iu chnh mt b mt cho trc bng cch iu chnh tng module ca b mt , c ngha l mi module phi c s tng tc vi mt vi tiu chun no . Khng n gin l mt vi s khc bit ca cc module nhng vng khc nhau, y ta mun c mt s iu khin r rng trn c h thng module theo mt tiu chun c cho trc. Nhng tiu chun ny c th l s tng tc vi mi trng, cng nng, tm nhnca cc module v tr khc nhau trn b mt. Trong v d sau y, vi mc ch l lm cho v bao cng trnh tng tc nhiu hn vi mi trng xung quanh, ta s to ra mt h thng phn ng theo nh nng mt tri. Ngoi ra, bn c th t tm ti thm v gi, ma hoc nhng cng nng bn trong cng trnh hoc bt k tiu chun no khc m bn ang quan tm. y ta c mt b mt, c th n l lp v ca mt cng trnh m ta s ph ln n vi hai loi module khc nhau. Mt loi hon ton ng kn, ngn cn s xm nhp ca nh sng mt tri v loi cn li c mt l m. Nhng module ny cn c lp ln b mt lp v da vo hng nng ti ni xy dng cng trnh. Ta s xc nh gc nng hnh thnh thut ton xc nh vi gc nng bao nhiu trn b mt ta s lp module kn v s cn li l module h. Definition ca Grasshopper khng c g mi ngoi nhng concept gip ta to nn s thay i a dng trn lp v thay v ch l dng nn mt b mt chung chung no . C bn khi b mt cong t do v c nhiu hng khc nhau th chc chn gc nng s khc nhau tng phn ca b mt. l tng, da trn s khc nhau ca cc gc hp bi php tuyn ca tng phn trn b mt lp v vi tia nng to nn mt component iu chnh cho h thng module.

Hnh 6.17: Phc tho u tin ca cc module tng tc tia nng trn h thng faade
117

GENERATIVE ALGORITHMS

Nguyn Liu :

Hnh 6.18: B mt ca cng trnh nh mt lp v.

Hnh 6.19: Hai loi module khc nhau dng cho lp v ca cng trnh.

118

Chapter 6

GENERATIVE ALGORITHMS

Hnh 6.21: tnh ton gc gia tia nng v b mt lp v cng trnh, ta s o gc gia tia nng v php tuyn ca b mt tng v tr t module vo. Th ta c th quyt nh loi module no s ph hp trong mt dy cc s o gc ny.Nn sau khi to ra tm im ca tng area, ta cn vector php tuyn ca b mt lp v ti nhng im ny. l l do ti sao ta s dng <Surface CP> tm im gn nht t cc tm im ny n b mt lp v, c c thng s UV v s dng nhng thng s ny <evaluate> b mt cc im chc chc ly c php tuyn.

119

Chapter 6

Hnh 6.20: Bc u tin tng t nh nhng v d trc. Ta p <Surface> v s dng <Divide Interval2> chia nh surface theo tng hng U, V v to ra cc Target Box bng <Surface Box>. Ta cng dng <isotrim> vi cng interval U, V v s dng <Brep area> tm trng tm ca tng area (component c chn mu xanh trn hnh). Cng lc ta dng mt <curve> c nh ngha nh gc mt tri ni xy dng cng trnh, dng <end points> to <vector 2pt> ch r hng nng. Bn c th li, ko curve ny thy hiu ng ca nh sng mt tri theo nhiu hng tc ng ln cc module sau ny.

GENERATIVE ALGORITHMS

Hnh 6.22: Ta s dng <angle> (vector > Vector > Angle) tnh gc gia hng nng v b mt faade. Sau i gi tr gc sang v s dng <function> xem liu cc gc ny c ln hn <max_angle> hay khng. Hm s ny (x>y) s cho ta gi tr Boolean: True cho cc gc nh hn, False cho gc ln hn.

Hnh 6.23: Da trn gi tr Boolean t d liu so snh cc gc, ta <dispatch> (tch?) nhng d liu l Target Box (ta c s lng target box, tm im v php tuyn l nh nhau). Vy c bn ta chia chia cc target box thnh 2 nhm khc nhau v gc nng khi chng nhn nh sng mt tri. Vic cn li ca thut ton n gin v ging nhng g ta lm trc y. Ta ch cn morph cc module vo target box, ch c iu y l lm cho 2 loi khc nhau.
120

GENERATIVE ALGORITHMS

Hnh 6.24: y ta p 2 loi module khc nhau ny nh nhng khi n l v s dng <morph box> cho tng loi kt hp vi mt phn ca d liu <dispatch> to <C_close> hay <C_open> module trn c b mt faade.

Hnh 6.25: By gi nu ta nhn gn hn c th thy trong nhng phn khc nhau ca b mt faade, da vo cng v hng ca tng phn m cc module khc nhau c to ra.

121

Chapter 6

GENERATIVE ALGORITHMS

Hnh 6.26: Model cui cng. Ch chia i ca target box (v d nhin c module) c th nhiu hn 2 loi. Bao nhiu l ty thuc vo thit k v cc tiu chun chng ta s dng. Chng ta c th ngh v cc module hnh thnh nn faade, trong mt vi ci l ng kn, mt vi ci m ra; trong nhng ci m ra ta c th iu chnh mt vi b phn gip hng v v hng cc lung gi bn ngoi, v c nhng l h t iu chnh ph hp vi chc nng bn trong cng trnh v c nh th tip tc. Bn c th thy tng l to nn nhng module c iu khin trong c mt h thng. Ta vn c nhng kt qu ca iu khin trn tng th facade (form) v tng vng khc nhau trn faade (chiu cao, dy hoc kch thc l m) trong c h thng.

122

Chapter 6

GENERATIVE ALGORITHMS

CHNG_7_NURBS AND MESHES

123

GENERATIVE ALGORITHMS

7_1 B mt NURBS tham s (Parametric NURSB surfaces)

Trong cc chng trc,chng ta c mt vi tri nghim vi nhng b mt(Surfaces).Chng ta s dng cc lnh Loft(To b mt bng vic ni cc tit din) v lnh Pipe (to b mt dng ng t 1 ng dn) to ra chng.Chng ta cng s dng nhng b mt t do (Freeform surface) v nhng lnh phn tch b mt (Surfaces analysis) tng ng.Thng thng chng ta s dng thut ng b mt (surfaces) vi ngha nhng b mt t do(free form surfaces) ,chnh l nhng b mt c to ra t cc ng cong (curvels) hay i khi l tp hp(bunch) cc im. Cho nn thng thng th vic to ra cc b mt ph thuc vo nhng ng cong (curvels) m chng ta cung cp cho cng c hnh hc b mt (surfaces geometries).C rt nhiu nhng cng c(component) trong Grasshopper v nu bn c i cht kinh nghim trong vic s dng Rhino th bn nn bit bng cch no ,thng qua nhng cng c ny,c th sn sinh ra cc b mt. C th xem nhng b mt nh nhng sn phm cui cng trong thit k ca chng ta,ging nh l b mt cng trnh(facades),tng .,.v..v.V chnh l l do ti sao chng ta cn rt nhiu phng n c th to ra cc d liu ng vai tr nn tng hnh hc nh im hay tuyn(curvels) v nn nhng b mt cui cng. y ti quyt nh thit k mt cng trnh ht sc n gin nhm ch r rng nhng cng c b mt (surfaces component) a dng ca Grasshopper c kh nng to ra nhng sn phm thit k khc bit bng nhng phng php ht sc c bn. Thp Parametric Trong khu vc Docklands of Thames Lun n,gn Canary Wharf,ni m nhng nhng cng trnh cao tng s c c hi xut hin,c tim nng xy dng mt s cao c.V ti ngh rng chng ta c th cng nhau xut mt phng n y v thit k ny s mt phc tho n gin,ch l th s dng mt vi tng c bn khi lm vic vi cc b mt t do(Free form surfaces).Hy quan st khu vc xy dng trong hnh di y.

Hnh 7.1.Khng Hnh, Canary Wharf, London (image: www.maps.live.com, Microsoft Virtual Earth). Khu t m ti chn thit k d n ny l trn b ca sng Thames,,vi mt tm nhn tt ra sng v gn li vo qung trng khu vc trung tm ca Canary Warf(ng Westferry).Ti ko mun trnh by qu nhiu v khu t v vy chng ta ch hy c mt quan st ni ti d nh t cao c ca mnh v tip tc vi nhng nh v hnh hc.

124

GENERATIVE ALGORITHMS

Hnh 7.2 : Khu t dnh cho ta thp d kin

Phc tho ban u (Manual drawings) C rt nhiu cch bt u phc tho ny.Ti c th v tng trt v sao chp n ln trn ri bt u thao tc vi chng v thm vo nhng chi tit ging nh nhng g chng ta lm vi cao c Swiss Re.Mt cch khc l v nhng ng bao ca cao c v s dng chng nh mt nn tng hnh hc hnh thnh khi tch cng trnh,sau b sung chi tit hon thnh phc tho.Ti s thch cch th 2 hn mt phn v chng ta cng tng lm qua cch 1 cc chng trc. Ti s v nhng ng bao trong Rhino.Ti cng c th v nhng ng ny trong Grasshopper nhng v ti mun lng ghp cc yu t hnh hc ca khu t v vy cng cn mt s d liu khu vc v ti c th ly c theo cch ny. Mt tng le ln trong u ti.Cao c ny s c mt vi yu t dng tuyn lp li trn b mt v ti cng mun t trn mt dng khng gian rng gia ngoi tht v ni tht. Ti cng mun xut mt khng gian cng cng v c kt ni vi cng trnh thng qua cng nhng yu t trn b mt,lin tc t cao c n b sng.

125

GENERATIVE ALGORITHMS

Hnh 7.3.Nhng ng nt c bn ca cao c kt hp vi khu t Nh bn thy hnh &,3 ti v nhng ng nt c bn trong Rhino.Nhng ng nt ny s tng ng vi cc c trng khu t,nh gii hn chiu cao,hnh dng v ng bao ..v..v.. bn ng nt din t cng trnh v hai ng cn li l ng bao khng gian cng cng xut pht t mt t v tip xc vi ng nt cng trnh.Mi ci u c v ht sc tng qut.Bn c th to ra bt c iu g bn thch v i n phn tip theo ca cng vic To nhng component c bn trn b mt cao c

Hnh 7.4. i vi bc u tin, ti nhp ng cong 4 gc thnh Grasshopper bng component


<curve> v sau ti s dng <divide curve> phn chia nhng ng cong ny thnh 40 phn nh cc tng ca thp. Nh bn thy, cc im phn chia c sp xp trong bn chi nhnh d liu khc nhau.

126

GENERATIVE ALGORITHMS

Hnh 7.5. By gi ti c v cc ng c bn cc im phn trn mt tin s dng chng cho cc yu t mt tin. y ti mun v ng t im phn chia ca mi ng cong vi cng mt im ca ng cong tip theo. lm c iu , ti s dng <Explode Tree> gi l <Bang> component (Logic > Tree > Explore Tree ) c quyn truy cp n cc chi nhnh khc nhau ca d liu mt cch ring bit. Ti thm <line> t mi im nhnh vi nhng im tip theo.

Hnh 7.6. Trong bc ny, ti thm vo nhng khng gian rng ca ti cho mt tin vi phn phi ngu nhin. Chng l ellipsoids, gii thiu tt c trong Grasshopper bng component <Geometry>. Ti cng <Merge> tt c trc to ra cc ng.

127

GENERATIVE ALGORITHMS

Component <Trim> mang li cho ti cc phn b ct nh trong v bn ngoi ca khu vc, y ti s dng hn bn ngoi. Ti nng cc phn nh cc yu t tuyn tnh mt tin.

Hnh 7.7. Trong bc ny, ti <trim> ed tt c <merge> d cc ng thng vi nhng <Geo> ny .

Hnh 7.8. y l <curve> ng kt ni vi bn gc thp. y bi v ti cn chng to ra cc b mt khc nhau, ti <exploded> ng cong c c cc phn on ca n v ti cng s dng <graft> to ra mt nhnh d liu cho mi ng cong. K t khi ti c mt ct phn ng cong v hai ng cong cnh xc nh ranh gii ca mt tin trn tng mp, ti s dng component <Sweep 2> to ra mt tin b mt qut bng sweep 2 rail.

128

GENERATIVE ALGORITHMS

Hnh 7.9. Ti gii thiu mt component <sweep 2> to ra b mt mt tin chung. Ti s dng cc ng cong k hoch <graft> ed nh ng cong Mc lnh qut. Rails l ng cong cnh. Cc component <receiver> kt ni vi cc ng cong cnh. Ti <graft> ed n mt ln v ti cng <Shift> ed v <graft> ed n mt ln na to ra tt c cc ng cong ng st u tin v th hai lin quan vi nhng ng cong Mc k hoch. ! ! Lu : nu bn khng c c kt qu tng t nh minh ha, th t ca cc ng cong cnh ca bn (Rails) khng lin quan vi th t ca cc ng cong k hoch ca bn (Phn ng cong) v bn cn phi thay i th t ca cc ng cong cnh ca bn trong danh sch hoc bng tay bng cch li giao cho h component <curve> bng cch trt t khc nhau hoc bng cch chuyn danh sch Grasshopper.mt component khi n kt ni vi nhng ci khc)

Hnh 7.10. Trong bc ny, ti mun tr i <Geo> khng gian rng t b mt mt tin to ra trc y. K t khi hng bnh thng ca b mt l quan trng trong lnh ny, ti <Flip> ed hng b mt bnh thng, v sau s dng mt component Difference> <Solid (Intersect> Boolean> Solid Difference) v kt qu l b mt chnh trong khi <Geo> s c xa b .

129

GENERATIVE ALGORITHMS

Hnh 7.11. Vi cng mt phng php, ti gii thiu c hai ng cong ca khng gian cng cng, chia chng, ph chng ra v v ng gia chng. Ti c th kt ni component ny <line> component <extrude> tng t nh cc yu t mt tin to ra hnh hc ging ht nhau.

Hnh 7.12. Sau khi th h ca tt c cc hnh hc, bake <Difference> v cc component <Extrude>.

130

GENERATIVE ALGORITHMS

Hnh 7.13 M hnh phc tho sau khi hon tt


131

GENERATIVE ALGORITHMS

7_2_ Hnh khi v cu trc lin kt (Geometry and Topology)

n nay chng ta s dng cc component khc nhau v lm vic vi b mt NURBS. Nhng nh cp trc khi c cc loi b mt rt hu ch trong cc ng cHnh khc. N khng phi l v p mn mng ca NURBS m chng ta nhm cho, nhng chng ta c th cn iu khin chnh xc hn, ch bin d dng hn hoc cc phng trnh n gin. Bn cnh cc loi b mt c in ca cuc cch mng, cai tr hoc ng dn, chng ta c b mt hnh thc khc nhau min ph nh Besier hoc B-splines. Nhng y ti s ni mt cht v mt mesh c nhiu loi khc nhau ca b mt. Mesh l mt dng khc ca hnh thc b mt t do, nhng cc b phn nh ( mt) v tch ly ca cc b phn nh lm cho ton b b mt. V vy, c l khng, ni b chc nng ton hc n m to ra hnh dng ca b mt, nhng nhng mt ny xc nh hnh dng ca b mt tt c cng nhau. Nu chng ta nhn vo mt mt mesh, u tin chng ta nhn thy mt ca n. mt c th l hnh tam gic, gc phn t hoc hnh lc gic. Bng cch nhn gn gi hn, chng ta c th thy mt mng mesh cc im m lm cho cc mt. Nhng im ny l nhng yu t c bn ca mt mesh b mt. Bt k nhm nh ca nhng im ny (v d nh bt k ba trong mesh tam gic) lm cho mt mt hnh hc tr thnh b mt. Nhng im ny c kt ni vi nhau bi thng dng. C hai vn quan trng v mt mesh: v tr ca nhng im ny v kt ni gia cc im ny. V tr ca im lin quan n hnh hc ca mesh v kt ni cc im lin quan n cu trc lin kt.

Hnh khi v cu trc lin kt. Trong khi khi hnh hc x l vi v tr ca cc object trong khng gian, th cu trc lin kt x l vi cc mi quan h ca chng. Trong ton hc, cu trc lin kt l mt thuc tnh ca object m s chuyn i v bin dng khng th thay i c.Chng hn nh hnh trn v hnh elip u c s lin kt nh nhau nhng chng khc bit v hnh hc. Hnh 7,14 Nh bn thy, c bn im c kt ni vi nhau. Trong hnh u tin, c A v B c cng mt cu trc lin kt bi v chng c cng mt mi quan h gia cc im (cng mt kt ni), nhng hnh dng ca hai hnh khc nhau, do s dch chuyn ca mt im. Nhng trong hnh th hai, v tr ca cc im l nh nhau nhng kt ni ca cc im khc nhau v chng khng ging nhau v cu trc lin kt.

132

GENERATIVE ALGORITHMS

Hnh 7.14 Cu trc lin kt v Hnh hc. tng v cu trc lin kt rt quan trng trong mt mesh. Bt k mt no trong mt mesh object u c s im gc nh nhau v cc im gc ny c lin kt vi nhau theo mt trt t ging nhau cho tt c cc mt ca mesh object. V vy, chng ta c th p dng bt k bin i mt mesh object v dch chuyn cc nh(gc ca 1 t gic) ca mesh trong khng gian thm ch khng-thng nht vi nhau, nhng cc kt ni ti cc gc mesh cn c gi nguyn bo v b mt nu khng s hng b mt.

Hnh 7.15. C hai b mt mu v mu xm l cc mt mesh vi mt v gc, trong mt mu xm, cc nh c dch chuyn, thc hin mt cu hnh hnh hc ca mesh, nhng kt ni ca mesh object khng thay i v c hai b mt u c cu trc lin kt ging nhau.

Tm quan trng cc kha cnh cu trc lin kt ca cc mesh object c hiu nh sau, chng l mt dng hnh hc mnh m, khi ta c mt lot cc im v ta cn mt loi b mt cha cc im trong khng gian. Cc thut ton khc nhau m c th lm vic vi cc im u c th c p dng cho dng hnh hc mesh khi cu trc lin kt ca mesh c s dng. V d, bng cch s dng phn tch phn t hu hn hoc cc ng dng c th nh dynamic relaxion, v cc h thng phn t, d dng lm vic vi cc mesh hn so vi cc loi khc ca cc b mt khc k t khi c th lm vic vi nh mesh. Mesh object n gin tin b hn v nhanh hn x l, chng c kh nng c l bn trong v khng lin tc v hnh dng. Ngoi ra cn c nhiu thut ton tinh chnh mesh v lm cho b mt mt m hn. K t khi cc mt khc nhau c th c mu sc ban u khc nhau, mesh object p ng tt cho mc ch phn tch mu sc. C nhiu component x l vi cc mesh object trong tab 'mesh' trn giao din Grasshopper.

133

GENERATIVE ALGORITHMS

CHNG_8_ S ch to (Fabrication)

134

GENERATIVE ALGORITHMS

Ngy nay, c mt li ch rt ln trong s kt hp vi qu trnh sn xut c h tr ca my tnh v vic ch to vt liu. Vi nhng thay i v cc xu hng mi trong qu trnh thit k, dng nh s kt hp ny l mt iu ct yu phi c trong mng thit k, chuyn bin vo trong lnh vc ca ch to k thut s. Bt k quyt nh thit k no trong lnh vc k thut s cng nn c kim tra di nhiu t l khc nhau cho thy kh nng ca vic ch to v lp rp. R rng nhng qu trnh thit k mi v nhng thut ton khng thch hp vi nhng cng on thit k truyn thng, v vy cc nh thit k ang c gng s dng nhng cng ngh hin i trong ch to lm ra sn phm ca h. T khi my ct CNC bt u phc v cng nghip xy dng cho n nay, mt mi quan h ln c to ra gia thit k s ha v ch to, theo sau nhiu my mc v cng ngh khc nhau cng c pht minh v ci tin phc v nhng loi hnh thit kny. thit k cc yu t trong cng trnh v ch to chng, chng ta cn c khi nim v qu trnh ch to p dng cho nhiu loi vt liu khc nhau v phi hiu cch chun b khu thit k thnh phm. Da trn vt th chng ta thit k v vt liu chng ta dng, nhng tnh ton lp rp hp l, s vn chuyn v quy m kch thc, v.v.. chng ta cn cung cp s liu thch hp t bn thit k v ly nhng thng tin xut ra mong mun, cung cp cho my.Nu nh xa kia, thc hin 1 n cn c mt bng, mt ct chi tit , v..vv. Th ngy nay tt c nhng g chng ta cn n ch l d liu my tnh v cc con s chuyn n my ch to. Vn y l nh thit k nn cung cp vi d liu bt buc, bi v l s lin kt cp cao vi i tng thit k. V i khi nh thit k cng nn s dng nhng phn hi t s chun b d liu ch to cho vic ti ci tin hay iu chnh i tng thit k. i khi nhng i tng thit k nn c thay i ph hp vi kh nng ca my mc v k thut lp rp. Lin quan n vn chng ta bit, nhng kh nng tim n khc nhau ca Grassshopper c th thay i thit k v nhng thit k a dng ny c th tn ti trong mt ca qu trnh ch to nh nhng tiu chun khc. Ti ch mun m ra mt ch v ni n vi im lin quan n giai on chun b d liu c mt ci nhn vo nhng kh nng khc nhau m chng ta c th trch d liu t n thit k cho vic ch to chng v i khai iu chnh ph hp nhng gii hn trong ch to nhng i tng .

135

GENERATIVE ALGORITHMS

8_1_Datasheets

to ra mt i tng, i khi chng ta ch cn mt chui cc s o, gc, to v cc s d liu khc. C nhiu component (multiple component) trong Grasshopper tnh ton cc s o, khong cch, gc, v.v vn l chng ta cn la chn ng n v chnh xc i tng cho cc mc ch khc nhau. Chng ta nn n phc tp v hnh hc trong tng thit k v sau chn im cn thit cho tng mc ch o c ring. Tip theo l tm nhng v tr c th a cho chng ta nhng d liu thch hp cho mc ch ch to i tng, vic ny trnh to ra qu nhiu bng d liu tn nhiu thi gian trong cc n ln nhng li v dng vo giai on kt thc n. Cui cng, chng ta cn xut d liu t phn mm 3D sang dng bng tnh v d liu cho cc cng vic sau ny. Paper_strip_project ( n s dng cc di bng giy to hnh) tng v s dng nhng di bng giy to hnh hp dn ti vo vi cuc nghin cu, d n c th nghim trc (nh trong n Morpho-Ecolokgies bi Hensel v Menges, 2008). hiu r cch lp rp cc di bng, chng ta bt u vi nhng kt hp n gin trc cho cp 1 v sau lin kt cc kt cu ny vi nhau nh mt cp 2 cho vic lp rp. Ban u vic ny rt th v, nhng dn dn b hng v khng nh ti mong i. V vy ti c gng lm chnh xc hn c c cu trc tinh xo hn.

Hnh 8.1 Paper strips, th nghim u tin.

Bc tip theo, ti c gng to mt cu trc rt n gin v c hiu v mt hnh hc v dng n nh mt nn tng cho vic thit k m hnh trn my tnh. Ti cho rng vic tip cn ngay vo
136

GENERATIVE ALGORITHMS

thit k m hnh trn my ti s khng th to ra c m hnh thc t, v ti ngh ti cn th nghim trn giy trc. Mc tiu ca ti l dng ba mu bng giy v lin kt chng li, mt ci gia v hai ci kia hai bn vi di ln hn ci gia, v c p li ri nh cui vi di bng gia. y c th l mt module c bn.

Hnh 8.2 Lin kt n gin ca ba bng dy , hiu s kt hp trc khi a vo m hnh trn my.

Khi to m hnh trn my tnh Lc ny, ti mun to m hnh trn my cho cc di bng sau khi hiu c cu trc vt l ca n. bt u chng ta cn mt ng cong n gin gia nh mt ng lm nn v chia n ra bng cch chn cc im chia (true, false) v di chuyn (im false) vung gc vi ng gia v dng tt c nhng im ny (im di chuyn v im false) nh l nhng nh cho 2 ng cong ni suy (interpolated curve) nh ti din t

Hnh 8.3 Cch dng m hnh u tin vi nhng ng cong ni suy

137

GENERATIVE ALGORITHMS

Nhng n dng nh qu n gin v thng ut, nn ti mun cho thm nhng im lin kt vi kch thc nh dn, v n s to ra mt dng hnh hc phc tp hn. Gi th m Grasshopper v tip tc lm vic vi m hnh ny. Ti s c gng gii thch cc nh ngha 1 cch ngn gn v i vo phn d liu.

Hnh 8.4 - Component (Component) ng cong <curve> l di bng gia c dng trong Rhino. Ti tham s ho (reparameterized) n v ti mun nh lng n trong mt khong gim dn. Ti dng component gi l <range> (khong/ di/ hng) v ti nh/dn n vo component <Graph Mapper> (Params > Special > Graph Mapper). Component <Graph Mapper> ny vch ra mt b cc s theo nhiu cch khc nhau v min gi tr chn bi mt dng th c bit ( y l dng ng cong parabol) to ra nhng im cho mu nh trn hnh. Bn c th thay i dng ng th thay i cch phn b cc im trn ng cong (c th tm hiu thm trong bng help). Tip tc ti nh hnh <Evaluate> ng gia (<receiver> ni vi <curve>). Ch thch Reparameterized intial curve as middle strip: ng cong ban u c tham s ho nh l di bng gia. Parameters alongside a reparameterized curve: Tham s dc theo ng cong c tham s ho. Changing the distribution of the parameters (parabola graph type): Thay i s phn b ca cc tham s (dng th parabol dng cho vic nh dn khong cch gia cc im)
138

GENERATIVE ALGORITHMS

Hnh 8.5 - Sau khi phn b cc im d liu v cc im nh trc, ti mun tm trung im cho mi hai im hit lp trc . y ti phi tm tham s ng curve, gia mi im ban u v im k n, xc nh.Khi c nhng tahm s ca mi im u tin ny, ti dng di chuyn (<shift>) d liu tm im k tip. V ti dng component <cull> vi <list length> loi im/component (item) cui trong danh sch c thm danh sch c di chuyn (<shift>ed). Component <function> (f(x)=(x+y)/2) tm ra tham s gia ( y l trung im). (<receiver> ni vi <crv>). Ch thch Finding the parameters of the midpoints on curve (between each point and the next one): Tm tham s ca trung im (tc l tm gi tr ca im) trn ng cong ( gia mi im v im k n) excluding 1 from list: Loi 1 im trong danh sch.

139

GENERATIVE ALGORITHMS

Hnh 8.6 By gi ti mun di chuyn trung im v to nhng im chp/im cc i (deviated vertices) ca 2 di bng bin. Nhng im ny phi lun lun vung gc vi ng gia.V vy di chuyn chng ta cn nhng vector vung gc vi ng gia tng im cn di chuyn. Ti sn c cc cc vector tip tuyn ti mi im bng component <evualuate> nhng ti li cn vector vung gc. Chng ta bit rng Vector tch ca 2 vector th lun lun l mt vector vung gc vi c 2 (xem thm hnh 8.7). V d: vector n v Z c th l vector tch ca 2 vector n v X v Y. ng curve gia l ng thuc mt phng v vy vector Z ti mi im ca ng curve ny s lun vung gc vi mt phng cha ng curve. V vy nu chng ta tm c vector tch ca vector tip tuyn v vector Z ti mi im , kt qu s l mt vector vung gc vi ng curve gia ( ng middle curve ny lun nm trn mt phng). V vy ti dng tip tuyn ti mt im t component <evaluate> v vector <unit Z> tm <XProd> (Cross product), Xprod lun lun vung gc vi ng curve gia. Thm 1 mo nh ! Ti dng cc thng s ca <Graph Mapper> nh mt lu tha ca nhng vector Z c nhng tha s tng dn cho s di chuyn ca cc im, v vy khong cch (distance) gia cc im cng di, di chuyn ca chng (displacement) cng ln. Ch thch Increasing the power of Z vector: Tng lu tha ca vector Z. Perpendicular vector to the curve at the parameter: Vector vung gc vi ng cong (curve) ti mi im tham s. Midpoint deviation: lch trung im
140

GENERATIVE ALGORITHMS

Hnh 8.7 - Vector tch. Vector A v B thuc mt phng nn. Vector C l vector tch ca A v B v n vung gc vi mt phng nn v vy n vung gc vi vector A v B.

Hnh 8.8 By gi ti c c nhng im c bn v nhng im c di chuyn. Ti nhp chng li nhau bng component <weave>, c danh sch d liu cc im. By gi ti dng nhng im ny to ra ng cong ni suy (<interpolate> curve), bn s thy ng cong u tin 1 bn bng giy.
141

GENERATIVE ALGORITHMS

Ch thch Sorting points alongside Y direction: Sp xp cc im dc theo hng Y

Hnh 8.9 Dng component <Mirror Curve> (theo ng dn XForm > Morph > Mirror Curve) ti c th ly i xng ng cong ni suy qua trc l ng gia (middle <curve>) c kt ni vi <receiver>v chng ta c 2 bn ca bng giy. Ch thch Interpolated curves as side strips: 2 ng cong ni suy s l 2 di bng bin.

Hnh 8.10 - By gi nu ti lin kt bng giy gia v 2 bn vo trong component <extrude>, ti c th thy b lin kt vi nhng khong khc nhau gia nhng im lin kt.

142

GENERATIVE ALGORITHMS

Hnh 8.11 - Ti c th bt u ko/ thao tc di bng gia v nhn thy Grasshopper cp nht 3 di bng c lin kt vi nhau, hoc ti c th thay i gi tr trn slider v kim tra xem c c kt qu nh m hnh thc t hay khng. Sau khi ti tm ra hnh dng ti mun to ra m hnh di bng, ti cn xut ra kch thc, s o c th xy dng m hnh tht vi nhng d liu . Mc d n kh d to tt c cc on bng trn tm giy v ct chng vi my laser, nhng y ti thch qu trnh thm tng qut v ly d liu ban u to m hnh, nn ti khng mun gii hn mnh vo ci my ct laser hay mt cch thc c th no khc. Bn c th dng d liu to m hnh bng bt k cch no, thm ch bng tay nh cch tao mun lm trong trng hp ny chc rng ti khng b ph thuc my tnh. Bng cch to ra m hnh n gin ban u ca di bng, ti bit l ti cn bit v tr ca cc im lin kt trn di bng v r rng nhng im ny khc nhau v di gia di bn tri, bn phi v gia. V vy ti ly khong chia t Grasshopper, ti c th nh du chng trn di bng v rp chng li. Di bng l mt ng cong, component <distance> khng gip ti tm c nhng s o. Ti cn di ca ng cong gia 2 im bt k trn mi di bng. Khi ti nh tham s trn ng curve, n ch a cho ti khong cch t im bt u. V vy ti cn tm tham s ca im lin kt trn ng curve v nh v tr ca chng cho mi ng curve v component <evaluate> s a ra khong cch ca nhng im t im bt u ca ng curve (di bng), tc l v tr ca cc im lin kt.

143

GENERATIVE ALGORITHMS

Hnh 8.12 Nh bn thy ti dng b u tin ca cc im m ti gi l main curve points (im chnh) trn ng cong gia (ng cong u tin initial curve). Gi tr xut ra (L) ca component (component) ch cho ti khong cch ca cc im lin kt t im khi u ca di bng gia. Ti cng dng nhng im ny tm tham s ca chng trn mi di bng bin. Ti dng component <curve cp> tm tham s cc im trn ng cong. Ti dng nhng tham s ny nh nhng im lin kt (hay l tham s - parameter) cho on bng bin v tm khong cch ca chng vi im khi u. Ti cng c th lm cch tng t tm khong cch ca cc im lin kt trn on bng bin cn li (dng component <mirror>). Khi kt thc, ti c v tr ca tt c cc im trn mi di bng.

Nn chc chn cc hng ca tt c cc ng curve ng hng v kim tra khi u ca ng curve (da trn o c).

144

GENERATIVE ALGORITHMS

Xut d liu

Hnh 8.13 Nhp chut phi trn component <panel> v chn stream contents. Bng lnh ny bn c th lu d liu ca bn di nhiu nh dng v s dng chng nh d liu tng qut. y bn s lu vi dng .txt v ti mun dng chng trong Microsoft Excel.

145

GENERATIVE ALGORITHMS

Hnh 8.14 Trn bng tnh Excel, chn mt trng v vo th Data v bn trong phn Get External Data bn chn From Text. Sau chn ng dn ti file .txt lc ny v lm theo hng dn ca Excel. Nhng bc ny cho php bn qun l nhng dng khc nhau ca d liu v chia d liu ca bn trong nhng ct v khc nhau.

Hnh 8.15 By gi bn s thy d liu ca bn c t trong bng tnh ca Excel. Bn c th lm tng t cho cc d liu ca cc di bng cn li.

Hnh 8.16 Bng thng k ca cc im lin kt dc di bng.


146

GENERATIVE ALGORITHMS

Nu bn c mt danh sch ca cc to 3D ca cc im v bn mun xut chng qua Excel, c nhiu la chn khc nhau ngoi v d trn. Nu bn xut to 3 chiu (3D coordinates) vi phng php trn bn s thy nhiu du ngoc v du phy khng cn thit v bn s mun xo n. Bn cng c th thm ct vo bng cch chn hp thoi import text trong Excel v chia nhng du ngoc v du phy theo nhiu ct khc nhau v xo chng, nhng v kch thc di ca cc con s khc nhau, nn bn s tm cc k t cc ct khc nhau, v bn s khng d dng canh chia ct. Trong trng hp nh vy, ti khuyn khch bn phn tch cc im vo cc component v xut chng ring ra. khng phi l vn ln khi xut 3 danh sch d liu thay v mt danh sch.

Hnh 8.17 Dng component <decompose> to to X, Y v Z ca cc im ring ra xut sang bng tnh. Ti nhn mnh gii thiu bn lm vic 1 cch chuyn nghip vi Excel v cc phm mm sp xp d liu khc bi v chng gip chng ta nhiu trong qun l d liu trong nhu cch khc nhau, nhu trng hp khc nhau.

Nh vy l cho vic to m hnh! Ti dng d liu nh du cc di bng v lin kt chng. Thm ch chng minh,ti t lm mi th bng tay!!!!!!! chng minh rng vic ch to m hnh khng nht thit phi dng my ct laser (hoc i khi l HAM, Achim Menges c ln dng nh t vit tt ca Hand Aided Manufacturing). Ti ch tn 1 gi ct v nh du tt c cc di bng, nhng khi rp th lu hn v d nhin qu trnh ny phi rp bng tay.

147

GENERATIVE ALGORITHMS

Hnh 8.18 (a,b,c) - D n di bng khi hon thin.

148

GENERATIVE ALGORITHMS

8_2_Vic ct bng laser and Cutting based Manufacturing

Ngy nay, tng ct laser trn cc tm vt liu ch to cc dng hnh hc phc tp l rt ph bin. Chng ta c nhiu cch khc nhau ch to cc vt th. Phng php ct laser ph hp vi cc i tng c to lp vi cc b mt hoc tri nhng b mt c gp li. Ngi ta c th tri cc hnh hc k thut s trn mt phng v ch n gin l ct n thnh 1 mHnh v gp li to ra vt th. N cng thch hp lm cc dng hnh hc phc tp m c th c gim phn ring bit ca cc b mt phng v ngi ta c th tho ri ton b m hnh k thut s thnh nhng phn ring bit, lm t trn cc tm phng, thm cc b phn chng cho cho cc mc ch kt ni (ging nh dn) v ct n v lp rp vt l. N cng c th ch to hai ng cong i tng bng phng php ny. N cng c th nghim tm cc phn khc nhau ca i tng hnh bt k 'Blob, ct gim t nht l trong hai hng v lp rp cc phn ny li vi nhau thng l vi cc khp kim ch v lm cho cc m hnh hnh lng xng sn. K t khi my ct laser l mt cng c ph bin, v cng c nhiu phng php khc, nhng tt c cng tm mt cch gii quyt, gim hnh hc thnh ming phng ct chng t mt tm vt liu, giy, kim loi, cardboard hoc g v cui cng l lp rp chng li vi nhau (nu bn c cnh tay robot v bn c th ct hnh hc 3D, n l mt s khc bit) Trong s cc cch khc nhau tho lun y, ti mun th nghim mt trong s chng trong Grasshopper v ti chc chn rng bn c th lm cc phng php khc da trn cc th nghim ny mt cch d dng. B mt ch to dng t do. Ti nh ch to mt b mt dng t do nu ln vi kinh nghim vi vic chun b v gn kt cc phn ca mt i tng ct to, v vi cc vn khc m chng ta cn trnh.

Hnh.8.19. y ti c 1 b mt v gii thiu n trong Grasshoper nh l 1 vt th, bn c th gii thiu bt k b mt no m bn thit k hoc s dng bt k vt th Grasshoper khc Sections as ribs
149

GENERATIVE ALGORITHMS

ch to b mt t do in hnh ny, ti mun to ra cc phn ca b mt ny, lng chng trn t v chun b cc tp tin c ct bng my ct laser. Nu i tng m bn ang lm vic c mt dy nht nh th bn c th ct n, nhng nu nh b mt ny khng c dy bt k th bn cn thm dy cho cc phn c ct.

Hnh .8.20. Bc 1, ti dng mt <Bounding Box> component xc nh vng lm vic. Ti cng dung 1 phn < Box corners> (Surface > Analysis > Box corners) tm cc gc khc. tm cc gc i din ca hp v s dng chng nh l gii hn ca phm vi m ti mun to ra cc xng sn cng vi hnh hc. V vy, bng cch tnh ton chiu di v chiu rng ca hp, ti s dng nhng con s nh l a ch m ti mun chia cho component <range>. V c bn bng s dng<number slider> ti ch n gin l c th phn chia chiu di v chiu rng ca hp trong cc phn mong mun.

150

GENERATIVE ALGORITHMS

Hnh .8.21. Mc tiu ca ti l to ra cc mt phng cng vi chiu di v chiu rng ca hp nh cc di xng sn ti cn. u tin ti to ra hai mt phng, mt <YZ plane> v mt <XZ plane>, mt phng u tin vung gc vi chiu di ca hp v mt phng th hai vung gc vi chiu rng. Ti to ra c hai mp trn cc gc u tin ca hp bng cch kt ni u A ra <box corners>. By gi ti c th to ra <Unit X> v <Unit vect Y> cng vi chiu di v chiu rng ca hp, v bng cch kt ni cc component <range> vi h, ti c th lm cho vector cho tt c cc im phn chia. Sau , ti c th <move> mt phng XZ v YZ bi nhng vect v to ra hng lot cc khung hnh cng vi chiu di v chiu rng ca hp ranh gii ca i tng.

Hnh .8.22. Cc khung hnh c to ra cng vi chiu di v chiu rng ca hp ranh gii ca i tng, tip tuyn vi cnh. Nh bn thy, ti c th bt u ct b mt vi nhng khung ny.

151

GENERATIVE ALGORITHMS

Hnh .8.23. By gi nu ti tm thy cc giao im ca nhng khung v b mt (main geometry), ti thc s to ra cu trc c s xng sn. y ti s dng mt <Brep / Plane> section component (Intersect> Mathematical > Brep / Plane) gii quyt vn ny. Ti s dng <Geometry> (b mt ban u ca ti) nh l BRep v to ra cc khung, cc mt cung cp cho component.

Hnh .8.24. S ct nhau ca cc khung v b mt, kt qu l to ra cc ng cong trn b mt.

152

GENERATIVE ALGORITHMS

Lm t (Nesting) Bc tip theo l t cc on ng cong trn mt tm phng chun b cho qu trnh ct. y ti v mt hnh ch nht trong Rhino vi kch thc ca ti. Ti sao chp hnh ch nht to ra nhiu tm chng cho nhau v ti v mt b mt bao gm tt c cc hnh ch nht

Hnh .8.25. Nhng t giy v mt b mt c bn i din chng trong Grasshoper. Ti s s dng <Orient> component (xform> Euclidian> Orient) t ng cong ca ti vo b mt i din cho cc tm ct. Nu bn nhn vo <orient> component bn thy rng chng ta cn cc mt phng nh mt phng tham chiu v mt phng mc tiu cn c trn b mt. K t khi ti s dng nhng mt phng giao vi b mt ban u v to ra cc ng cong, ti c th s dng chng mt ln na nh nhng mt phng tham chiu, v vy ti cn phi to ra nhng mt phng mc tiu.

Hnh .8.26. Ti gii thiu b mt c ct trong Grasshopper v ti s dng <surface Frame> component (Surface > Util > Surface frames) to ra hng lot khung ngang qua b mt. N thc s hot ng nh <divide surface> nhng n to ra cc mt phng u ra, l iu ti cn.
153

GENERATIVE ALGORITHMS

Hnh .8.27. nh hng. Ti kt ni cc ng cong da trn hnh hc c s, v nhng mt phng m ti s dng to ra cc phn hnh hc tham chiu n cc component <orient>. Tuy nhin, vn cn mt cht thao tc x l cn thit cho nhng mt phng mc tiu. Nu bn nhn vo kt qu <surface frame> component bn thy rng nu bn chia U hng thm ch bng 1, bn thy n s to ra 2 ct phn chia b mt. V vy, ti cn c cc mt nhiu hn. V th, ti <split> danh sch cc mt phng mc tiu bng con s xut pht t s lng cc ng cong tham chiu. Nn ti ch s dng mt phng nhiu ng cong m ti c. Sau , ti di chuyn cc mt 1 n v trong hng X trnh chng cho vi cc cnh ca tm. By gi ti c th kt ni cc mt phng ny ti <orient> component v bn c th thy rng by gi tt c cc ng cong lng nhau trn bng ct.

Hnh .8.28. Cc ng cong lng vo nhau trn bng ct.


154

GENERATIVE ALGORITHMS

To Generating ribs

Hinh 8.29. Sau khi lng cc ng cong trn bng ct, v vt th cha c dy nn chng ta cn lm dy cho n. l l do ti sao ti <offset> cc ng cong vi cao mong mun v thm <line> vo c im cui ca ng cong khp kn ng v m ti hon thnh ct

To Khp (khp bridle) Bc tip theo l to ra khung sn theo hng khc v lm cc khp ni lp rp sau khi ct. Mc d ti s dng cng mt phng php phn chia chiu di Bounding Box to ra cc mt phng v mt ct, nhng ti c th to ra mt phng bng tay bt k v tr mong mun. V vy, nu bn khng mun phn chia theo c hai hng v to ra cc phn ng u, bn c th s dng cc phng php khc to ra cc mt phng v thm ch lm cho chng bng tay.

155

GENERATIVE ALGORITHMS

Hnh .8.30.Nh bn thy, thay v mt phng to ra trc y, ti dng cc mt phng bng tay c xc nh cho cc phn theo mt hng khc ca b mt. Mt mt phng c to ra bi gi tr X trc tip t <number slider> v mt phng khc xut pht t mt phng c nhn i pha bn kia ca b mt (surface length number slider). Phn ca hai mt phng v b mt c tnh ton cho cc bc tip theo. By gi ti c th nh hng nhng ng cong trn mt t ct .V vy, chng ta hy to ra khp ni cho vic lp rp, l iu quan trng.

Hnh .8.31. Khi c cc ng cong theo hai hng, chng ta c th xc nh cc im giao nhau. l l do ti sao ti s dng cc <CCX> component (Intersect > Physical > Curve | Curve) tm cc v tr giao nhau ca nhng ng cong ny, l nhng v tr khp ni (<CCX> Component trong ch tham chiu cho).
156

GENERATIVE ALGORITHMS

Ti cn cc bn v chun b cho cc khp ct.Ti ngh n vic chun b cc v tr khp ni, nn ti phi gim mt na mi xng sn c th ni chng v tr cui. Trc tin, ti cn phi tm nhng v tr giao nhau trn cc xng sn lng nhau v sau v cc ng ct.

Hnh .8.32. Nu bn nhn thy nhng kt qu xut ra ca <CCX> component, bn c th nhn ra rng n cho chng ta tham bin gia ng cong ny vi cc khc. V vy ti c th <evaluate> ci t hoc <orient> ng cong vi nhng tham bin tm ra cc v tr khp ni.

157

GENERATIVE ALGORITHMS

Hnh .8.33. By gi chng ta c cc v tr khp ni, chng ta cn phi v n ra.Trc tin ti v nhng dng <line SDL> component vi cc v tr khp ni l im bt u, <unit Y> nh hng v ti s dng mt na chiu cao ca khung sn nh chiu cao ca dng. V vy, mi im trn ng cong lng nhau by gi c mt dng nh lin kt vi n.

Hnh .8.34. Bc tip theo, v 1 dng trn trc X t im cui ca dng trc vi di ca <sheet_thickness> (ty thuc vo loi vt liu)

158

GENERATIVE ALGORITHMS

Hnh .8.35. v ng th ba, ti cn phi tm im m dng ny kt ni vi cc ng cong c s bi v ti khng bit chnh xc chiu di ca n. Trong bc ny, ti thm vo <line SDL> vi trc Y v gi tr m thu ht cc dng th ba, nhng mt cht cn hn cn thit, bng qua ng cong c s, tm im giao nhau. Cc <receiver> kt ni vi cc ng cong nh hng. V vy, ti s dng <CLX> (Intersect> Mathematical > Curve | line>) tm v tr giao nhau vi ng cong c bn. Ti <Flatten> ed nhng im ny v <line> s, mt ln na t im cui ca dng th hai im giao nhau ny. Kt qu l, cc khp xng c hon thnh. Ti hon tt cho c hai khp bn.

Hnh .8.36. S dng <join curves> (Curve > Util > Join curves) by gi bn c th thy ti c mt <join curve> khe cm hnh m ti c th s dng ct khp bridle bn trong xng sn. Ti ang p dng cng mt phng php cho u kia ca ng cong (Dy th hai cc khp pha bn kia ca ng cong theo nh hng )..

159

GENERATIVE ALGORITHMS

Hnh .8.37. Khung sn vi nhng ng khp ni 2 u. Ti c th rt ngn on nh xu phngc ng cong nhng bi v n khng nh hng n hnh dng nn ta c th b qua

Ghi nhn

Khi lm vic giai on ch to, s mt thm ha nu ct hng trm cc b phn nh m khng c bt k manh mi hoc a ch no chng ta lp rp chng li vi nhau, trt t l g v ci no lm trc ci no sau . Chc chn 1 iu l cc phn u khc nhau v chng ta phi ghi nhn cho chng thit lp trt t 1 cch d dng. n gin l mt s hoc mt s kt hp ca k t v s lng gii quyt mt phn. Nu i tng bao gm cc b phn khc nhau, chng ta c th t tn chng. Chng ta c th s dng h thng th bc khc nhau ca d n t tn cho cc b phn. y ti s nh dy s cc b phn lp rp ch ra v tr ca tng on trong danh sch. Ta c th dung th <text tag> thm ch vo trong hnh hc v th hin v tr cng nh cao .

160

GENERATIVE ALGORITHMS

Hnh .8.38. Nu bn nh, ti c 1 dy cc mt phng m ti dng nh l mt phng mc tiu nh hng cc ng cong. Ti s s dng mt phng tng t nh v tr ca ghi ch. Khi mt phng ny v tr gc ca khung sn, ti mun thay th n trc tin.

Hnh .8.39.Ti di chuyn cc mt phng gc 1 n v trong hng X v 0,5 n v trong hng Y (nh <sum> ca cc vector) v ti s dng cc mt phng nh v cc th vn bn. y ti s dng <text tag 3D> v ti to ra mt lot cc con s nhiu nh khung sn. <integer> component m ti s dng y ch n gin l chuyn i t 12,0 n 12. Kt qu l, bn c th nhn thy tt c cc phn c mt s duy nht gc tri ca n.

161

GENERATIVE ALGORITHMS

Hnh . 8.40. ti c th thay i cch phn chia cc component ca b mt c ct 1 cch ti u trnh lng ph vt liu. V d trn cho thy, t im bt u ca t 3, khung sn c tri phng hn v c nhiu khong trng gia. Ti cn ct cc khung sn thnh 2 phn v thay i im phn chia gom gn chng li. Tuy nhin, ti khng x l qu nhiu phn ti c th lm bng tay cng c ny trong Rhino, mi phn khng cn thit kt hp! By gi ti c nhng khung sn cng hng, v ti s lm tng t cho cc hng khc c th. C 1 iu m bn phi xem xt y l hng ca cc khp ni lt xung quanh, v vy v c bn trong khi lm vic vi <orient> geometry phn trc bn nn lm vic vi phn <offset> Cutting Khi cc geometry sn sng ct, ti cn sp xp v qun l 1 cht trn t giy. Nh hnh 8.42 tt c c xp gn vo 3 t. Ti to ra 3 hnh dng khc nhau ca khung sn theo chiu rng ca i tng. File sn sng ct.

Hnh .8.41. Nested ribs, chun b xong ct


162

GENERATIVE ALGORITHMS

Hnh .8.43. Ct khung sn, sn sng rp ni.

Rp ni Trong trng hp ca chng ti, vic rp ni l n gin. i khi bn cn phi kim tra li file hoc file h tr hoc excel sheet rp ni theo nhiu cch khc nhau.

163

GENERATIVE ALGORITHMS

Hnh.8.43 M hnh cui cng

164

GENERATIVE ALGORITHMS

Ch to l mt ch rng tho lun. N ph thuc rt cao vo nhng g bn mun ch to, vt liu g, my tnh no v lm th no cc b phn ch to s c lp rp vi nhau. Nh ti ni vi bn trc, ph thuc vo cc d n bn lm, bn cn cung cp d liu ca bn cho cc giai on tip theo. i khi n l quan trng hn c c nhng cch lp rp logic, v d nh khi bn ang lm vic vi cc component n gin nhng hnh hc phc tp khi lp rp th t.

Hinh.8.44.Lp rp 1 cch logic; Vt liu v im ni n gin, ti c th lm lp rp logic v s dng d liu lm m hnh ca ti.

165

GENERATIVE ALGORITHMS

CHNG_9_ Design Strategy

166

GENERATIVE ALGORITHMS

Design Strategy

Generative Algorithms l thut ton v tham s lin tng i x l hnh hc trong vn thit k. Vt xa cc i tng hnh hc thng thng, vi phng php thut ton ny, by gi chng ti c tt c cc kh nng ca hnh hc tnh ton cng nh qun l s lng ln cc d liu, con s. y i s khng hn ch thit k trong bt k th nghim no c xc nh trc, ta s khm ph tim nng v hn; lun lun c nhng cch khc nhau thit lp cc thut ton. Mc d c v nh l cc lnh trong phn mm m hnh tham s c th gii hn mt s hnh ng hay chi phi cc phng php, nhng gii php thay th lun lun c th c a ra bn lun, cho php sng to thot khi nhng hn ch. thit k mt ci g , cn c mt chin lc thit k gip thit lp cc thut ton tt nht c th tm ra gii php thit k. Suy ngh v cc thuc tnh chung ca i tng thit k, v mt s b phn, thm ch to ra mt s m hnh vt l, s gip chng ta hiu tt hn v cc thut ton, cng nh la chn <components> tt hn khi to mt m hnh s ha. Thng s c th thay i trong qu trnh thit k, d liu s v cc i tng hnh hc cn thit, lun lun gip ci thin cc thut ton. Rt c ch khi ta hiu c vn , hy phc tho v sau bt u vit 1 thut ton c th gii quyt vn . V cui cng l...

Chng ta nn suy ngh nh ang gii thut ton thit k thut ton!

167

GENERATIVE ALGORITHMS

Hnh 9.1. n to vi dt ; T s hiu bit phn tch m hnh lin tng.


168

GENERATIVE ALGORITHMS

Hnh 9.2. n tng xp; T s hiu bit phn tch m hnh lin tng.

169

GENERATIVE ALGORITHMS

Ti liu tham kho


Pottman, Helmut and Asperl, Andreas and Hofer, Michael and Kilian, Axel, 2007: Architectural Geometry, Bently Institute Press. Hensel, Michael and Menges, Achim, 2008: Morpho-Ecologies, Architectural Association. Rutten, David, 2007: Rhino Script 101, digital version by David Rutten and Robert McNeel and Association. Flake, Gary William, 1998: The computational beauty of nature, computer explorations of fractals, chaos, complex systems, and adaptation, The MIT Press. De Berg, Mark and Van Kreveld, Marc and Overmars, Mark, 2000: Computational Geometry, Springer. Grasshopper tutorials on Robert McNeel and http://en.wiki.mcneel.com/default.aspx/McNeel/ExplicitHistoryExamples.html Associates wiki:

Axel Kilian and Stylianos Dritsas: Design Tooling - Sketching by Computation, http://www.designexplorer.net/designtooling/inetpub/wwwroot/components/sketching/index.html Wolfram Mathworld: http://mathworld.wolfram.com/ Stylianos Dritsas, http://jeneratiff.com/ Main Grasshopper web page: http://grasshopper3d.com/

170

GENERATIVE ALGORITHMS

Ghi ch

171

You might also like