星期四, 11月 30, 2006
NxM eyeballs that look at mouse cursor and change
這眼睛真的很難寫
我是參考了多人的範例所寫出來的!
對CLASS的概念還需要多一點練習
Processing Code:
--------------------------------------
int sCon=5,sRow=4,sColor=4;
sEyes[][] cl_Eye= new sEyes[sCon+1][sRow+1];
void setup()
{
size(200, 200);
smooth();
noStroke();
colorMode(HSB,360,100,100);
for(int i=0; i < sCon; i++)
{
for(int j=0; j < sRow; j++)
cl_Eye[i][j] = new sEyes(i*((width)/(sCon+1)),j*((height)/(sRow+1)));
}
}
void draw()
{
background(0);
for(int i=1; i < sCon; i++)
{
for(int j=1; j < sRow; j++)
cl_Eye[i][j].Display();
}
}
void mouseMoved()
{
for(int i=0; i < sCon; i++)
{
for(int j=0; j < sRow; j++)
cl_Eye[i][j].sChange(mouseX,mouseY);
}
}
void mousePressed()
{
sColor=(int)random(180,270);
for(int i=1; i < sCon; i++)
{
for(int j=1; j < sRow; j++)
cl_Eye[i][j].sChangeColor();
}
}
class sEyes
{
int x, y;
int size,icolor;
float angle = 0.0;
sEyes(int sPosx, int sPosy) {
x = sPosx;
y = sPosy;
icolor=(int)(sColor+random(-30,90));
if(width>=height)
size=height/(sRow+2);
else
size=width/(sCon+2);
}
void sChangeColor()
{
icolor=(int)(sColor+random(180));
}
void sChange(int sx, int sy)
{
angle = atan2(sy-y, sx-x);
}
void Display() {
pushMatrix();
translate(x, y);
fill(255);
ellipse(0,0, size, size);
rotate(angle);
fill(icolor,100,100);
ellipse(size/4, 0, size/2, size/2);
popMatrix();
}
}
--------------------------------------
星期三, 11月 29, 2006
Kandinsky互動
目前只研究出來讓一個物件移動的方式
如果要讓很多的物件一起動的話
應該要使用到類別會比較方便
不過由於目前個人技術的問題
要如何讓多個物件一起移動的話可能還需要一點時間
呵呵~
Processing Code:
----------------------------------------
int size = 50;
float sXpos,sYpos;
float sXspeed = 2.0;
int sXdirection = 1;
void setup()
{
size(379,450);
noStroke();
frameRate(30);
smooth();
sXpos = 105;
sYpos = 46;
}
void draw()
{
background(41,84,57);
smooth();
fill(159,159,39);rect(10,5,13,430);//左方形
fill(226,235,84);rect(33,10,10,420);//右方型
fill(219,45,54);triangle(125,170,90,245,110,250);//左小三角
fill(52,162,63);triangle(125,180,111,250,138,250);//中小三角
fill(219,45,54);triangle(127,170,140,250,160,250);//右小三角
fill(219,45,54);triangle(128,97,95,185,158,188);//上大三角
fill(219,45,54);triangle(123,253,100,415,140,415);//下大三角
fill(43,95,142);triangle(360,366,360,25,340,20);//右藍三角
fill(244,198,76);ellipse(275,380,80,50);//下1橢圓
fill(216,143,48);ellipse(275,350,55,25);//下2橢圓
fill(244,217,16);ellipse(275,332,53,25);//下3橢圓
fill(223,121,55);ellipse(275,319,28,17);//上2橢圓
fill(228,66,41);ellipse(275,303,110,26);//上一橢圓
sXpos = sXpos + ( sXspeed * sXdirection );
if (sXpos > 140 || sXpos < 60) {
sXdirection *= -1;
}
fill(106,185,70);ellipse(sXpos+size/2, sYpos+size/2, size, size);
}
-------------------------------------
Victor Vasarely
本學期到目前為止老師已經為我們介紹了三位大師
Kandinsky、Piet Mondrian
第三位大師是 Victor Vasarely
第一次看到他的作品的時候只有一種感覺
怎麼那麼帥!
Vasarely出生於1906年4月9號
他的畫風可以說是非常現代
甚至把他的畫拿到現今來畫
都覺得非常的有趣
基本的方格、圓形、大小的排列、顏色明亮度的變化
可說是使用的淋漓盡致
尤其是他利用大小,讓2D畫面做到3D的感覺
使的在20世紀初的作品,增添了許多的未來、現代感!
他的作品就目前我們學的Processing
可以利用類別與迴圈就可以快速的複製出相同效果的模仿品
不過還是要對這位大師至上一份尊敬的心
竟可以在電腦還未發明前就已經有這樣驚人的想法與創造力
利用一筆一劃就將這麼精采的作品給畫出來
而在1930~1970短短的30年間
就做出了超過500張的作品!
可說是非常的快速~
而且在1987年!這位大師就有了兩座博物館
真令我感到驚訝
但Vasarely在1997年3月離開了人世
不過他的作品,卻會流傳千古
他的作品就目前我們學的Processing
可以利用類別與迴圈就可以快速的複製出相同效果的模仿品
不過還是要對這位大師至上一份尊敬的心
竟可以在電腦還未發明前就已經有這樣驚人的想法與創造力
利用一筆一劃就將這麼精采的作品給畫出來
而在1930~1970短短的30年間
就做出了超過500張的作品!
可說是非常的快速~
而且在1987年!這位大師就有了兩座博物館
真令我感到驚訝
但Vasarely在1997年3月離開了人世
不過他的作品,卻會流傳千古
星期一, 11月 27, 2006
Piet Mondrian
星期四, 11月 23, 2006
演講:數位藝術的發展脈絡
期中考完整理的一下前一周的演講內容
精采的內容我就不提
但卻讓我印象深刻的事Q&A的時間^^
我記得顏立同學有問到一個問題
"什麼樣的素材結合後可以稱作藝術?"
老早我就想過這個問題
不過卻沒有聽過別人的想法
駱老師是這樣回答的
就很多人的認知
是否被稱做是藝術品
是由一些有頭有臉的人再判斷的
"Somebody"
可能是美術館的館長
可能是美術系的老師
可能是從事這方面的藝術家
但
是否真是如此?
有待討論與研究
最後駱老師講了一句話
若能將你心中的想法跟感受呈現到百分之八十的時候
她就認為那是一件藝術品了!
這句話我琢磨了很久!!!
如何把感受實體化?
如何將感覺放進作品裡面
讓路人甲也可以藉由這樣的一個呈現
能體會到你的感受?
我想還需要時間的磨鍊
跟個人百分之百的努力吧!
謝謝老師安排這麼精采的演講
謝謝駱麗真老師、謝謝微型樂園、謝謝國美館
星期五, 11月 03, 2006
Class warm-up
今天碰到了頭痛的Class><真的快讓我死掉了,不過痛苦了兩個多小時總有了些收穫
現在對Class已經了解了一些些,這是我們今天上課的Warm-up也是成品
雖然會了一點點,不過還有太多東西要學了!花時間吧~多花點時間研究程式><啊~~~~
我不聰明~我更不懶惰!我要學~
大家加油~~~
-------------------------------------------------
processing code:
sbubble[][] Egg=new sbubble[5][3];
void setup()
{
size(250,150);
background(225);
smooth();
noLoop();
noStroke();
colorMode(HSB,width,100,100,100);
for(int i=0;i<5;i++)
{
for(int j=0;j<3;j++)
{
Egg[i][j]=new sbubble(i*50+25,j*50+25);
}
}
}
void draw()
{
for(int i=0;i<5;i++)
{
for(int j=0;j<3;j++)
{
Egg[i][j].change();
Egg[i][j].show();
}
}
}
class sbubble
{
int x,y;
color sAColor;
sbubble(int xPos,int yPos)
{
x=xPos;
y=yPos;
}
void change()
{
sAColor=color(mouseX+random(90),28,77,80);
}
void show()
{
fill(sAColor);
ellipse(x,y,35,35);
}
}
void mouseDragged()
{
redraw();
}
-------------------------------------------------
請按住滑鼠左鍵,在圖上拖曳即可。
-------------------------------------------------
星期四, 11月 02, 2006
ColorMode
上星期四學到的顏色變化,到現在才慢慢的消化完,很想趕快有些成品,所以再上星期隨手寫了一個小程式,呈現出來五個正方形,用了幾個簡單的Code就完成了的作品,主要的程式我會放在下面,使用了低飽和、高亮度、與高透明度,雖然是簡單的方形,卻有不一樣的感覺
Processing Code:
void setup()
{
size(300,300);
noLoop();
noStroke();
colorMode(HSB,360,100,100,100);
}
int myColor=90;
void draw()
{
background(0);
color sColor1 = color(myColor+random(30),66,90,50+random(-30,30));
fill(sColor1);
rect(120,120,56,56);
color sColor2 = color(myColor+random(50),50,50,40);
fill(sColor2);
rect(150,150,100,100);
color sColor3 = color(myColor+random(30),random(0,60),90,50+random(-30,30));
fill(sColor3);
rect(60,50,80,80);
color sColor4 = color(myColor+random(50),35+random(40),40,50+random(-30,30));
fill(sColor4);
rect(165,80,56,56);
color sColor5 = color(myColor+random(10),20+random(10),40,50+random(-30,30));
fill(sColor5);
rect(67,144,56,56);
}
void mousePressed()
{
redraw();
}
主要顏色的變化不只有之前單單的使用RGB
而這次使用了HSB,色環的角度、顏色飽和度、顏色亮度、與透明度做顏色上的控制
RGB只能單純的提供你要的顏色(Monochromatic)
但HSB可以提供更多的顏色,甚至可以隨機使用一定角度內的顏色(Analogous)
所以可以使作品更加的動人。
我很喜歡使用不同的透明度,然後使圖形的前後可以做出不同的重疊效果
會有很不一樣的感覺,當兩種不同的顏色相疊時,會出現更大的延伸空間。
Analogous Kandinsky
上次選的Kandinsky經過修改後,在固定的角度上有些微的顏色變動,我希望顏色的變化不會太突兀,所以都使用了小角度,不過因為這副圖之前的顏色就很飽和,所以飽和度較不下來,要不然很難看,我的背景顏色不變,希望可以保留些原圖的元素,再加上一點點的變化,使整幅畫可以更生動。
程式碼:
void setup()
{
size(379,450);
background(41,84,57);
noLoop();
smooth();
noStroke();
colorMode(HSB,360,100,100);
}
int sChange=30;
void draw()
{
color sCChange1 = color(sChange+random(50),80,50);
fill(sCChange1);rect(10,5,13,430);//左方形
color sCChange2 = color(sChange+30+random(20),60,90);
fill(sCChange2);rect(33,10,10,420);//右方型
color sCChange3 = color(sChange+60+random(30),80,66);
fill(sCChange3);ellipse(126,72,50,50);//上圓
color sCChange4 = color(sChange-29+random(20),80,90);
fill(sCChange4);triangle(125,170,90,245,110,250);//左小三角
color sCChange5 = color(sChange+60+random(30),80,66);
fill(sCChange5);triangle(125,180,111,250,138,250);//中小三角
color sCChange6 = color(sChange-29+random(20),80,90);
fill(sCChange6);triangle(127,170,140,250,160,250);//右小三角
color sCChange7 = color(sChange-29+random(20),80,90);
fill(sCChange7);triangle(128,97,95,185,158,188);//上大三角
color sCChange8 = color(sChange-29+random(10),80,90);
fill(sCChange8);triangle(123,253,100,415,140,415);//下大三角
color sCChange9 = color(sChange+180+random(30),80,50);
fill(sCChange9);triangle(360,366,360,25,340,20);//右藍三角
color sCChange10 = color(sChange-15+random(20),60,90);
fill(sCChange10);ellipse(275,380,80,50);//下1橢圓
color sCChange11 = color(sChange-18+random(20),90,90);
fill(sCChange11);ellipse(275,350,55,25);//下2橢圓
color sCChange12 = color(sChange-10+random(30),90,85);
fill(sCChange12);ellipse(275,332,53,25);//下3橢圓
color sCChange13 = color(sChange-29+random(30),80,90);
fill(sCChange13);ellipse(275,319,28,17);//上2橢圓
color sCChange14 = color(sChange-29+random(20),80,90);
fill(sCChange14);ellipse(275,303,110,26);//上1橢圓
}
void mousePressed()
{
redraw();
}
下面使用Java呈現出來的成品
訂閱:
文章 (Atom)

