2015年10月30日 星期五

i(s)osurface tutorial in grasshopper



I[s]osurface, as a surface represents points of a constant value, helps us to visualize the intensive properties to extensive space. the concept we introduce to our design to fulfill the obsession of fluid and the aesthetic of dynamic world...


You need: rhino grasshopper millipede weaverbird(optional) & karamba.
需要的pluging: millipede weaverbird(optional) & karamba.

You will learn these via this tutorial:
1. basic idea of isosurface n marching cube. (skip if you already know)
2. how to setup millipede grasshopper for creating isosurface
3. use karamba to analyze the structure from the isosurface
(hmm, yes, millipede also has it own structure analyzing system but dk how it works, anyway...)

1.isosurface和marching cube基本概念
2.用millipede做isosurface
3.用karamba結構分析上述結果

-----
1st part - basic background knowledge

 

some textbook explanation.    https://en.wikipedia.org/wiki/Marching_cubes

The easiest way to understand is starting from 2-D isoline, which we use on the map to represent the same altitude in 2-D draft.













 



image from http://regentsprep.org

In this field map each point has its own altitude. And isolines connect all of the points on that map that have the same value. (ex, isoline which has altitude 70 go trough the middle 69 & 71)
3-D isosurface has the similar concept using a grid of points in 3D space representing velocity, pressure, temperature, or density in the space. And Isosurface connect the same values according the threshold(isovalue), to simulate and represent the fluid fluid flow (gas or liquid) for scientific study. 
(because we know nature has the tendency to balance difference temperature density).

和二維等高線的概念雷同(在一張地圖中有許多測高點)而等高線則是穿過相同高度的曲線,三維的isosurface則是在三維的點陣中(這些點就像側高點依樣有自己的值,可以是密度,溫度,速度),求得等值曲面, 進而具現化不可見的值以利研究(特別常用在流體力學)。


So, we can build this grid system from zero in native grasshopper, but in this tutorial we will use these components in millipede to help us to simplify the process. (Geometry wrapper & isosurface)
Baciscally the geometry wrapper creates grids of values that can be used in conjunction with the isosurface component that wrap around groups of any type of geometry (points curves surface).

我們可以用原生的grasshopper建立這個系統這裡我們利用millipede來讓日子輕鬆一些。基本上geometry wrapper透過解析度建立三維格點並藉由power跟spread給予力量與衰減,進而輸出相對應的值給isosurface.(所以如果resolution是2的話我們會得到8個值2*2*2 


First we create a box which representing the grid space (also can be scaled), usually we use uni bounding box from geometry(can be group a random points). and inside this component it creates the grid of points according to the resolution and corresponding values. For instance, if the resolution setup to 2, we will get 8 values from output (2*2*2 grid), 4 then 64, and so on and so far. Also each values affected by power and spread. This value goes into the second component isosurface, extract the isosurface from the values controlled by threshold .

here are the explanation of each parameters from offical manual(page 31)
對於這兩個components的詳盡解使可以參考官方說明書
http://www.sawapan.eu/sections/section88_Millipede/files/MillipedeMarch2014.pdf

Example 1. couple points to create metaballs
這裡我們用幾個點來做metaball,當他們靠近時因為marching cube演算法產生漸進曲面 不同於直接布林.
 



we can see the relationship between voronoi.
與voronoi的關係

-----
okay, enough basic knowledge.
coffee break.

1.make a nice coffee and prepare some tracing paper
2.draw a perfect kickass curve as you're a starchitect

-----
2nd Part - modeling tool

Base on the concept from previous chapter, here we will try to use a set of curves to create isosurface in between, hence to have something like modeling tool to have more control of this playful geometry. (control points, number of subdivision)

這裡我們將利用分割曲線上的點來生成isosurface,進而取得類似建模工具的更多控制。(如控制點跟分割數)

so import the kickass curve you just draw in rhino and.. (this curve should be 3d.)




with two curves

also you can mirror them twice creating more symmetry geometry
鏡射曲線兩次獲得更對稱形體

some test render

and play with spread value to have more detail (here I use two twisted circle for isosurface)




--
3rd Part - Karamba integration

The output from millipede is a mesh, which we can anlaye it as a single shell in Karamba as feed back adjust parameter with millipede in order to get minimal deformation ( or other fitness vaules, finding the best support positions, optimize crossection..etc.).  

這裡我們用karamba來分析millipede的輸出mesh單殼結構, 藉由調整spread, power, isovalue或控制曲線等參數改變形體來取得較低的變形量或其他fitness值(或取得較佳的支撐點或求斷面等等應用)。

more applications can see from
http://www.karamba3d.com/category/examples/














--

until next time

D.

2015年10月26日 星期一

Maya Tutorial- Mechanical Nimbus 製作流程

文/圖 莊澤光

這是我在畢業後一週內完成的概念方案(建模大概2-3天);一方面試圖將學校所學化為自身的設計方法,另一方面亦是嘗試開發自己的另一項特色:幽默的批判。於眼尖的朋友可能已經發現,這朵Mechanical Nimbus(機械雨雲)的外型,其實就是一般天氣預報裡"雨天"的圖示。不論外表如何酷炫、多麼數位;其實這就是一件很後現代的作品。而利用雨雲來增高世界知名摩天樓,其實又是另一層的諷刺:一方面隱喻了追求高度的不切實際,另一方面"雨雲落於大樓"的形像,其實是就跟櫻桃小丸子裡臉上的斜線一樣,是一種嘲諷,是以建築的手法去切露一個社會問題。詳情請參照Project部份:http://tarch2011.blogspot.tw/2015/05/mechanical-nimbus-best-proposal-for.html?zx=ad7f843e1864ddfb .

總而言之,這件作品是根基於天氣預報裡"雨天"的圖示最直接的形象轉化;而在設計的過程中其實就是建模的過程,其中並沒有太多關於結構、空間等等實質問題的思考。以下為其流程(以Maya 2016,3d Coat4.1為例)。


Maya Tutorial- Maya Fluid 流體模擬

文/圖 莊澤光
 
本篇教程在說明如何使用Maya Fluid,以及將這些不可抓摸的粒子轉為幾何體,以進階利用於建築幾何體之上。本文以Maya2016為基礎,有些部份會與舊版不同,但原理一樣。
 
 
 
 
D01
首先進入FX面板(請看左上),於 Fluid>3d Container中創建Fluid1.同時於下方將影片禎數調到一定數量.

Rhino Tutorial - Grasshopper Kangaroo - KangarooPhysics基礎使用

文/圖 游秉諭

Kangaroo為Daniel Piker所製做的Grasshopper物理引擎外掛,可以模擬如橡皮筋等物、亦可運算布料或水的動態,甚至摺紙的變化。雖功能與優化不如3Ds MAX的粒子系統,但配合Grasshopper,對於設計的幫助依舊不容小覷。

以下為Kangaroo的核心電池 - Kangaroo Physics ,電池Kangaroo Physics如同一般的Grasshopper電池,左側為輸入端,右側為輸出端。較為特殊的是需要使用Timer來推動與使用Boolean Toggle來當做開關。