NCF参数化建筑论坛

标题: processing assignment--sin() function apply [打印本页]

作者: weiwei    时间: 2010-10-8 00:38
标题: processing assignment--sin() function apply
利用getting start with processing 練面的教材,加以改進 與大家分享。 概念: (1)使用sin ()function 產生y1.y2.y3 三個圓,並有相同的直徑。 (2)再加上不同的振幅 針對每個圓 加以*scalar (3)把這些關係在套用到fill() function 上面 產生random(R,G,B) [attach]11450[/attach] [attach]11451[/attach] [attach]11452[/attach] processing file - adjust original file by wei [attach]11453[/attach] //////////////////////////////////////////////////// float angle = 0.0; float scalar = 100; float speed = 0.05; void setup(){ size(400,400); smooth(); background(255); } void draw(){ float y1 = sin(angle) * scalar; float y2 = sin(angle + 0.4) * scalar; float y3 = sin(angle + 0.8)* scalar; ellipse(random (height/2+ y1) ,random (width/2+ y1),40,40); ellipse(random (height/2+ y2) ,random (width/2+ y2),40,40); ellipse(random (height/2+ y3) ,random(width/2+ y3),40,40); float R = map(y1,-1 *scalar,1 *scalar,0,255); float G = map(y2,-1 *scalar,1 *scalar,0,255); float B = map(y3,-1 *scalar,1 *scalar,0,255); fill(R,G,B); angle += speed; println("y1 value = " + y1 ); } //////////////////////////////////////////////////// 目前所有的圓都集中在左上,使否有辦法把整個圓分布在所有視窗上,如果有人解決這問題可以,回覆我一下 謝謝。
作者: claudemit    时间: 2010-10-8 15:51
改下ellipse的坐标就好了 ellipse(random (height/2+ 2*y1) ,random (width/2+ 2*y1),40,40); ellipse(random (height/2+ 2*y2) ,random (width/2+ 2*y2),40,40); ellipse(random (height/2+ 2*y3) ,random(width/2+ 2*y3),40,40); [attach]11466[/attach]
作者: panhao1    时间: 2010-10-8 16:58
果然适合画抽象图 哈哈~
作者: weiwei    时间: 2010-10-8 18:20
感謝感謝,這樣看比較 漂亮 哈哈 。
作者: zcm_2004    时间: 2010-12-24 15:42
good stuff
作者: 琦琦    时间: 2011-11-29 03:56
感谢楼主~~~~
作者: 熊熊    时间: 2011-12-3 19:01
processing自带的example里面有个类似的~~可以对比参考下
作者: miaomiao    时间: 2012-4-3 05:48
大哥下次注明密级恐惧症渗入啊




欢迎光临 NCF参数化建筑论坛 (http://ncf-china.com/) Powered by Discuz! X3.2