More Related Content
PDF
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL PDF
UIElements+UI BuilderでEditor拡張を作ろう PDF
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム PDF
openFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートII PDF
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション PDF
はじめようARCore:自己位置推定・平面検出・FaceTracking PDF
【Unity道場】ゲーム制作に使う数学を学習しよう PPT
FINAL FANTASY Record Keeper の作り方 What's hot
PDF
Media Art II 2013 第5回:openFrameworks Addonを使用する PDF
【Unite Tokyo 2018】チームラボ × Unity ~Unityで制作するデジタルアートの世界~ PDF
Cognitive Complexity でコードの複雑さを定量的に計測しよう PDF
PDF
MagicOnion~C#でゲームサーバを開発しよう~ PDF
PDF
Jenkins 2.0 Pipeline & Blue Ocean PDF
PDF
PDF
PDF
Reactive extensions入門v0.1 PDF
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!! PPTX
PPTX
未来のプログラミング技術をUnityで -UniRx- PDF
PDF
「宴」実装時に得られたUnityプログラムノウハウ PDF
An Internal of LINQ to Objects PPTX
ARマーカーを利用したHoloLens同士の位置合わせ PDF
【Unity道場】VectorGraphicsで作る エモい表現 PPTX
Viewers also liked
PDF
Interactive Music II Processing基本 PDF
Interactive Music II ProcessingとSuperColliderの連携 -2 PDF
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control) PDF
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携 PDF
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望 PDF
Interactive Music II ProcessingとSuperColliderの連携1 PDF
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス PDF
coma Creators session vol.2 PDF
PDF
Interactive Music II Processingによるアニメーション PDF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF PDF
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv PDF
PDF
PDF
インターネット広告代理店の「制作ディレクション」というお仕事 PPT
PDF
Wo! vol.23 米Coca-Colaサイトにみるコンテンツ・マーケティング PDF
PDF
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司 PDF
Similar to メディア・アート II 第1回: ガイダンス openFrameworks入門
PDF
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 1: openFrameworks入門 PDF
BNN CAMP vol.3 インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1 PDF
PDF
openFrameworks Workshop in Kanazawa v001 PPTX
PDF
PDF
BNN CAMP vol.3 インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 2 PDF
coma - creator’s talk session: Code - openFrameworks PPTX
PDF
PDF
iTamabi 13 第3回:iPhoneアプリ実践開発講座 1 画像ファイルの読み込み 画像でアニメーションを作成する PDF
Media Art II openFrameworks 複数のシーンの管理・切替え PDF
PDF
PCD2019 TOKYO ワークショップ「2時間で!Processingでプログラミング入門」 PDF
PDF
PDF
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる PDF
PDF
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B PDF
オープンソースエコシステム #demodaytokyo More from Atsushi Tadokoro
PDF
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く PDF
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ PDF
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う PDF
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2 PDF
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得 PDF
PDF
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング PDF
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1 PDF
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する PDF
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう! PDF
PDF
Interactive Music II SuperCollider入門 5 時間構造をつくる PDF
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する PDF
メディア芸術基礎 II Canvas + Javascriptで図形を描く PDF
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM) PDF
iTamabi 13 第6回:ARTSAT API 実践 1 Web APIから情報を取得する PDF
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef) メディア・アート II 第1回: ガイダンス openFrameworks入門
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
openFrameworks とは?
OpenGL GLUTFreeImage FreeType
fmod RtAudio QuickTime OpenCV
main.cpp
testApp.h testApp.cpp
ofSimpleApp, ofGraphics, ofImage, ofTrueTypeFont,
ofVideoPlayer, ofVideoGrabber, ofTexture,
ofSoundPlayer, ofSoundStream, ofSerial, ofMath,
ofUtils ...etc.
- 15.
openFrameworks とは?
OpenGL GLUTFreeImage FreeType
fmod RtAudio QuickTime OpenCV
main.cpp
testApp.h testApp.cpp
ofSimpleApp, ofGraphics, ofImage, ofTrueTypeFont,
ofVideoPlayer, ofVideoGrabber, ofTexture,
ofSoundPlayer, ofSoundStream, ofSerial, ofMath,
ofUtils ...etc.
実際に編集する部分
- 16.
openFrameworks とは?
OpenGL GLUTFreeImage FreeType
fmod RtAudio QuickTime OpenCV
main.cpp
testApp.h testApp.cpp
ofSimpleApp, ofGraphics, ofImage, ofTrueTypeFont,
ofVideoPlayer, ofVideoGrabber, ofTexture,
ofSoundPlayer, ofSoundStream, ofSerial, ofMath,
ofUtils ...etc.
実際に編集する部分
openFrameworksの様々な機能
- 17.
openFrameworks とは?
OpenGL GLUTFreeImage FreeType
fmod RtAudio QuickTime OpenCV
main.cpp
testApp.h testApp.cpp
ofSimpleApp, ofGraphics, ofImage, ofTrueTypeFont,
ofVideoPlayer, ofVideoGrabber, ofTexture,
ofSoundPlayer, ofSoundStream, ofSerial, ofMath,
ofUtils ...etc.
実際に編集する部分
openFrameworksの様々な機能
既存のフリーなライブラリ群
- 18.
openFrameworks とは?
OpenGL GLUTFreeImage FreeType
fmod RtAudio QuickTime OpenCV
main.cpp
testApp.h testApp.cpp
ofSimpleApp, ofGraphics, ofImage, ofTrueTypeFont,
ofVideoPlayer, ofVideoGrabber, ofTexture,
ofSoundPlayer, ofSoundStream, ofSerial, ofMath,
ofUtils ...etc.
プログラム開発のための
糊 (Glue)
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
サンプルを実行してみよう!!
‣ サンプルの内容 1of 2
‣ 3d - 3次元表現いろいろ
‣ addons - 拡張機能のサンプル
‣ communication - 外部デバイスとの通信(シリアル通信)
‣ empty - 制作のテンプレートとなる「空」サンプル
‣ events - イベント(プログラムへの外部からのアクション)処理
‣ gl - OpenGLの活用(Shader、VBO、カメラなど)
- 30.
サンプルを実行してみよう!!
‣ サンプルの内容 2of 2
‣ graphics - グラフィクスプログラミング
‣ math - 数式による表現、ノイズ、周期など
‣ sound - 音響生成、サウンドファイルの再生
‣ utils - 補助的な機能の例
‣ video - 動画の再生、カメラからの入力
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
openFrameworksのコード構造
‣ さしあたって編集するのは、testApp.hとtestApp.cpp
OpenGL GLUTFreeImage FreeType
fmod RtAudio QuickTime OpenCV
main.cpp
testApp.h testApp.cpp
ofSimpleApp, ofGraphics, ofImage, ofTrueTypeFont,
ofVideoPlayer, ofVideoGrabber, ofTexture,
ofSoundPlayer, ofSoundStream, ofSerial, ofMath,
ofUtils ...etc.
ココ
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
testApp.h では
準備
#pragma once
#include"ofMain.h"
#include "ofxiPhone.h"
#include "ofxiPhoneExtras.h"
class testApp : public ofxiPhoneApp {
!
public:
! void setup();
! void update();
! void draw();
! void exit();
!
! void touchDown(ofTouchEventArgs &touch);
! void touchMoved(ofTouchEventArgs &touch);
! void touchUp(ofTouchEventArgs &touch);
! void touchDoubleTap(ofTouchEventArgs &touch);
! void lostFocus();
! void gotFocus();
! void gotMemoryWarning();
! void deviceOrientationChanged(int newOrientation);
準備
- 56.
testApp.h では
準備
#pragma once
#include"ofMain.h"
#include "ofxiPhone.h"
#include "ofxiPhoneExtras.h"
class testApp : public ofxiPhoneApp {
!
public:
! void setup();
! void update();
! void draw();
! void exit();
!
! void touchDown(ofTouchEventArgs &touch);
! void touchMoved(ofTouchEventArgs &touch);
! void touchUp(ofTouchEventArgs &touch);
! void touchDoubleTap(ofTouchEventArgs &touch);
! void lostFocus();
! void gotFocus();
! void gotMemoryWarning();
! void deviceOrientationChanged(int newOrientation);
更新
- 57.
testApp.h では
準備
#pragma once
#include"ofMain.h"
#include "ofxiPhone.h"
#include "ofxiPhoneExtras.h"
class testApp : public ofxiPhoneApp {
!
public:
! void setup();
! void update();
! void draw();
! void exit();
!
! void touchDown(ofTouchEventArgs &touch);
! void touchMoved(ofTouchEventArgs &touch);
! void touchUp(ofTouchEventArgs &touch);
! void touchDoubleTap(ofTouchEventArgs &touch);
! void lostFocus();
! void gotFocus();
! void gotMemoryWarning();
! void deviceOrientationChanged(int newOrientation);
描画
- 58.
testApp.cpp では
準備
#include "testApp.h"
//--------------------------------------------------------------
voidtestApp::setup(){
}
//--------------------------------------------------------------
void testApp::update(){
}
//--------------------------------------------------------------
void testApp::draw(){
}
//--------------------------------------------------------------
void testApp::keyPressed(int key){
}
//--------------------------------------------------------------
void testApp::keyReleased(int key){
}
//--------- 後略 ---------
準備
- 59.
testApp.cpp では
準備
#include "testApp.h"
//--------------------------------------------------------------
voidtestApp::setup(){
}
//--------------------------------------------------------------
void testApp::update(){
}
//--------------------------------------------------------------
void testApp::draw(){
}
//--------------------------------------------------------------
void testApp::keyPressed(int key){
}
//--------------------------------------------------------------
void testApp::keyReleased(int key){
}
//--------- 後略 ---------
更新
- 60.
testApp.cpp では
準備
#include "testApp.h"
//--------------------------------------------------------------
voidtestApp::setup(){
}
//--------------------------------------------------------------
void testApp::update(){
}
//--------------------------------------------------------------
void testApp::draw(){
}
//--------------------------------------------------------------
void testApp::keyPressed(int key){
}
//--------------------------------------------------------------
void testApp::keyReleased(int key){
}
//--------- 後略 ---------
描画
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
色を指定するには?
#include "testApp.h"
//--------------------------------------------------------------
void testApp::setup(){
}
//--------------------------------------------------------------
voidtestApp::update(){
}
//--------------------------------------------------------------
void testApp::draw(){
ofSetColor(0, 127, 255, 200);
ofCircle(412, 384, 200);
ofSetColor(255, 127, 0, 200);
ofCircle(612, 384, 200);
}
< 後略 >
- 73.
- 74.
- 75.
背景色や描画方法の初期設定
#include "testApp.h"
//--------------------------------------------------------------
void testApp::setup(){
!ofEnableAlphaBlending();
! ofSetCircleResolution(64);
! ofBackground(0, 0, 0);
}
//--------------------------------------------------------------
void testApp::update(){
!
}
//--------------------------------------------------------------
void testApp::draw(){
ofSetColor(0, 127, 255, 200);
ofCircle(412, 384, 150);
ofSetColor(255, 127, 0, 200);
ofCircle(612, 384, 150);!
}
< 後略 >
- 76.
- 77.
- 78.
- 79.
- 80.
‣ データ型 -値の種類
‣ よく用いられるデータ型
‣ int:整数 (-1, 0, 1, 2, 3....)
‣ float:少数 (-0.01, 3.14, 21.314)
‣ bool:ブール値、真か偽か、(true, false)
‣ char:1文字分のデータ(a, b, c, d...)
‣ string:文字列 Hello World!
変数
int float char
- 81.
- 82.
- 83.
#pragma once
#include "ofMain.h"
classtestApp : public ofBaseApp{
!
public:
! void setup();
! void update();
! void draw();
!
! void keyPressed (int key);
! void keyReleased(int key);
! void mouseMoved(int x, int y );
! void mouseDragged(int x, int y, int button);
! void mousePressed(int x, int y, int button);
! void mouseReleased(int x, int y, int button);
! void windowResized(int w, int h);
! void dragEvent(ofDragInfo dragInfo);
! void gotMessage(ofMessage msg);
!
! int rotation;
};
図形を動かしてみよう!
‣ testApp.h を編集
追加
- 84.
- 85.
- 86.
//--------------------------------------------------------------
void testApp::update(){
! rotation= rotation + 5;
}
//--------------------------------------------------------------
void testApp::draw(){
!
! ofRotateZ(rotation);
!
! ofSetColor(0, 127, 255, 200);
! ofCircle(412, 384, 150);
! ofSetColor(255, 127, 0, 200);
! ofCircle(612, 384, 150);
!
}
図形を動かしてみよう!
‣ testApp.cpp を編集
追加
追加
- 87.
- 88.
- 89.
- 90.
- 91.
//--------------------------------------------------------------
void testApp::draw(){
! ofTranslate(ofGetWidth()/2,ofGetHeight()/2);
! ofRotateZ(rotation);
!
! ofSetColor(0, 127, 255, 200);
! ofCircle(-100, 0, 150);
! ofSetColor(255, 127, 0, 200);
! ofCircle(100, 0, 150);
!
}
図形を動かしてみよう!
‣ testApp.cpp を編集
追加
変更
変更
- 92.
- 93.
- 94.
//--------------------------------------------------------------
void testApp::update(){
! rotation= rotation + mouseX / 4.0;
}
//--------------------------------------------------------------
void testApp::draw(){
! ofTranslate(ofGetWidth()/2, ofGetHeight()/2);
! ofRotateZ(rotation);
!
! ofSetColor(0, 127, 255, 200);
! ofCircle(-100, 0, mouseY / 2.0);
! ofSetColor(255, 127, 0, 200);
! ofCircle(100, 0, mouseY / 2.0);
!
}
図形を動かしてみよう!
‣ testApp.cpp を編集
変更
変更
変更
- 95.
- 96.
- 97.
コードをつかった作品リサーチ
‣ コード (=プログラム) を使用した作品を調査して、自分が一番
良いと思った作品をひとつピックアップする
‣ その作品を再現するとしたら、何が必要か考える
‣ ソフトウェアの技術 (ライブラリ、フレームワーク)
‣ ハードウェア
‣ その他…
‣ 来週、各自簡単に発表してもらいます
- 98.
コードをつかった作品リサーチ
‣ 参考サイト
‣ CreativeApplications
‣http://www.creativeapplications.net/
‣ information aesthetics
‣ http://infosthetics.com/
‣ Create Digital Motion
‣ http://createdigitalmotion.com/
‣ Co.Create ¦ creativity + culture + commerce
‣ http://www.fastcocreate.com/