2011年12月9日金曜日

次回12/12(月)アイデアと手段

前回の「現代的/今日的1日の過ごし方(2011年版) 極端な例」をもとに各自トピックに関するレポート(ウィキペディアのような説明)してもらいます。各自のブログなどに必要な画像や説明分を掲載してください。
各自が選んだトピックに対しての個人的な印象や感想というよりは、その事象がどのようなものであるのか、その事象に関連する他の事象などについてレポートしてください。

その後、そのトピックに体する解決策/転用策/反転策などを授業内でディスカッションし、表現する上での手段やメディアを考えたいと思います。

2011年11月24日木曜日

次回11/28(月)アイデアの創出

次回は、授業内のディスカッションやインターネット検索などを通して、今後の作品制作に向けてのアイデアを創出したいと思います。

必要なもの:各自のノートパソコン

社会の動向、各自の日常の関心事/必要性を再検討し、アイデアの開始地点とします。授業内では、段階的にアイデア/トピックを絞っていく演習を行います。

-----------------------------------------------------------------------


現代的/今日的1日の過ごし方(2011年版) 極端な例
起床(何時?どこ?ソファ
Twitter/Facebook/ネットニュース/健康チェック
 朝食(なし/ドトール+朝マック/弁当つくり/駅中自販機/栄養飲料
化粧身支度(録画番組視聴)/お菓子
移動(自転車+駐輪+シャワー/音楽/英会話/資格勉強/読書/ゲーム/パソコン/携帯写真アップ/ナビ/化粧/漫画[世代]
メールチェック
外朝食
着替え+シャワー

イベント招待+勧誘
労働/勉学(在宅勤務/MSOfficeフォーマット
昼食(トイレ食事
置き菓子
労働/勉学(スカイプ会議

移動(自転車、駅構内ショップ
ジム、ヨガ、ダンス、ボクササイズ、
夕食:生協食材、カラオケ外食、インターネットしながら、水サーバー、駅中飲食店、家のみ、立ち飲み
休息/学校/皇居ジョギング/インターネット(SNS・ネトゲー・動画)
風呂(半身浴、ボディケア、スーパー銭湯、岩盤浴、洗濯、コインシャワー
Redbull飲料
就寝(ネットカフェ
---------------------------------------------------

上記のうちから1シーンを抜き出して、その詳細について調べる。
・シーンが分かるような画像(+詳細画像)
・詳細についての説明

2011年11月11日金曜日

次回11/14(月)Arduino+マトリクスLED

次回11/14(月)はArduinoを行います。
必要なもの:
・Arduinoボード
・USBケーブル
・ノートパソコン
・ブレッドボード
・ジャンプワイヤ

マトリクスLEDの点灯実験
サンプル1:1行だけの点灯実験

void setup(){
//16本のピン(2~17)を出力に設定
for(int i=2;i<=17;i++){
pinMode(i,OUTPUT);
}
}
void loop(){
digitalWrite(2,HIGH); //1行目(横)をHIGHで点灯

//列(縦)の繰り返し処理
for(int j=10;j<=17;j++){ //列(10~17番ピン)
digitalWrite(j,LOW); //LOWで点灯
delay(100); //点灯時間
digitalWrite(j,HIGH); //列をオフにする
}

digitalWrite(2,LOW); //行をオフにする
}
}



サンプル2:64個の点灯実験

void setup(){
//16本のピン(2~17)を出力に設定
for(int i=2;i<=17;i++){
pinMode(i,OUTPUT);
}
}
void loop(){
//行(横)の繰り返し処理
for(int i=2;i<=9;i++){ //行(2~9番ピン)
digitalWrite(i,HIGH); //HIGHで点灯

//列(縦)の繰り返し処理
for(int j=10;j<=17;j++){ //列(10~17番ピン)
digitalWrite(j,LOW); //LOWで点灯
delay(100); //点灯時間
digitalWrite(j,HIGH); //列をオフにする
}

digitalWrite(i,LOW); //行をオフにする
}
}



参照:建築工作ゼミ2008「マトリクスLED1」

2011年10月24日月曜日

次回10/31(月)Webカメラ

次回10/31(月)は、Processingを通してWebカメラの実験を行います。

必要なもの:
・ノートパソコン
・USB接続のWebカメラ(内蔵カメラでも可/持っていない場合は貸します)
・Arduinoボード+USBケーブル+ブレッドボード+ジャンプワイヤ

尚、WindowsでWebカメラを使う場合は「WinVDIG1.01」をインストールする必要があります。


サンプル


import processing.video.*; //ライブラリを取り込む

Capture video; //オブジェクトの用意

int w=320; //画面幅の変数と値
int h=240; //画面高さの変数と値

void setup() {
size(w, h); //画面サイズ設定
video = new Capture(this, w, h, 30); //ビデオ設定

background(0); //背景を黒にしておく
stroke(255,0,0,200); //線色設定(赤,緑,青,透明度)
}

void draw() {
image(video,0,0);//映像表示

//カメラ画像のピクセルをひとつずつ調べる
for(int i=0;i<w*h;i++){
if(brightness(video.pixels[i])>200){ //ピクセルが200以上の明るさの場合
point(i%w,i/w); //選択されたピクセルを赤にする
}
}
}

//キャプチャ画面の読み込み
void captureEvent(Capture video) {
video.read();
}

//マウスボタンを押したら
void mousePressed(){
background(0); //背景を黒にする
}




参照:建築発明工作ゼミ2008「Webカメラを光センサとして使う」

2011年10月5日水曜日

次回10/17(月):Arduino+サーボ制御

次回10/17(月)も引き続きArduino(電子工作)を行います。
必要なもの:
・Arduinoボード
・USBケーブル
・ノートパソコン
*できればブレッドボード(小型なもので可)とジャンプワイヤも各自用意してください。

Arduino+サーボ実験
参照:建築発明工作ゼミ2008「サーボ制御」

2011年9月28日水曜日

Arduino-Processingシリアル通信

以下はProcessingプログラム上でマウスクリックしてArduinoボード上のLEDを点灯/消灯させるプログラムです。ProcessingとArduinoを連携させるにはシリアル通信という手段を用います。
まずProcessingのプログラムから行います。

import processing.serial.*;
Serial myPort;

void setup(){
myPort=new Serial(this,Serial.list()[0],9600);
}

void draw(){
//描画内容は特になし
}
void mousePressed(){
myPort.write(1);
}

void mouseReleased(){
myPort.write(0);
}

シリアル通信を行うためには、シリアル通信用のライブラリを導入する必要があります。
ProcessingのSketch>Import Library/Serial I/Oを選択すると、
import processing.serial.*;
がプログラムに書き足されます。
今回は画面上をクリックするだけで特に描画しないので、draw(){}内は空白です。
あとはmyPort(名前は任意)を設定し、setup(){}内にシリアルポート設定を上記のように書き足せばシリアル通信を行うことができます。
myPort.write()によって、()内の数値をArduinoに送信するプログラムを書き足します。
マウスを押した時に1を、マウスを放した時に0を送信することにし、Arduino側では1の値を受け取ったらLEDをオンにし、0を受け取ったらオフになるようにします。
マウスクリックする際には、Processingをランさせたときに表示される画面上をクリックしてください(100×100ピクセルのグレーのウィンドウが表示されます)。

以下はArduinoのプログラム:

void setup() {
pinMode(13, OUTPUT);
Serial.begin(9600);
}

void loop(){
if(Serial.available()>0){
if(Serial.read()==1){
digitalWrite(13, HIGH);
}else{
digitalWrite(13, LOW);
}
}
}


Arduino側では、Serial.begin()によってシリアル通信開始を設定します。括弧内の9600は通信速度でありこのままの設定で構いませんが、Processing側と設定速度を同じにしておきます。
Serial.available()によって、Processing側から何個のデータが送られて来ているかをチェックします。Serial.available()>0というのは、受信データが0個より大きいとき、つまり1個データを受信したときに以下のプログラム(LED点灯/消灯)を実行するということになります。
受け取ったデータをSerial.read()で読取り、その内容が1であればdigitalWrite(13, HIGH)によってLEDを点灯させ、0であれば消灯させるという条件式になっています。
つまり、Processing側でマウスを押したとき(押し続けているとき)オンになり放したらオフになります。

この通信の場合は、Processing側からデータを送信し、Arduino側が受信する内容になります。
その逆でArduinoからデータを送信して、Processing側が受信してProcessingでプログラムした描画内容を操作するという場合のサンプルはこちらを参考にしてみてください(建築発明工作ゼミ2008:シリアル通信1)。

また、Xbee、Bluetoothなどを使えばワイヤレス送信させることも可能です。
Xbeeのサンプル
Bluetoothのサンプル
あるいは、インターネット越しに操作することも可能です。
ネットワークのサンプル

Arduinoの基本

Arduinoのセッティング
Arduinoサイトの「Getting Started」ページに、MacOSX、Windows、Linuxごとのセッティングの説明があるので、それに従ってセッティングします。
OSがWindowsの場合やArduinoボードが旧型のDuemilanoveやDiecimilaなどの場合は、付属のドライバソフトをインストールする必要があります。

ArduinoボードをUSBケーブルを通してパソコンに接続します。
Tool>Boardから使用しているArduinoボードのタイプを選択。
Tool>Serial Portから一番上のポートを選択。
動作確認のため次のプログラムをArduinoボードに書き込みます。
File>Examples>1.Basics>Blink
以下がBlink(LED点滅)のプログラムです。
Arduinoボード上端にデジタルピン0〜13番があり、13番ピンの下方にある内蔵LEDが点滅します。あるいは普通のLEDを13ピンとGNDピンに差し込んでも構いません(LEDの足の長い方を13番ピン、短い方をGNDピン)。GNDピンは13番ピンの左側にあります。

void setup() {
pinMode(13, OUTPUT); //13番ピンを出力用に設定
}

void loop() {
digitalWrite(13, HIGH); //13番ピンを5Vで出力:LEDオン
delay(1000); //1秒間待機
digitalWrite(13, LOW); //13番ピンを0Vで出力:LEDオフ
delay(1000); //1秒間待機
}



プログラムをArduinoボードにアップロードするには:
ソフト上のVerifyボタンを押してコンパイルします。

問題なければ「Done Compiling.」が画面下部に表示されます。
そして、「Upload」ボタンを押してAruinoボードにプログラムを書き込みます。

アップロード中にはArduinoボードのLED(TXとRX)が高速で数秒間点滅します。
問題なければ「Done uploading.」が画面下部に表示されます。
以上でプログラムの書き込みは終了です。
上記プログラムは13番端子のLEDが1秒ごとに点滅する内容です。
プログラム内のdelay(1000);の括弧内の数字を変えれば点滅する速度を変えることができます。単位はミリ秒なので1秒は1000になります。
digitalWrite(13, HIGH)の括弧内のHIGHはそのピンを5Vで出力することを意味しています。
LOWなら0Vの出力となりLEDは消灯します。
またpinMode()とdigitalWrite()の括弧内のピン番号を変えれば、違う箇所に接続したLEDを点灯させることができます。

プログラムする手順としては:
・どのピンを出力用にするか:pinMode(ピン番号)
・どのピンをHIGHまたはLOWで出力するか:digitalWrite(ピン番号,出力値)
・点灯や消灯の継続時間:delay(ミリ秒)
となります。1000ミリ秒=1秒です。


アナログ出力
上記はLEDの点滅でしたが、analogWrite()を使えばLEDの明暗を調節して点灯させることができます。ただし、ボード上にPWMと書かれた3,5,6,9,10,11の6本のピンのどれかに接続する必要があります。つまりこの6本のピンは設定によってdigitalWrite()とanalogWrite()を使い分けできるということになります。
analogWrite(ピン番号,出力値)という感じで、ピン番号と出力値を入れることで設定できます。
出力値は0〜255までの値を設定できます。0の時0V、255の時5Vになり、その間の値であれば数値に応じた出力量になります。
尚、analogWrite()はsetup(){...}内にpinMode()設定する必要はありません。

以下は変数valを用意して、徐々に明るくなって最大値に達したら0に戻るという内容です。
delay()で明るくなっていくスピードを設定しています。
LEDは11番ピンに接続してあります(LEDの足の長い方を11番ピン、短い方をGNDピンに接続)

int val=0;
void setup(){
//pinMode()設定は不要
}

void loop(){
analogWrite(11,val);//11番ピンを変数valの値で出力
val++; //+1ずつ出力値を増大させる
if(val>255){ //出力値が255を越えたら
val=0; //出力値を0に戻す
}
delay(20); //1ループ20ミリ秒にする
}

2011年9月19日月曜日

次回9/26(月):Arduino

次回9/26(月)はArduino(電子工作)を行います。

必要なもの:
・Arduinoボード(入手方法等についてはこちら
・USBケーブル(Arduinoボードとパソコンをつなぐ用)
・ノートパソコン

Arduinoのソフトをインストールしておいてください。
ダウンロードサイト:http://arduino.cc/en/Main/Software

Arduinoボードを新規購入する場合は「Arduino UNO(2995円)」というタイプをおすすめします(以下参考)。
Arduino Uno
Arduino Uno
posted with amazlet at 11.09.19
スイッチサイエンス
売り上げランキング: 23324

2011年9月14日水曜日

Processingのプログラムをブログに掲載する方法

Processingのプログラムをブログに掲載するには、以下のページを参考にしてください。
http://ken-nou-kou.blogspot.com/2009/06/processing.html

Processing:基本プログラム

授業で行ったシンプルなボタン操作のプログラムです。



画面内の矩形をクリックすると背景が赤に変わります。

プログラム内容としては以下のようなことをしています。
・画面サイズ設定
・図形描画属性設定(色や外形線など)
・ボタンの矩形描画
・マウス座標取得(mouseX,mouseY)
・マウスの位置とボタンの矩形範囲の重なり判定
・マウスクリックによるコマンド
・マウスが押されたか押されていないかの状態をフラグを使って判別


boolean press=false;//ボタンを押したかどうかのフラグ用変数

void setup(){
size(400,400);//画面サイズ設定
fill(0);//ボタンの塗り面を黒に設定
stroke(100);//ボタンの外形線の色設定(256段階あるうちの100のグレー)
strokeWeight(3);//ボタンの外形線の太さ設定(3ピクセル)
}

void draw(){
if(press==true){//ボタンが押されているとき
background(255,0,0);//背景が赤になる
}else{//ボタンが押されていないとき
background(0);//背景が黒になる
}
if(mouseX>200 && mouseX<300 && mouseY>200 && mouseY<250){//ボタンの矩形範囲にマウスがある時
fill(100);//ボタン塗り色を100のグレーにする
}else{
fill(0);//ボタン塗り色を黒にする
}
rect(200,200,100,50);//ボタンの表示(矩形):rect(x座標,y座標,矩形幅,矩形高さ)
}

void mousePressed(){//マウスが押されたら発動する
if(mouseX>200 && mouseX<300 && mouseY>200 && mouseY<250){//ボタンの矩形範囲にマウスがある時
press=!press;//フラグ反転(ONの時OFF、OFFの時ONにする)
}
}


また以下のようなシンプルなゲームのプログラム(壁打ちテニスのようなゲーム)

ゲームするには、画面内をクリックしてください。
プログラム内容としては:
・画面サイズ設定
・図形描画属性設定
・ボールの描画
・パドル(ラケット)の描画
・ボールの動く方向と1フレームに進む量
・マウスに合わせたパドルの動き
・壁3面にボール当たったときの判別と跳ね返り
・パドルにボールが当たったときの判別と跳ね返り
・パドルで何回打ち返したかのカウント
・パドルで打ち返せなかったときの判別
・ボール残数のカウント
・スコアとボール残数の表示
・ゲームオーバー表示
・ゲーム再開のためのクリック処理
簡単なゲームですが、少なくても以上のような内容をすべてプログラムしておく必要があります。
ボールやパドルの基準位置はrectMode(CENTER)を用いて図形中心に設定しています。
ボールが1辺10ピクセルでありボール座標が図形中心なので、例えば画面上端で跳ね返るときは、ボールX座標が5(1辺10ピクセルの半分)のときの跳ね返ることになります。


PFont font;//文字表示のフォントのオブジェクトを用意
int ballX;//ボールのX座標変数
int ballY;//ボールのY座標変数
int directionX;//ボールの動くX座標上の方向の変数(右向き:+1、左向き:-1)
int directionY;//ボールの動くY座標上の方向の変数(下向き:+1、上向き:-1)
int paddleX;//パドル(ラケット)のX座標の変数
int pts;//得点の変数
int balls;//ボール残り数の変数
int speed;//ボールの1フレームあたりの進む量

void setup(){
size(400,400);//画面サイズ設定
noStroke();//図形の外形線無し
ballX=200;//最初のボールが登場するときのX座標値
ballY=0;//最初のボールが登場するときのY座標値
directionX=1;//X座標上のボールの向き(正の向き:右向き)のフラグ
directionY=1;//Y座標上のボールの向き(正の向き:下向き)のフラグ
rectMode(CENTER);//矩形描写の基準点を図形中心に設定
font=createFont("Arial",16);//フォントの準備
textFont(font,16);//フォント設定
pts=0;//ポイント0(初期設定)
balls=2;//残りボール数2(初期設定)
speed=2;//ボールの1フレームあたりの進む量を2に設定
}
void draw(){
background(0);//背景色(黒)
if(ballX<5){//ボールが画面左にぶつかったとき
ballX=5;//ボールの位置を5に設定
directionX*=-1;//ボールの動く向きを反転
}
if(ballX>395){//ボールが画面右にぶつかったとき
ballX=395;//ボールの位置を395に設定
directionX*=-1;//ボールの動く向きを反転
}
if(ballY<5){//ボールが画面上にぶつかったとき
ballY=5;
directionY*=-1;
}
if(ballY>395){//ボールが画面下を越えたとき
if(balls<1){//ボールが残り数1より小さい(ボール数:0)とき
text("GAME OVER",150,200);//ゲームオーバー表示
balls=0;
speed=0;//ボールの1フレームに動く量を0にする(ボール停止)
ballY=410;//ボールを画面外に移動させておく
}else{//残りボールがあるとき
ballY=5;//ボールを画面上部に移動させる
balls--;//残りボール数を減らす
}
}
if(ballX>mouseX-25 && ballX=370 && ballY<=370+speed){//ボールがラケットの位置にあるとき
ballY=370;
directionY*=-1;//ボールの動きの反転(ボールの打ち返し)
pts++;//ポイント加算
}
ballX+=speed*directionX;//ボールのX軸移動
ballY+=speed*directionY;//ボールのY軸移動
rect(ballX,ballY,10,10);//ボールの描画
rect(mouseX,380,50,10);//パドル(ラケット)の描画
text("SCORE: "+nf(pts,4),20,20);//ポイント表示
text("BALL LEFT: "+balls,280,20);//ボール残り数表示
}

void mousePressed(){//マウスを押した時の処理
if(balls==0){//ボールが残り数0の時(ゲームオーバー時)
balls=2;//ボールが残り数を2に戻す
ballY=5;//ボールY座標値を画面上部に戻す
speed=2;//ボールの1フレームに動く量を2に戻す
}
}



各自既存のゲームなどを参考にプログラムを組んでみてください。ゲームすべてをプログラムするのは大変かもしれないので、部分的な動きや表現でも構わないので実験的にプログラムしてみてください。

2011年9月3日土曜日

後期授業について

後期授業は9/12(月)18:30からです。
初回は、引き続きProcessingプログラミングを行う予定です。
各自ノートパソコンを持参して来て下さい。

また前期で行った制作の画像などありましたら、各自ブログへアップしておいて下さい。

2011年7月27日水曜日

Processingについて

Processingは、静止画、動画、インタラクティブな作品制作を手助けするプログラミング環境です。
このゼミでも今後利用作品制作に応じて利用して行きます。

Processingのサイト上のreferenceに使用する言語がのっています(各コマンドの辞書のようなもの)。それぞれの意味や使い方のサンプルが掲載されています。また、learningには、具体例を用いたプログラムのサンプルものっているので参考にしてください。
またlibraries(付加機能のようなもの)を用いれば、音声/ビデオ/ネットワークなど多岐にわたってのプログラミングが可能になります。必要に応じて今後の授業で扱って行く予定です。

Processingの学習方法については、「建築発明工作ゼミ2008」や「建築農業工作ゼミ2009-2010」でも扱っていますので参考にしてください。


静止画の図形描画について
画面サイズの設定:
size(600,400);//幅600ピクセル、高さ400ピクセルの画面に設定

背景色設定:
background(0,255,0); //()内にはRGB赤緑青の値(0〜255)を入れる。値は0=0%、255=100%。

図形の線/面の色や太さなどの設定:
fill(255,0,0);      //図形の塗り面を赤に設定。()内にはRGB赤緑青の値(0〜255)を入れる
noFill();           //図形の塗り面なし
stroke(255,255,0);  //外形線の色設定
noStroke();         //外形線なし
storokeWeight(3);   //外形線の太さ3ピクセルに設定

図形描画:
rect(100,200,50,50);     //矩形(長方形)描画、rect(X座標,Y座標,幅,高さ)
ellipse(100,200,50,50);  //楕円(円)描画、ellipse(X座標,Y座標,幅,高さ)
point(100,200);          //点描画、point(X座標,Y座標)
line(100,200,100,300);   //線描画、line(X1座標,Y1座標,X2座標,Y2座標)

2011年7月14日木曜日

7/25授業について

7/25(月)は、Processing(プログラミング)を行います。
必要なもの:
・各自のノートパソコン
・ProcessingのソフトをパソコンのOSにあわせてインストール(ダウンロードページ

前回の「構造エクササイズ」については、各自仕上げておいてください。
完成品を持参できない場合はブログへ画像をアップしてください。
質問や問題点があれば個別に対応します。

Built with Processing[Ver. 1.x対応版] -デザイン/アートのためのプログラミング入門
田中 孝太郎 前川 峻志
ビー・エヌ・エヌ新社
売り上げランキング: 8680
Processingプログラミング入門―Javaベースのオープンソース統合開発環境
田原 淳一郎
カットシステム
売り上げランキング: 51063

2011年6月20日月曜日

構造エクササイズ

次回7/11は「構造エクササイズ」を行います。再来週ではなく3週間後です。それから場所が外苑前の校舎になります。

エクササイズ内容:
模型用ひのき角材(10mm角、900mm長の棒材)を10〜20本用いて、人間ひとりを支えられる構造体(例:椅子や踏み台のようなもの)をつくる。
*座面や踏面については他の板材(面材)をのせても構いません(構造部分を角材でつくる)。
*できるだけ少ない材料で支えることを目標とするので、単に頑丈にするために角材を束にして太い材として扱わないように。
*最終的には、自分の部屋に配置される家具のような存在になるという前提とします。

次回の授業時間内にトライアンドエラーしながら制作しますので、どのような構造体をつくるか考えておいて下さい。事前にスケッチなどを各自のブログに掲載してください。
構造的/材料的/施工的に分からないことがあれば、投稿記事内に疑問点など書いておいてください。途中でコメント(アドバイス)します。次回授業でも構造的な形態について説明しますが、主には橋梁などで見られる三角形を用いたトラス構造を参考に考えてみて下さい。
とりあえず構造的なことは後回しにして、線材を使った「椅子/踏台」を自由にデザインしても構いません。構造的な部分については授業内で実際に力を加えながら確かめつつその場で解決していきます。

参考までに、こんな感じの椅子であれば10本程度ですが、この状態では構造的に充分丈夫かどうかは分かりません。つまり、つくりながら構造的に弱い部分を補強していくという感じの作業になります。
上画像はCAD(VectorWorks)で3Dモデリングしています。フリーの3Dモデリングソフトなら「Google SketchUp」があります。


材料(模型用ひのき角材)は授業時に支給します。

各自用意する工具など:
・模型用のこぎり(クラフトソーなど)
・瞬間接着剤(木工用あるいはゼリー状)

その他あると便利なもの:
・のこぎり用ガイド
・定規
・カッター
・スコヤ
・クランプ
・紙ヤスリ(荒さ:100番程度)

以下に工具のサンプルを挙げておきますが、100円ショップなどでも安く入手できると思います。

SK ガイドブロック S GB-S
新潟精機
売り上げランキング: 14730

オルファ 鋸刃 替刃
オルファ 鋸刃 替刃
posted with amazlet at 11.06.21
オルファ
売り上げランキング: 2861

目盛付台付スコヤ
目盛付台付スコヤ
posted with amazlet at 11.06.20
MonotaRO
売り上げランキング: 3614

SK11 クラフトクランプ 最大口開き幅0~55mm CC-1
SK11(エスケー11)
売り上げランキング: 2637

未科学空間をつくる

前期のテーマ:「未科学空間をつくる」

『科学と宗教が対立していた19世紀、まだ地球が平らだと信じていた人々の間では多くの事物や現象は非科学的な方法で語られ、身の回りにある具体的なモノの寄せ集めによって世界を理解していた。その後の科学の発展により様々な事柄が証明され、我々の想像力や思考方法においても、目には見えないかたちや抽象的な対象を扱うようになった。しかしながら、いまだに不可解な事象を目の当たりにすると、再び非科学的な思考や表現に依存することが多々ある。その反面、多くの事柄が抽象的に語られることにより、具体的な事物は当たり前すぎるためにブラックボックス化しつつある。』(建築工作ゼミ2011/シラバス概要より)

科学における客観性、論理性、再現性(あるいは懐疑的姿勢)では解決つかない領域を探し出し空間化する。あるいは、科学的ではない方法によって解決される(意思決定される)空間をつくる。
オカルトのような非科学的スタンスというわけではないが、古来の神話や宗教(あるいは芸術も含む)のような空間かもしれない。この場合、神話や宗教は懐疑的な科学に対して信仰的であり、時として主観的、直感的、またはオブセッシブであるかもしれない。本当であるかどうか科学的検証/論理的検証がなされる前に(疑われる前に)、受け入れられる空間をつくる。


美しい表現
「美しいものをつくる(美しいとされるものを使ってつくる)」ではなく、「美しくつくる(〜を美しくつくる)」。
食べ物なら、「おいしいものを食べる」のではなく「おいしく食べる」、あるいは「おいしいものを料理する」のではなく「〜をよりおいしくなるように料理する」という感じ。


建築に内包される空間
建築においては、建物(壁、床、屋根など)というハードウェアによって空間が仕切られ包まれる。ハードウェアというよりも、内包される空間(人々のアクティビティやライフスタイルなど)をデザインする。


間(空間)のエクササイズ
「なにもない」状態を表現する。
どのような手段で表現方法を可能にするか?どのような状況で成立するか?も考える。
例:
・アクセス可能なアドレスはあるがコンテンツのない(白紙)Webサイト
・入力機器が接続されていないプロジェクターが映し出す青画面
・ポンプは動いているが魚のいない水槽(水草マニア?)
・ピラミッド(墓)の出口
・冷蔵庫の中の空の卵パック
・プラネタリウムの夕方から夜に変わる瞬間の暗闇
など。


引き続き「日常」的な場面(自分の家/部屋)や身の回りの事物をきっかけにエクササイズならびに制作を継続していきます。
各自のブログには、制作経過や制作結果またはメモなど継続的に投稿していって下さい。後半はブログ自体も実験的なマテリアルとして利用して行く予定です。

2011年6月15日水曜日

次回6/20授業について

「整理プロジェクト」
各自のブログを使って簡単なプレゼンテーションを行います。

「基本演習+ディスカッション」
アイデアと表現のエクササイズ(必要な物:筆記用具)。

「プログラミング基礎」
Processing(プログラミング)も行いますので、各自ノートパソコン持参(なければ学校のパソコンを使用)。
できれば、Processingのソフトをダウンロードしてきて下さい。
ダウンロードの仕方:
Processingのダウンロードのページへ行き、パソコンのOSに合わせてソフトをダウンロードしてください。
Macintoshの方は「Mac OSX」をクリックしアプリケーションフォルダへインストール。
Windowsの方は「Windows」(「Windows [Without Java]*」ではなく)をクリックしProgram Filesへインストール。
*Processingの最新バージョンは1.5.1です。

Built with Processing[Ver. 1.x対応版] -デザイン/アートのためのプログラミング入門
田中 孝太郎 前川 峻志
ビー・エヌ・エヌ新社
売り上げランキング: 8680
Processingプログラミング入門―Javaベースのオープンソース統合開発環境
田原 淳一郎
カットシステム
売り上げランキング: 51063

2011年6月7日火曜日

作業開始

これからデジタル/アナログ、ハイテク/ローテク問わず、様々な技術や方法を使って行きたいと思いますが、さしあたって「整理プロジェクト(事物のリスト化)」を共通のスタート地点にしたいと思います。

「整理プロジェクト」:
各自の家のなかにある日常的な事物をある順序で並べ替える。最低でも10個以上のものを選んで下さい。
並べ方のルールは、大きさ、色、値段など各自設定してください。
見た時にある程度そのルールが見えた方がいいと思います。
並べ方は一直線状、グリッド状、三次元的など、そのルールに従って工夫してください。
一旦並べたら、写真撮影して各自のブログにアップロードしてください(簡単な説明付きで)。
そのつぎに、それら並べたものを簡単な材料(棚板、フック、仕分けるための袋など)を付け加えて、部屋のどこかに配置してください。つまり、それが新たな陳列方法となるように工夫してください。
この状態で再度写真撮影してブログにアップロードしてください。
とりあえず、次回までにこれらの作業結果を各自のブログ上に記録しておいてください。

「事物のリスト化」ということをきっかけに、今後は技術的・空間的なプロジェクトへ展開していきたいと思います。

ちなみに話し合いででた他の項目も挙げておきます。
・10mmChair
・my図書館
・いたずら
・インスタントルーム
・カップヌードル
・ガラクタ
・サンドバッグ動力
・スクラップパケージ
・マニアック
・階段プロジェクト
・空白なにもない
・隙間
・現代的1日
・限定期間作業
・世界地図
・整理プロジェクト
・装身具ガジェット
・朝食マシン
・非努力

上記で興味ある項目があれば、個人的に実験しても構いませんが、授業において後々これらのうち幾つかを実際に行う予定です。詳しくは、今後このブログに投稿していきます。

2011年6月6日月曜日

ブログについて

このブログはゼミ全体の共通のブログとして使うことにします。
授業内容に関した記録や連絡なども記載していきますので、たまに目を通して下さい。
受講者には、このブログに記事を投稿できるように設定しておきますので、承認メールが届いたら各自登録設定を行って下さい。
各自のブログには、作業経過や作業結果など記録を継続的に行い、情報整理のツールとして各自使いこなしてください(授業以外の内容として自由に使っても構いません)。
授業に対する質問や使い方が分からない時などは、コメントしてください。出来る限り応えたいと思います。
ブログへの投稿などに関してはこちらも参考にしてみてください。
コメント/投稿/ラベルについて
投稿時間の設定や変更について
また、メールでの質問や連絡の際にはYahooメーリングリストを使って下さい。

LEDドローイング


身体の記録:ボタン電池に接続したLEDで空中にドローイングする。
Processing+Webカメラによるプログラム。
上のスライドショーの右下をクリックするとPicasaウェブアルバムのページにアクセスでき、各画像をダウンロードできます。
*上記のような複数の写真をスライドショーとしてブログに埋め込むには:
Picasaサイトにアクセス(ログインする)
・写真をアップロードするには画面上部「アップロード」ボタンをクリック
・アルバムのタイトルや公開設定をウィンドウが現れる(そのままでもOK)
・「続行」ボタンを押すと写真をアップロードする画面に切り替わる
・「アップロードする写真を選択」ボタンをクリックしてパソコン上の画像を選択(複数同時選択可)
・「OK」ボタンをクリックしてアップロード終了
・画面上部「ホーム」「マイフォト」「ピックアップ」のタブで「マイフォト」をクリックしておく
・画面右下の方にある「このアルバムへのリンク」をクリック
・「スライドショーを埋め込む」が現れるのでそれをクリックすると別画面が現れます
・「ウェブサイト、ブログ、SNS 用のスライドショーを作成」画面から大きさなどの設定をする
・スライドショーを埋め込むの下の欄にある埋め込みコードをコピペする(完了を押して閉じる)
・コピペした埋め込みコードをブログの投稿内容に貼付けて終了

Processingは今後プログラミングする際に使う言語です。Processingについては、今後学習していく予定です。
参考までに以下がProcessingのプログラム(プログラムの説明についてはこちら):
import processing.video.*;

Capture video;
PFont font;//フォントを用意

//画面サイズの変数と値
int w=800;
int h=600;
int th=240;
int num=0;
boolean showVideo=true;

void setup() {
  size(w, h);
  video = new Capture(this, w, h, 30);
  font=createFont("Monaco",10);
  textFont(font);//フォントの設定
  background(0);
  noStroke();
  frameRate(30);
}

void draw() {
  stroke(255,0,0);
  for(int j=0;j<h;j++){
    for(int i=0;i<w;i++){
      if(brightness(video.pixels[i+j*w])>=th){      
        point(w-i,j);
        if(w-i<50 && j>height-12){
          background(0);
        }
      }
    }
  }
  noStroke();
  //しきい値と撮影画像番号の表示
  fill(50);
  rect(0,height-12,50,12);
  fill(100);
  text(th+": "+num,8,height-2);
  
  if(showVideo){
    tint(255,8);//透明度128(50%)
    scale(-1.0, 1.0);//左右反転(鏡像)
    image(video, -w, 0);//映像出力
  }
}

void captureEvent(Capture video) {
  video.read();
}

void mousePressed(){
  background(0);
}

void keyPressed(){
  if(key==CODED){
    if(keyCode==LEFT){//左キーを押した場合
      th-=1;   //許容値を-1する
      if(th<0){th=0;}
    }
    if(keyCode==RIGHT){//右キーを押した場合
      th+=1;    //許容値を+1する
      if(th>255){th=255;}
    }
    if(keyCode==DOWN){
      showVideo=!showVideo;
    }
  }
  if(key==' '){
    String s="image_"+num+".jpg";//記録画像インデックス名(jpgで保存)  
    save(s);//画像を保存
    num++;//インデックス番号を更新
  }else if(key=='c'){
    video.settings();//カメラセッティング
  }
}

建築工作ゼミ2011開講

06/06(月)より建築工作ゼミ2011を開講致します。隔週月曜。

前期開講日:
06/06(月)18:30-21:30
06/20(月)18:30-21:30
07/11(月)18:30-21:30
07/25(月)18:30-21:30

後期開講日:
09/12(月)18:30-21:30
09/26(月)18:30-21:30
10/17(月)18:30-21:30
10/31(月)18:30-21:30
11/14(月)18:30-21:30
11/28(月)18:30-21:30
12/12(月)18:30-21:30
01/16(月)18:30-21:30