作品名稱:超人力霸王
2015年1月6日 星期二
2015年1月5日 星期一
2014年12月29日 星期一
week15
1. 口頭上複習之前學過的內容
1.1. Arduino 的 Output (LED, Motor, Servo)
1.2. Arduino 的 Input (Button PULL_UP, 可變電阻, 光敏電阻)
1.3. Arduino 的 Serial COM (communication) 與電腦連接通訊
2. 期中考前教過的內容 Processing 繪圖/互動
1.1. Arduino 的 Output (LED, Motor, Servo)
1.2. Arduino 的 Input (Button PULL_UP, 可變電阻, 光敏電阻)
1.3. Arduino 的 Serial COM (communication) 與電腦連接通訊
2. 期中考前教過的內容 Processing 繪圖/互動
2014年12月15日 星期一
WEEK14
/*
Analog Input
Demonstrates analog input by reading an analog sensor on analog pin 0 and
turning on and off a light emitting diode(LED) connected to digital pin 13.
The amount of time the LED will be on and off depends on
the value obtained by analogRead().
The circuit:
* Potentiometer attached to analog input 0
* center pin of the potentiometer to the analog pin
* one side pin (either one) to ground
* the other side pin to +5V
* LED anode (long leg) attached to digital output 13
* LED cathode (short leg) attached to ground
* Note: because most Arduinos have a built-in LED attached
to pin 13 on the board, the LED is optional.
Created by David Cuartielles
modified 30 Aug 2011
By Tom Igoe
This example code is in the public domain.
http://arduino.cc/en/Tutorial/AnalogInput
*/
int sensorPin = A0; // select the input pin for the potentiometer
int ledPin = 13; // select the pin for the LED
int sensorValue = 0; // variable to store the value coming from the sensor
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
// turn the ledPin on
digitalWrite(ledPin, HIGH);
// stop the program for <sensorValue> milliseconds:
delay(sensorValue);
// turn the ledPin off:
digitalWrite(ledPin, LOW);
// stop the program for for <sensorValue> milliseconds:
delay(sensorValue);
}
Analog Input
Demonstrates analog input by reading an analog sensor on analog pin 0 and
turning on and off a light emitting diode(LED) connected to digital pin 13.
The amount of time the LED will be on and off depends on
the value obtained by analogRead().
The circuit:
* Potentiometer attached to analog input 0
* center pin of the potentiometer to the analog pin
* one side pin (either one) to ground
* the other side pin to +5V
* LED anode (long leg) attached to digital output 13
* LED cathode (short leg) attached to ground
* Note: because most Arduinos have a built-in LED attached
to pin 13 on the board, the LED is optional.
Created by David Cuartielles
modified 30 Aug 2011
By Tom Igoe
This example code is in the public domain.
http://arduino.cc/en/Tutorial/AnalogInput
*/
int sensorPin = A0; // select the input pin for the potentiometer
int ledPin = 13; // select the pin for the LED
int sensorValue = 0; // variable to store the value coming from the sensor
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
// turn the ledPin on
digitalWrite(ledPin, HIGH);
// stop the program for <sensorValue> milliseconds:
delay(sensorValue);
// turn the ledPin off:
digitalWrite(ledPin, LOW);
// stop the program for for <sensorValue> milliseconds:
delay(sensorValue);
}
2014年12月1日 星期一
week12
/*
Button
Turns on and off a light emitting diode(LED) connected to digital
pin 13, when pressing a pushbutton attached to pin 2.
The circuit:
* LED attached from pin 13 to ground
* pushbutton attached to pin 2 from +5V
* 10K resistor attached to pin 2 from ground
* Note: on most Arduinos there is already an LED on the board
attached to pin 13.
created 2005
by DojoDave <http://www.0j0.org>
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/Button
*/
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
void loop(){
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
2014年11月24日 星期一
week11
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
int led2 = 15;
int led3 = 17;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(100);
digitalWrite(led2, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led2, LOW); // turn the LED off by making the voltage LOW
delay(100);
digitalWrite(led3, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led3, LOW); // turn the LED off by making the voltage LOW
delay(100);
}
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
int led2 = 15;
int led3 = 17;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(100);
digitalWrite(led2, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led2, LOW); // turn the LED off by making the voltage LOW
delay(100);
digitalWrite(led3, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led3, LOW); // turn the LED off by making the voltage LOW
delay(100);
}
2014年11月19日 星期三
week10
愛迪斯科技胡啟彥先生心得報告
資傳三乙
鄭怡珊
01160600
心得:
今天老師請的人是介紹3D虛擬科技的,開發應用展示分享,演講人是胡啟彥先生,他介紹了很多東西,像是Electronic / Digital、Total
Immersion, Ubiquitous Computing, Internet of Things, Cloud Computing, Augment
Vision等等。
他給我看了一個關於預售屋的影片,可以藉由在玻璃板上平面圖的移動,在螢幕中看到不同角度的視野,感覺很有趣,還可以在特定區域轉動,有可以看家傢俱的分解圖,讓消費這就像是親自去現場參觀一樣方便。
還有一個影片是專門在幫客人客製化傢俱,他用虛實投影讓消費者可以選擇他說想要的樣式例如顏色、材質等等來決定要客製化的傢俱,這也讓消費者更方便的表達想表達的意見,非常得方便使用。
啟彥先生還放了一個車子的影片,藉由投影讓冰雕向真的車一樣在行走的感覺,看了這個影片我覺得非常厲害,因為要做到我們所看到的那樣,不僅要有想法之外,還連光的顏色都要擁有完美的搭配,才能呈現他們所做的那樣。
也看了讓人物變成漫畫角色中,讓人可以親自參與互動的技術,我看現場玩得人都非常喜歡變身為主角,害我也想去玩這個遊戲,其中還有體感玩賽車,感覺也非常有趣,可以用肢體來操控汽車,也是一項不一樣的體驗。
客家展覽館也結合了很多客家文化的遊戲,感覺很有趣,當然人腦的展示互動也很厲害,也介紹了一個松山文創的展覽,他還介紹了一個電競的現場作品,DJ可以隨意地更換現場民眾的加油棒顏色,感覺就像來到夜店的感覺,要事夜店裡也有如此特別的互動技術,大概會吸引更多人潮吧。還介紹了一個在台中科博館的左品就地質時光機,他還有做一個跟核能發電廠的作品,這個作品可以運用手指來控制一些發電的作品,其中一個是跑步發電機,它是藉由抬腳來偵測跑的量,還有幸福餐桌,可以考慮想吃什麼美食。
看到雷神索爾展示在美麗華的那個影片,就想到我去美麗華好像有看過,原來做的人是老師這次找來的人,就覺得很神奇,我記得我也有去玩那個遊戲,哈哈哈看了影片才發現原來事前準備工作那麼多,不是當下我們看到的那樣簡單,深深的佩服了互動技術的厲害。
每次的講解都讓我對互動技術有更深一層的感覺,實在是太佩服了,希望未來我也能創造出讓大家刮目相看的東西,謝謝每次上這堂課都讓我收穫好多,也對未來更有憧憬,希望我能好好學習現在的大學時光,這也對未來也不會很徬徨希望自己能在大學四年學得很充實,然後出社會好好發展自己,希望老師以後也能多多找這種業界講師來演講,謝謝老師!
2014年11月12日 星期三
week08
業界雙師授課心得報告-叁式曾煒傑先生
聽完今天的雙師課程請的業界老師,覺得收穫良多,老師一早來就有先講許多關於曾煒傑的經歷,一開始就覺得是個很厲害的人,看了他播放的影片,真的很驚訝,沒想到可以看到很多不如以往而是充滿創意的現代舞配上背景,讓人了解他想表達得意思。
很多影片都是透過很多想法才拍出來哦,每一幕都有深深的意思。
互動技術真是一個很值得研究和探討的技術,可以藉由影片表達商品享傳給消費者所看到的東西,真的很厲害又有趣。
其中裡面最喜歡的影片是NIKE的活動,看了真的會很想要那贈品!!!!!!!!!!!!!透過介紹的知道了互動技術可以包含很多有趣的東西,像是表演藝術、品牌行銷、展覽諸如此類等等的類型,未來趨勢是非常的好啊。
我覺得影片內容表演很精彩,可以幫臉換不同的造型,還有幫NIKE公司做的面板,這個面板要模仿球星的動作,模仿完還可以上傳到FB,還有白蘭氏的廣告也很厲害,每個都令我驚嘆不已,接下來還有看到乾隆皇帝的展覽,我印象最深刻是三角化的花瓶,透過煒傑厲害的講解與介紹後,我終於道互動的技術可以應用在許多地方,各式各樣都是他可以利用的,像是藝術、品牌、表演、展覽還有其他地方的文化等等…..。還有介紹許多著名的團隊像是英國的UVA RANDOM International,聽完了這個演講真的讓我對互動技術,有更新一層的認識。
科技並不是重點,而是你的出發點,如何結合科技,才是本事。我來介紹一下煒傑先生介紹的團隊好了,UVA-英國,這個互動技術太強大了!!!日本人見的模型太誇張了,看得我雞皮疙瘩都掉滿地,NIGHT LIGHT用在跳舞系列電影上衣定非常的酷,EYE
LIGHT 是為漸凍人所設計的,眼動設計塗鴉,非常的符合漸凍人可以使用,是一個很有愛、很溫暖的一個想法。PARTY國外優良團隊,用NIKE鞋子敲出節奏真的很猛欸
!!!!!! 他們所有的構想真的都會讓我意想不到,給我很驚艷的感覺,我常在想為什麼這些人都想得出一下不同的IDEA,每次老師或是自己想做一點不一樣的想法,卻總是想不到很新奇的想法,每次看電影或是影片電視裡一些讓人想不到的情節,就會很佩服他們到底是如何想到的,他們是花很多時間才想到的?還是他們因為發生了某些事,或是看到了什麼而想到的。
可以的話我也想成為像煒傑先生一樣偉大的人
,一起很團隊做出一個讓世人都驚嘆的影片,一起發揮自己的想像力,超脫大家一般所想像的東西,想必一定很有成就感吧。謝謝老師帶給我們這個機會,讓我們更加了解現今社會許多創新的例子,告訴我們出社會的其中一條路,演講真的讓我對互動更刮目相看,也許我以後也會走上這條路,加油!
2014年10月27日 星期一
期中作品
01160600 鄭怡珊 01160944 張郡庭
遊戲介紹及玩法:
這就是打殭屍遊戲,我們把他可愛話變成屁桃被種下去盆栽裡面,並且也加難了原本的遊戲的按鍵,盆栽由左至右分別為數字1,2,3,4,5,按下按鍵屁桃就可以種下去盆栽,屁桃有五種不同類型,越玩到後面會看到不同的角色。
程式碼:
import ddf.minim.*;
Minim m;
AudioPlayer player;
int []bz=new int[1000];
PImage imgKobitos;
PImage imgAKobitos;
PImage imgBKobitos;
PImage imgCKobitos;
PImage imgDKobitos;
PImage imgEKobitos;
PImage imgFKobitos;
PImage imgGKobitos;
PImage imgPot;
PImage imgBG;
void setup() {
size(1000, 600);
imgKobitos=loadImage("kobitos.png");
imgAKobitos=loadImage("Akobitos.png");
imgBKobitos=loadImage("Bkobitos.png");
imgCKobitos=loadImage("Ckobitos.png");
imgDKobitos=loadImage("Dkobitos.png");
imgEKobitos=loadImage("Ekobitos.png");
imgFKobitos=loadImage("Fkobitos.png");
imgGKobitos=loadImage("Gkobitos.png");
imgPot=loadImage("pot.png");
imgBG=loadImage("bg.jpg");
for (int i=0;i<1000;i++) {
bz[i]=int(random(5));
}
m = new Minim(this);
player = m.loadFile("test123.mp3");
player.play();
}
int now=0;
int a;
int total=0;
int countDown=150;
int countDown2=3600;
void draw() {
background(imgBG);
int a=0;
if (a==0) {
if (countDown>0) {
background(0);
countDown--;
textSize(100);
text(countDown/30, 450, 300);
return;
}
a++;
}
if (a==1) {
if (countDown2>0) {
countDown2--;
textSize(50);
text("TIME:"+countDown2/60, 20, 40);
for (int i=now;i<now+5;i++) {
if (now<=50)image(imgKobitos, bz[i]*200, 350-(i-now)*100);
else if (now>50 && now<=100)image(imgAKobitos, bz[i]*200, 350-(i-now)*100);
else if (now>100 && now<=150) image(imgBKobitos, bz[i]*200, 350-(i-now)*100);
else if (now>150 && now<=200)image(imgCKobitos, bz[i]*210, 310-(i-now)*130);
else if (now>200 && now<=250)image(imgDKobitos, bz[i]*210, 320-(i-now)*100);
else if (now>250 && now<=300)image(imgEKobitos, bz[i]*210, 310-(i-now)*130);
else if (now>300 && now<=350)image(imgFKobitos, bz[i]*210, 310-(i-now)*120);
else if (now>350)image(imgGKobitos, bz[i]*210, 330-(i-now)*130);
}
image(imgPot, 20, 465);
image(imgPot, 220, 465);
image(imgPot, 420, 465);
image(imgPot, 620, 465);
image(imgPot, 820, 465);
}
a++;
}
if (a==2) {
if (countDown2/60==0)text("score:"+total, 400, 350);
}
}
void keyPressed() {
if (key==bz[now]+'1')
{
if (total<50)a=1;
if (total==50)a=2;
if (countDown2/60==0)a=0;
now++;
total=total+a;
}
}
2014年10月6日 星期一
week04
期中作品:
我想做類似打殭屍的遊戲
void setup(){
size(600,400);
}
void draw(){
translate(mouseX,mouseY);
fill(#FF6464);
ellipse(0,0,80,180);
rotate(PI/4);
fill(#FF6464);
ellipse(0,0,80,180);
rotate(PI/4);
fill(#FF6464);
ellipse(0,0,80,180);
rotate(PI/4);
fill(#FF6464);
ellipse(0,0,80,180);
rotate(PI/4);
fill(#FF7c17);
ellipse(0,0,80,80);
rotate(PI/4);
}
void setup(){
size(600,400);
}
void draw(){
translate(mouseX,mouseY);
rotate(0.01*frameCount);
for(int i=0;i<20;i++){
fill(#FF6464);
ellipse(0,0,80,180);
rotate(PI/4);
}
fill(#FF7c17);
ellipse(0,0,80,80);
}
void setup(){
size(600,400);
colorMode(HSB,600,400,400);
}
void draw(){
fill(mouseX,mouseY,400);
translate(mouseX,mouseY);
rotate(0.01*frameCount);
for(int i=0;i<20;i++){
ellipse(0,0,80,180);
rotate(PI/4);
}
fill(#FF7c17);
ellipse(0,0,80,80);
}
2014年9月29日 星期一
Week03
size(600,600);
PImage img = loadImage("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhInFdPcODMbKZMDCIBGWp-LaNCGm0kgsPRurzpkHmDVgNaZrhkewHcnBznJ0uI4iV_xL-RxYltPDB0BhWf4YkMu6bM-4NC-LxHN1B-VltBsxCJN7ewpcx7CsWBUXe1fQ8xxnEeb-aewZo/s800/20012.jpg");
image(img,0,0,600,600);
File - save as
開個資料夾 把照片拉進來p語言
開個資料夾 把照片拉進來p語言
PImage img;
void setup(){
size(800,600);
img = loadImage("20012.jpg");
imageMode(CENTER);
}
void draw(){
background(255,0,0);
image(img, mouseX,mouseY,300,300);
}
加入圖片
PImage img,imgBG;
void setup(){
size(800,600);
img = loadImage("1234.png");
imgBG = loadImage("background.jpg");
imgBG.resize(800,600);
imageMode(CENTER);
}
void draw(){
background(imgBG);
image(img, mouseX,mouseY,300,300);
}
import ddf.minim.*;
Minim minim;
AudioPlayer wolf;
void setup()
{
size(512,200,P3D);
minim = new Minim(this);
wolf= minim.loadFile("wolf.wav");
}
void draw()
{
}
void mousePressed()
{
wolf.rewind();
wolf.play();
}
2014年9月22日 星期一
week02
void setup(){
size(800,600);
}
void draw(){
background(#FAFC96);
rect(mouseX,mouseY,100,100);
}
void setup(){
size(800,600);
background(#FAFC96);
}
void draw(){
line(mouseX,mouseY,pmouseX,pmouseY);
void setup(){
size(800,600);
background(#FAFC96);
}
void draw(){
if(mousePressed)line(mouseX,mouseY,pmouseX,pmouseY);
}
void setup(){
size(800,600);
background(#FAFC96);
fill(255,0,0); rect(0,0,100,100);
fill(0,255,0); rect(0,100,100,100);
fill(0,0,255); rect(0,200,100,100);
fill(0); rect(0,300,100,100);
}
void draw(){
if(mousePressed)line(mouseX,mouseY,pmouseX,pmouseY);
}
void mousePressed()
{
if(mouseX<100 && mouseY<100) stroke(255,0,0);
else if(mouseX<100 && mouseY<200) stroke(0,255,0);
else if(mouseX<100 && mouseY<300) stroke(0,0,255);
else if(mouseX<100&& mouseY<400) stroke(0);
}
void setup(){
size(800,600);
background(#FAFC96);
rect(700,0,100,100); ellipse(750,50,5,5);
rect(700,100,100,100); ellipse(750,150,10,10);
rect(700,200,100,100); ellipse(750,250,15,15);
fill(255,0,0); rect(0,0,100,100);
fill(0,255,0); rect(0,100,100,100);
fill(0,0,255); rect(0,200,100,100);
fill(0); rect(0,300,100,100);
}
void mousePressed()
{
if(mouseX<100 && mouseY<100) stroke(255,0,0);
else if(mouseX<100 && mouseY<200) stroke(0,255,0);
else if(mouseX<100 && mouseY<300) stroke(0,0,255);
else if(mouseX<100&& mouseY<400) stroke(0);
else if(mouseX<700 && mouseY<100) strokeWeight(5);
else if(mouseX<700 && mouseY<200) strokeWeight(10);
else if(mouseX<700 && mouseY<300) strokeWeight(15);
}
void draw(){
if(mousePressed && mouseX>100 && mouseY <700)line(mouseX,mouseY,pmouseX,pmouseY);
}
訂閱:
文章 (Atom)




























