2012年1月10日 星期二

Pd模擬P5的範例「Esfera」

在processing官方範例中,有一隻程式運用到圓球表面位置的公式,
程式連結如下 它使用的公式為:


float z = random(-radio,radio);
float phi = random(TWO_PI); 
float theta = asin(z/radio);
float x = radio * cos(theta) * cos(phi);
float y = radio * cos(theta) * sin(phi);
float z = radio * sin(theta);

而我之前在pd計算圓球位置的公式為:
x = x0 + rsin(theta)*cos(phi)
y = y0 + rsin(theta)*sin(phi)
z = z0 + rcos(theta)
0<= phi<= 2pi
0<= theta<= pi


道理來說兩個公式都應該可以求的正確位置,只是我用pd跑第一隻公式,位置卻出不來
所以在pd裡製造Esfera的效果,我還是用我原本的式子。


上面影片是我用pd模擬esfera的效果,只是pd沒有processing noise()這個函數(pd的noise 是用來產生噪音),所以效果還是有差。(毛的轉動感覺)

File Download