2011年6月29日 星期三

curve attractor

在一些案子中
線性的attractor比點性的attractor更能發揮作用
像是在書櫃設計中
因為點狀的attractor較難掌握
所以後來我們就用curve attractor
這個練習
就是教我們怎麼使用 curve attractor


1首先我們先利用domin跟random產生許多隨機的點
2運用cruve cp找出取線上對那些點最近的點




3運用vec2pt找出random點對curve attractor的向量


4運用function(x/Log(y))來控制位移

5接著運用move及控制fuction 值控制位移量
































6運用multiply讓向量成以數值













7運用fuction調整x,y值

8形成不同大小的矩形




























這些過程中

讓我了解到運用數學的公式

可以產生不同數值

以產生變動

是grasshopper很方便的一個功能






















2011年6月28日 星期二

attractor

這個練習在看attractor
attractor的原理
是利用作用點到各點的距離不同
將這些距離的值運用數學式加以調整
將會產生各種不同的值
這些值成為點形成polygon的邊長





1首先我們先利用series創造出點陣
2用Distance量出作用點到各個點陣的距離
3運用division(也就是上述的數學式)調整數值
4將這些數值套用到polygon
5將會因為不同數值產生不同大小的polygon
6用min判斷數值以免產生過大的polygon


(這裡我試了很久 發現distance的選項有很多,要注意!!)









接著將嘗試使用兩個attractor
需要運用min將較小的數值挑選出





combined experiment:Swiss Re

使用關聯式建模方法來設計tower是很普遍的
可以讓設計者快速產生不同的模型
這個練習嘗試運用grasshopper的指令快速產生高樓

1先利用series+move產生一序列的圓




















2利用scale產生各種大小的圓





































2運用loft產生surface
3運用end+interpolate+divide產生許多點
4運用polygon從點變成面
5運用rotate把各個面旋轉
6運用loft把產生的面串成體
























7利用mirror產生鏡射,讓對稱的曲線環繞量體

2011年6月27日 星期一

curve and linear geometry

這個部分開始思考一些一維的物件像是point curve我們可以藉
由extrude這些一維的物件獲得s
urface
我們將curves連接起來將可以成為solids或是surface
displacement
之前,我們運用series 和point創造出格點
這一章,
將運用(grid )創造出格點








































我也嘗試用格點創造出書架


displacement







1 運用grid rectangular創造出格點
2 運用vec2pt定義向量
3 運用lineSDL 產生擴散線段


























4運用plane normal 找到法向量
5運用polygon畫出curves




















6運用extrude讓產生發散管





















































vector

vector是數學上以及幾何學上用來用來表示長度和方向的元素。













一個點加上vector,就可以根據向量將點移動到一個新的位置
我們如果把這個概念加以運用
可以達到移動,縮放,定位幾何體的功能


transformation

在建模與產生幾何型的過程,transformation是一個很重要的操作,他們讓我們可以從原本簡單得形體轉變成複雜多樣的模樣。
transformation包含
re-scale
orientate
move
copy
mirror
rotation
reflection

另外可以將它分成
二維的平面transformation
三維的空間transformation


on planar geometrical patterns

幾何學圖案是生成演算法與操作grasshopper可行的設計方式,
本練習嘗試運用運算器創造出簡單幾何圖案
example1:simple linear pattern

















首先運用series創造x向序列
再藉由方程式設定不同y=x, y=x/3,y=-x,y=-x/3創造出四種不同的y值
形成點陣
為了形成zig-zag的圖案,運用(cull pattern)通過boolean值(true/false)設定
在每一行列中挑選出不同的點
再經由weave讓兩個數列交錯
最後再經由pline將所有點串連
形成編織圖案
example2:circle patterns











































這個練習
1 運用range將範圍界定,
2運用方程式x*pi形成圓,接著使用sin cos函數建立一組圓環的點
3利用方程式相乘x*y獲得第二組圓
4運用cull pattern挑選出需要的點
5運用sort 加以排序
6最後將點相連形成星


2011年6月26日 星期日

data list


























對演算法而言很重要的一個基礎就是data list.data可能以任何一種形式存在像是number,point,geometry
在新版的set底下有很多data list,案例是使用sort
sort - 排序 分類
可以藉由sort找到最小值
加上list item的使用可以獲得特定的item

example :triangles










這個練習主要是了解(Cull Nth)
通過(series)和(pt)建立點陣,運用(shift)設定移動一列形成第二列,
連接到(cull Nth)通過一個數值去除特殊數據
line 將點串連形成三角形

2011年6月16日 星期四

cull list

有時候,我們需要一組已知數據中的某些元素,我們的函數不需要對所有的元素起作用,只需要挑選出我們需要的數據,或是讓程序忽略掉其他數據。

cull 就是這時候被使用









cull Nth可以將數據列表中第N個數據刪除
cull pattern 則是用一系列boolean 值來將true保留 flase刪除
如(False/False/True/True)

distance example







p31 example就是利用cull pattern 將x>y的方程式中長度加以篩選

boolean Data type

演算法並不是成線性增長的,有時候我們需要決定他們是否有必要執行下去,在程序中,我們稱為條件語句,

在條件語句中

true=yes

false=no




可以用gate and 將兩個(function)連在一起,並觀察boolean 的變化










toggle與boolean 不同的是可以定義單一可變的boolean值









other numerical sets







random






jitter









random 通過 slider 輸入,提供了10個隨機數,
當利用jitter 就會洗牌??







加入domain就可以限制random的範圍

fibonacci series








fibonacci數列是一組每一數值等於前兩項值的和的數列
N(i)=N(i-2)+N(i-1)

grasshopper比起其他建模軟體最大的優勢就是可以利用數學加以演算

functions














輸入函數x*2pi產生紅色警示







但是輸入x*pi就可以?







這個例子是由數值和費柏納西產生變化,透過簡單的數據設定產生複雜的模型


2011年6月15日 星期三

Data sets and math

儘管3D軟體我們可以從選單中選出幾何圖形且明確的劃出來,不需要思考背後
的數學關係,但如果要使用生成演算法,我們必須思
考數據和數學,讓輸入可以產生不同的物件。如果我們不想用手動的方式繪圖,就必須讓
一些數據生產出物件。演算法
的運作就像是流程圖。






numerical data












Number可以是浮點數(小數)
Integer是整數

slider不能一次丟一堆數字
number和integer可以一次設定很多個


series and range











series 的input是 first number, step size of the number, number of value
range 的input是數字的interval 跟d
ivided infinite parts

Domains(intervals)

















有的是一維的 有的是二維得
有的是輸入的 有的是輸出的 有的是曲面用的








shortest
longest







cross list

嘗試各種data matching的方法與series的關係
發現longest 跟shortest 一樣?