本週經堯老師跟大家分享他的作品軌跡 (tracks)的創作過程,感謝經堯老師無私的分享作品,透過開放作品程式碼,讓我們更理解了他的創作方法以及作品的意涵,以下為本週課程內容的部分節錄。
var clicked=false; var control={}; var clock=[]; function dis(x1,y1,x2,y2){ return Math.sqrt(Math.pow((x1-x2),2)+Math.pow((y1-y2),2)); } function angle(x,y,x1,y1){ return Math.atan2(y1-y,x1-x); } function (__structure outlet,__structure outlet2) main (__number x,__number y, __boolean click,__boolean reset,__number time) { for(var i=0;i<clock.length;i++){ clock[i].theta+=clock[i].r/10; clock[i].x1=clock[i].x+Math.cos(clock[i].theta)*clock[i].r; clock[i].y1=clock[i].y+Math.sin(clock[i].theta)*clock[i].r; } var result = new Object(); //if(click==true && clicked==false) if(reset){ clock=[]; } if(click && !clicked){ clicked=true; control.posx=x; control.posy=y; control.enable=true; } if(click && clicked){ control.posx1=x; control.posy1=y; control.dis=dis(control.posx,control.posy,control.posx1,control.posy1); control.angle=angle(control.posx,control.posy,control.posx1,control.posy1) } if(!click && clicked){ clicked=false; control.enable=false; clock.push({ x:control.posx, y:control.posy, x1:control.posx1, y1:control.posy1, r:control.dis, theta:control.angle, }); } result.outlet=control; result.outlet2=clock; return result; }
(draw line)
(iterator)
qc2-w4-1.qtz
沒有留言:
張貼留言