SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
Media Art II 2013
第4回:openFrameworks
アニメーションを極める
動きを生みだす様々なアルゴリズム
2013年10月7日
多摩美術大学 情報デザイン学科 メディア芸術コース
田所 淳
動きを生みだす様々なアルゴリズム
‣ 乱数や単純な運動だけでなく、より複雑で有機的な動きを生み
だすための手法を紹介
‣ 手持ちの表現の持駒を増やす
‣ 今後の作品制作の表現の幅を拡げる基礎体力に
サンプルファイルのダウンロード
‣ 前回から引続き、サンプルファイルは以下のGithubからダウン
ロードしてください
‣ https://github.com/tado/tau_ma2_13
弾力、ばね、ばねの連結
弾力、ばね、ばねの連結
‣ 「ばね」を数学的に定義する
‣ フックの法則 - バネの伸びが x のとき、それによって生じる力
を F とすると
‣
F = -kx
‣
( k:ばね定数)
振動を繰り返す(単振動)
0
x
F = -kx
ma = -kx
x = -sin
m
k t
x = Csin(ωt + θ)
弾力、ばね、ばねの連結
‣ フックの定理は以下のように書き直すことができる
‣
springForce = -stiffness * stretch
‣
バネの力 = -バネの硬さ * バネの伸び
‣ さらに「バネの伸び」の部分を座標として解釈する
‣
springForce = -stiffness * (position - restPosition)
‣
バネの力 = -バネの硬さ * (現在位置 - ばねの静止位置)
弾力、ばね、ばねの連結
‣ 式を整理
‣
springForce = stiffness * (restPositon - position)
バネの力 = バネの硬さ * (静止位置 - 現在位置)
‣ バネの力から、ばねの移動速度が導きだせる
‣
velocity = dumping * (velocity + springFroce)
速度 = 摩擦 * (速度 + バネの力)
弾力、ばね、ばねの連結
‣ まずは、単体のバネを実現してみる
‣ ばねの性質をクラスとしてまとめる → springクラス
‣ 「ばね」は、2つのparticleの間に張られる
‣ Particle A と Particle B
Particle A
Particle B
Spring
弾力、ばね、ばねの連結
‣ ばねの運動は、springクラスのupdateで計算
‣ spring.cpp - update()関数
‣ フックの法則から、2つのParticleにかかる力をそれぞれ計算
void spring::update(){
! if ((particleA == NULL) || (particleB == NULL)){
! ! return;
! }
!
! ofVec2f pta = particleA->pos;
! ofVec2f ptb = particleB->pos;
!
! float theirDistance = (pta - ptb).length();
! float springForce = (springiness * (distance - theirDistance));
! ofVec2f frcToAdd = (pta-ptb).normalized() * springForce;
!
! particleA->addForce(frcToAdd.x, frcToAdd.y);
! particleB->addForce(-frcToAdd.x, -frcToAdd.y);
}
弾力、ばね、ばねの連結
‣ testAppからは、2つのparticleと、それに挟まれる1つの
springを指定する
‣ testApp.cpp - setup()関数
void testApp::setup(){!
!
! ofBackground(0,0,0);
!
! ofSetVerticalSync(true);
! ofSetFrameRate(60);
! //Particle A 初期設定
! particle_a.setInitialCondition(400, 400, 0, 0);
!
! //Particle B 初期設定
! particle_b.setInitialCondition(500, 500, 0, 0);
! //ばね(spring)を、パーティクル間に張る
! mySpring.distance = 100; //ばねの長さ
! mySpring.springiness = 0.1f; //ばねの硬さ
! mySpring.particleA = &particle_a;
! mySpring.particleB = &particle_b;
}
弾力、ばね、ばねの連結
‣ testAppでは、2つのparticleとspringの更新をする
‣ testApp.cpp - update()関数
void testApp::update(){
!
! //力をリセット
! particle_a.resetForce();
! particle_b.resetForce();
!
! //バネを更新
! mySpring.update();
!
! //パーティクルの状態を更新 (壁でバウンド)
! particle_a.bounceOffWalls();
! particle_a.update();
!
! particle_b.bounceOffWalls();
! particle_b.update();
}
弾力、ばね、ばねの連結
‣ あとは、描画するのみ!!
‣ testApp.cpp - draw()関数
void testApp::draw(){
! ofSetColor(255, 255, 255);
!
! //ばねを描画
! mySpring.draw();
!
! //particleを描画
! particle_a.draw();
! particle_b.draw();
}
弾力、ばね、ばねの連結
‣ 実行結果:空間を漂うバネが描画される
‣ マウスドラッグで操作可能
弾力、ばね、ばねの連結
‣ 次に、ばねを数珠繋ぎにしてみる
‣ spring と particle をそれぞれ動的配列(vector)として作成
‣ 全てのばねの伸縮と、それに伴なう全てのパーティクルにかか
る力を計算する
弾力、ばね、ばねの連結
‣ 数珠繋ぎのばねを生成している箇所
‣ testApp - setup() 関数内
void testApp::setup(){!
! ofBackground(0,0,0);
! ofSetVerticalSync(true);
! ofSetFrameRate(60);
! ofSetBackgroundAuto(false);
! pimg.loadImage("particle32.png");
! //particleの配列を生成
! for (int i = 0; i < 20; i++){
! ! particle myParticle;
! ! myParticle.setInitialCondition(ofRandom(500,550),ofRandom(500,550),0,0);
! ! particles.push_back(myParticle);
! }
!
! //全ての配列を順番にspringで接続していく
! for (int i = 0; i < (particles.size()-1); i++){
! ! spring mySpring;
! ! mySpring.distance = 25;
! ! mySpring.springiness = 0.2f;
! ! mySpring.particleA = & (particles[i]);
! ! mySpring.particleB = & (particles[(i+1)%particles.size()]);
! ! springs.push_back(mySpring);
! }
}
弾力、ばね、ばねの連結
‣ 数珠繋ぎになった、ばねとparticleの更新
‣ testApp - update() 関数内
void testApp::update(){
! //全てのparticleの力をリセット
! for (int i = 0; i < particles.size(); i++){
! ! particles[i].resetForce();
! }
! //全てのばねの伸縮を計算
! for (int i = 0; i < springs.size(); i++){
! ! springs[i].update();
! }
!
! //全てのparticleの状態を更新
! for (int i = 0; i < particles.size(); i++){
! ! particles[i].addDampingForce();
! ! particles[i].bounceOffWalls();
! ! particles[i].update();
! }
}
弾力、ばね、ばねの連結
‣ 全てのばねとpatricleを描画
‣ testApp - draw() 関数内
void testApp::draw(){
! //全てのばねを描画
! ofSetColor(255, 255, 255, 127);
! for (int i = 0; i < springs.size(); i++){
! ! springs[i].draw();
! }
!
! //全てのparticleを描画
! ofSetColor(255, 255, 255);
! for (int i = 0; i < particles.size(); i++){
! ! particles[i].draw();
! }
!
}
弾力、ばね、ばねの連結
‣ 実行結果:数珠繋ぎになったばね
弾力、ばね、ばねの連結
‣ 応用1:ばねを、円弧に数珠繋ぎにして力を加える
弾力、ばね、ばねの連結
‣ 応用2:パーティクル同士をすべて接続して「筋肉」のように
ベクトル場 (Vector Field)
- 流体、磁性体の表現
ベクトル場 (Vector Field) とは
‣ ベクトル場 (Vector Field)
‣ 空間の広がりの中でベクトル的な量の分布
‣ 例えば…
‣ 動いている流体の早さと向き
‣ 磁力や重力などの力の強さと向きなど
‣ ベクトル場をシミュレーションできれば、流体は磁性体などの
動きを再現することが可能になるはず
‣ ベクトル場 (Vector Field) のイメージ
‣ 向きと方向をもった力が、グリッド上に整列している
ベクトル場 (Vector Field) とは
vectorFirldクラスの設計
‣ まずは、ベクトル場を生成してみる
‣ vectorFieldクラス
‣ ベクトル場を生成し、座標を指定すると、その位置に働く力の
向きと方向を算出する
‣ 座標を指定して新たにベクトル場に力を加えることも可能
‣ 外側に向う力 (噴出?)
‣ 内側に向う力 (吸引?)
‣ 渦巻のように回転する力 (時計回り、反時計回り)
‣ vectorFieldクラスのプロパティとメソッドを整理する
‣ vectorFieldの実装の詳細は省略…
vectorFirldクラスの設計
‣ vectorFirldクラス:プロパティ
型 変数名 内容
int fieldWidth ベクトルの数、横
int fieldHeight ベクトルの数、縦
int fieldSize ベクトルの総数
int externalWidth ベクトル場の幅
int externalHeight ベクトル場の高さ
vector field ベクトルの配列
vectorFirldクラスの設計
‣ vectorFirldクラス:メソッド
メソッド名と引数・戻り値 説明
vectorField(); コンストラクタ
virtual ~vectorField(); デストラクタ
void setupField(int innerW, int innerH,
int outerW, int outerH); ベクトル場の初期化
void clear(); ベクトル場を消去
void fadeField(float fadeAmount); 徐々にベクトル場の力が減衰するようにする
void randomizeField(float scale); 全てのベクトル場の力をランダムに生成
void draw(); ベクトル場の様子を描画
ofVec2f getForceFromPos(float xpos, float
ypos); 指定した座標にかかる力のベクトルを算出
vectorFirldクラスの設計
‣ vectorFirldクラス:メソッド (つづき)
メソッド名と引数・戻り値 説明
void addOutwardCircle(float x, float y,
float radius, float strength);
外向きの力を加える (噴出)
void addInwardCircle(float x, float y,
float radius, float strength);
内向きの力を加える (吸引)
void addClockwiseCircle(float x, float y,
float radius, float strength);
時計回りの渦巻
void addCounterClockwiseCircle(float x,
float y, float radius, float strength);
反時計回りの渦巻
void addVectorCircle(float x, float y,
float vx, float vy, float radius, float
strength);
円形の力を加える
ベクトル場を生成
‣ testAppクラスからvectorFieldクラスをインスタンス化して、
画面にベクトル場を生成し描画する
‣ キーをタイプすると、様々な方法でベクトル場に力を付加でき
るようにする
‣ 1:外向きの力
‣ 2:内向きの力
‣ 3:時計回りの渦巻
‣ 4:反時計回りの渦巻
‣ ベクトル場の力は、徐々に減衰していく
ベクトル場を生成
‣ ベクトル場の初期化
‣ testApp.cpp - setup() 関数
oid testApp::setup(){!
!
! ofSetVerticalSync(true);
! ofSetFrameRate(60);
! ofBackground(0, 0, 0);
!
! //ベクトル場の初期化 (画面いっぱいに、横102コ、縦76コのベクトル)
! VF.setupField(102, 76, ofGetWidth(), ofGetHeight());
! //初期状態は、外向きの力
! addMode = 1;
}
ベクトル場を生成
‣ ベクトル場の描画
‣ testApp.cpp - draw() 関数
void testApp::draw(){
! //ベクトル場を描画
! ofEnableBlendMode(OF_BLENDMODE_ADD);
! ofSetColor(0,130,130, 200);
! VF.draw();
! ofDisableBlendMode();
!
}
ベクトル場を生成
‣ 完成!! : 1∼ 4 のキーで加える力の向きを決定し、マウスをド
ラッグしてベクトル場に力を加えてみる
ベクトル場にパーティクルを浮遊させる
‣ 生成したベクトル場にパーティクルを配置してみる
‣ ベクトル場から、それぞれのパーティクルの座標にかかる力を
算出して、空間の力を受けて浮遊するようにしてみる
‣ 座標上にあるパーティクルにかかる力は getForceFromPos()
関数で算出することが可能
ベクトル場にパーティクルを浮遊させる
‣ ベクトル場に配置するパーティクルの初期化
‣ testApp.cpp - setup() 関数
void testApp::setup(){!
!
! ofSetVerticalSync(true);
! ofSetFrameRate(60);
! ofBackground(0, 0, 0);
!
! //パーティクルを10000個生成
! for (int i = 0; i < 10000; i++){
! ! particle myParticle;
! ! myParticle.setInitialCondition
! ! (ofRandom(0,ofGetWidth()),ofRandom(0,ofGetHeight()),0,0);
! ! particles.push_back(myParticle);
! }
!
! //ベクトル場の初期化 (画面いっぱいに、横102コ、縦76コのベクトル)
! VF.setupField(102, 76, ofGetWidth(), ofGetHeight());
!
! //初期状態は、内向きの力
! addMode = 2;
}
ベクトル場にパーティクルを浮遊させる
‣ ベクトル場からパーティクルにかかる力を算出する
‣ testApp.cpp - update() 関数
void testApp::update(){
!
! for (int i = 0; i < particles.size(); i++){
! !
! ! //particleの力をリセット
! ! particles[i].resetForce();
! !
! ! //ベクトル場から、それぞれのparticleにかかる力を算出
! ! ofVec2f frc;
! ! frc = VF.getForceFromPos(particles[i].pos.x, particles[i].pos.y);
! !
! ! //Particleの状態を更新
! ! particles[i].addForce(frc.x, frc.y);
! ! particles[i].addDampingForce();
! ! particles[i].bounceOffWalls();
! ! particles[i].update();
! }
!
! //ベクトル場の力の減衰
! VF.fadeField(0.998f);
}
ベクトル場にパーティクルを浮遊させる
‣ あとは、全てのパーティクルを描画するのみ
‣ testApp.cpp - update() 関数
void testApp::draw(){
!
! ofEnableBlendMode(OF_BLENDMODE_ADD);
!
! //ベクトル場を描画
! ofSetColor(0,130,130, 127);
! VF.draw();
!
! //ベクトル場に配置されたparticleを描画
! ofSetColor(0, 127, 255)! ;
! for (int i = 0; i < particles.size(); i++){
! ! particles[i].draw();
! }!
!
! ofDisableBlendMode();
!
}
ベクトル場にパーティクルを浮遊させる
‣ 完成:マウスをドラッグするとパーティクルが浮遊する
‣ 最初のサンプルで使用した、マウスの軌跡でドローインングす
るアルゴリズムと、ベクトル場を融合する
‣ マウスをドラッグすると、ベクトル場を自由に描くことができ
るように
ベクトル場 + ドローイング
ベクトル場 + ドローイング
‣ マウスをドラッグすると、その方向と距離でベクトル場に力を
加えるようにする
‣ testApp.cpp - mouseDragged() 関数
void testApp::mouseDragged(int x, int y, int button){
!
! float diffx = x - prevMouseX;
! float diffy = y - prevMouseY;
!
! VF.addVectorCircle((float)x, (float)y, diffx*0.3, diffy*0.3, 60, 0.3f);
!
! prevMouseX = x;
! prevMouseY = y;
}
ベクトル場 + ドローイング
‣ 完成:空間上の粒子を指でなぞるように動かすことが可能
ベクトル場 + ドローイング
‣ 応用:iPadなどのマルチタッチのデバイスと組み合せ
‣ MSAFluid:Memo Akten氏による流体のシミュレーション
‣ http://www.msavisuals.com/msafluid
生物の動き
鳥の群れをシミュレート (Boids)
鳥の群れをシミュレート (Boid)
‣ Boids 「鳥もどき(bird-oid)」
‣ 1987年にCraig Raynoldsによって発表された理論
‣ 3つのルールを規定するだけで鳥の群れをシミュレーションで
きるというもの
‣ 単純な規則を用いて群体としての複雑な振る舞いを再現できる
ことを示した
‣ Craig ReynoldsのBoidsの解説ページ
‣ http://www.red3d.com/cwr/boids/
鳥の群れをシミュレート (Boid)
‣ Boidsのルール
‣ Separation(引き離し)
‣ 近くの鳥や物体に近づきすぎたらぶつか
らないように離れるルール
‣ Alingment(整列)
‣ 近くの鳥たちと飛ぶスピードや方向を合
わせようとするルール
‣ Cohesion(結合)
‣ 鳥たちが多くいる方へ向かって飛ぶルー
ル
鳥の群れをシミュレート (Boid)
‣ このサンプルでは、particleクラス自身にBoidsのルールをメ
ソッドとして追加している
‣ addForFlocking()
‣ addFlockingForce()
ベクトル場にパーティクルを浮遊させる
‣ Boidsの3つのルールを、particle.cppに追加
void particle::addFlockingForce(){
! // seperation
! if(seperation.count > 0){
! ! seperation.sum /= (float)seperation.count;
! ! float sepFrc ! = seperation.strength;
! ! frc -= (seperation.sum.normalized() * sepFrc);
! }
!
! // alignment
! if(alignment.count > 0){
! ! alignment.sum /= (float)alignment.count;
! ! float alignFrc ! = alignment.strength;
! ! frc += (alignment.sum!! * alignFrc);
! }
!
! // cohesion
! if(cohesion.count > 0){
! ! cohesion.sum /= (float)cohesion.count;
! ! cohesion.sum -= pos;
! ! float cohFrc ! = cohesion.strength;
! ! frc += (cohesion.sum.normalized() * cohFrc);
! }
!
}
ベクトル場にパーティクルを浮遊させる
‣ Boidsの3つのルールを、particle.cppに追加 (つづき)
void particle::addForFlocking(particle &p){
!
! ofVec3f diff, diffNormalized;
! float distance;
!
! diff! ! ! = p.pos - pos;
! distance! ! = diff.length();
! diffNormalized! = diff;
! diffNormalized.normalize();
! if( distance > 0 && distance < seperation.distance ){
! ! seperation.sum += diffNormalized;
! ! seperation.count++;
! }
!
! if( distance > 0 && distance < alignment.distance ){
! ! alignment.sum += p.vel.getNormalized();
! ! alignment.count++;
! }
!
! if( distance > 0 && distance < cohesion.distance ){
! ! cohesion.sum += p.pos;
! ! cohesion.count++;
! }
}
鳥の群れをシミュレート (Boid)
‣ 驚くほどリアルな群れの動きが再現される

Contenu connexe

Tendances

Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えAtsushi Tadokoro
 
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートII
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートIIopenFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートII
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートIIAtsushi Tadokoro
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングKohsuke Yuasa
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチンyohhoy
 
【Unity道場】物理シミュレーション完全マスター
【Unity道場】物理シミュレーション完全マスター【Unity道場】物理シミュレーション完全マスター
【Unity道場】物理シミュレーション完全マスターUnity Technologies Japan K.K.
 
MRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみたMRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみたTakashi Yoshinaga
 
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in DepthA Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in DepthYoshifumi Kawai
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~ProjectAsura
 
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門Atsushi Tadokoro
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングSatoshi Kodaira
 
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならねUnityTechnologiesJapan002
 
C/C++とWebAssemblyを利用したライブラリ開発
C/C++とWebAssemblyを利用したライブラリ開発C/C++とWebAssemblyを利用したライブラリ開発
C/C++とWebAssemblyを利用したライブラリ開発祐司 伊藤
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​KLab Inc. / Tech
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方Yoshifumi Kawai
 
Unityとシェーダで描く360度フラクタル
Unityとシェーダで描く360度フラクタルUnityとシェーダで描く360度フラクタル
Unityとシェーダで描く360度フラクタルHirotaka Nakayama
 
はじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTrackingはじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTrackingTakashi Yoshinaga
 
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略祐司 伊藤
 
GLSLtech2018 レイマーチングで半歩差のつく小技集
GLSLtech2018 レイマーチングで半歩差のつく小技集GLSLtech2018 レイマーチングで半歩差のつく小技集
GLSLtech2018 レイマーチングで半歩差のつく小技集Kei Mesuda
 
シェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチングシェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチングSho Hosoda
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しようUnity Technologies Japan K.K.
 

Tendances (20)

Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
 
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートII
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートIIopenFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートII
openFrameworks – パーティクルを動かす、静的配列と動的配列 - 多摩美メディアアートII
 
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミングC++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
 
【Unity道場】物理シミュレーション完全マスター
【Unity道場】物理シミュレーション完全マスター【Unity道場】物理シミュレーション完全マスター
【Unity道場】物理シミュレーション完全マスター
 
MRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみたMRTKをNreal Lightに対応させてみた
MRTKをNreal Lightに対応させてみた
 
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in DepthA Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
 
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
 
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
 
C/C++とWebAssemblyを利用したライブラリ開発
C/C++とWebAssemblyを利用したライブラリ開発C/C++とWebAssemblyを利用したライブラリ開発
C/C++とWebAssemblyを利用したライブラリ開発
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
 
Unityとシェーダで描く360度フラクタル
Unityとシェーダで描く360度フラクタルUnityとシェーダで描く360度フラクタル
Unityとシェーダで描く360度フラクタル
 
はじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTrackingはじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTracking
 
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
 
GLSLtech2018 レイマーチングで半歩差のつく小技集
GLSLtech2018 レイマーチングで半歩差のつく小技集GLSLtech2018 レイマーチングで半歩差のつく小技集
GLSLtech2018 レイマーチングで半歩差のつく小技集
 
シェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチングシェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチング
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
 

En vedette

メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oFメディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oFAtsushi Tadokoro
 
コンテンツをディレクションするということ
コンテンツをディレクションするということコンテンツをディレクションするということ
コンテンツをディレクションするということYoshihiro Kanematsu
 
青年海外協力隊・フィールド調査団の最終報告書
青年海外協力隊・フィールド調査団の最終報告書青年海外協力隊・フィールド調査団の最終報告書
青年海外協力隊・フィールド調査団の最終報告書Daisuke Miyazaki
 
インターネット広告代理店の「制作ディレクション」というお仕事
インターネット広告代理店の「制作ディレクション」というお仕事インターネット広告代理店の「制作ディレクション」というお仕事
インターネット広告代理店の「制作ディレクション」というお仕事Koki Kaku
 
色で失敗しない為に 〜理論に基づく配色フロー〜
色で失敗しない為に 〜理論に基づく配色フロー〜色で失敗しない為に 〜理論に基づく配色フロー〜
色で失敗しない為に 〜理論に基づく配色フロー〜Yuudai Tachibana
 
Wo! vol.23 米Coca-Colaサイトにみるコンテンツ・マーケティング
Wo! vol.23 米Coca-Colaサイトにみるコンテンツ・マーケティングWo! vol.23 米Coca-Colaサイトにみるコンテンツ・マーケティング
Wo! vol.23 米Coca-Colaサイトにみるコンテンツ・マーケティングthinkjam.Inc.
 
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司schoowebcampus
 
ノンデザイナーのための配色理論
ノンデザイナーのための配色理論ノンデザイナーのための配色理論
ノンデザイナーのための配色理論tsukasa obara
 
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】MOCKS | Yuta Morishige
 
色彩センスのいらない配色講座
色彩センスのいらない配色講座色彩センスのいらない配色講座
色彩センスのいらない配色講座Mariko Yamaguchi
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版MOCKS | Yuta Morishige
 

En vedette (14)

メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oFメディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
 
コンテンツをディレクションするということ
コンテンツをディレクションするということコンテンツをディレクションするということ
コンテンツをディレクションするということ
 
青年海外協力隊・フィールド調査団の最終報告書
青年海外協力隊・フィールド調査団の最終報告書青年海外協力隊・フィールド調査団の最終報告書
青年海外協力隊・フィールド調査団の最終報告書
 
インターネット広告代理店の「制作ディレクション」というお仕事
インターネット広告代理店の「制作ディレクション」というお仕事インターネット広告代理店の「制作ディレクション」というお仕事
インターネット広告代理店の「制作ディレクション」というお仕事
 
色で失敗しない為に 〜理論に基づく配色フロー〜
色で失敗しない為に 〜理論に基づく配色フロー〜色で失敗しない為に 〜理論に基づく配色フロー〜
色で失敗しない為に 〜理論に基づく配色フロー〜
 
Wo! vol.23 米Coca-Colaサイトにみるコンテンツ・マーケティング
Wo! vol.23 米Coca-Colaサイトにみるコンテンツ・マーケティングWo! vol.23 米Coca-Colaサイトにみるコンテンツ・マーケティング
Wo! vol.23 米Coca-Colaサイトにみるコンテンツ・マーケティング
 
カヤックコピー部のコピー講座
カヤックコピー部のコピー講座カヤックコピー部のコピー講座
カヤックコピー部のコピー講座
 
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
分かりやすく、使いやすいデザインを生み出す工夫 先生:池田 拓司
 
コンテンツ作りの三原則
コンテンツ作りの三原則コンテンツ作りの三原則
コンテンツ作りの三原則
 
ノンデザイナーのための配色理論
ノンデザイナーのための配色理論ノンデザイナーのための配色理論
ノンデザイナーのための配色理論
 
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】【プレゼン】見やすいプレゼン資料の作り方【初心者用】
【プレゼン】見やすいプレゼン資料の作り方【初心者用】
 
しょぼいプレゼンをパワポのせいにするな! by @jessedee
しょぼいプレゼンをパワポのせいにするな! by @jessedeeしょぼいプレゼンをパワポのせいにするな! by @jessedee
しょぼいプレゼンをパワポのせいにするな! by @jessedee
 
色彩センスのいらない配色講座
色彩センスのいらない配色講座色彩センスのいらない配色講座
色彩センスのいらない配色講座
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
 

Similaire à Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム

寺子屋クスール @STATION5
寺子屋クスール @STATION5寺子屋クスール @STATION5
寺子屋クスール @STATION5biscuitjam
 
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスターUnity Technologies Japan K.K.
 
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描くAtsushi Tadokoro
 
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!cocopon
 
Processingによるプログラミング入門 第6回
Processingによるプログラミング入門 第6回Processingによるプログラミング入門 第6回
Processingによるプログラミング入門 第6回Ryo Suzuki
 
OpenCVで作るスタンプAR
OpenCVで作るスタンプAROpenCVで作るスタンプAR
OpenCVで作るスタンプARTakashi Yoshinaga
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションAtsushi Tadokoro
 
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数Taketo Sano
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計UnityTechnologiesJapan002
 
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001Teruaki Tsubokura
 
OooBasic
OooBasicOooBasic
OooBasicina job
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるデジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるAtsushi Tadokoro
 
OpenCVとRGB-Dセンサで作ろう壁面タッチパネル
OpenCVとRGB-Dセンサで作ろう壁面タッチパネルOpenCVとRGB-Dセンサで作ろう壁面タッチパネル
OpenCVとRGB-Dセンサで作ろう壁面タッチパネルTakashi Yoshinaga
 
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門uranishi
 

Similaire à Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム (17)

寺子屋クスール @STATION5
寺子屋クスール @STATION5寺子屋クスール @STATION5
寺子屋クスール @STATION5
 
Ssaw08 1125
Ssaw08 1125Ssaw08 1125
Ssaw08 1125
 
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター
 
Ssaw08 0930
Ssaw08 0930Ssaw08 0930
Ssaw08 0930
 
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
 
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!
 
Processingによるプログラミング入門 第6回
Processingによるプログラミング入門 第6回Processingによるプログラミング入門 第6回
Processingによるプログラミング入門 第6回
 
OpenCVで作るスタンプAR
OpenCVで作るスタンプAROpenCVで作るスタンプAR
OpenCVで作るスタンプAR
 
Arctic.js
Arctic.jsArctic.js
Arctic.js
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
 
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
 
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001
 
OooBasic
OooBasicOooBasic
OooBasic
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるデジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
 
OpenCVとRGB-Dセンサで作ろう壁面タッチパネル
OpenCVとRGB-Dセンサで作ろう壁面タッチパネルOpenCVとRGB-Dセンサで作ろう壁面タッチパネル
OpenCVとRGB-Dセンサで作ろう壁面タッチパネル
 
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門
 

Plus de Atsushi Tadokoro

「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望Atsushi Tadokoro
 
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようAtsushi Tadokoro
 
Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Atsushi Tadokoro
 
coma Creators session vol.2
coma Creators session vol.2coma Creators session vol.2
coma Creators session vol.2Atsushi Tadokoro
 
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Atsushi Tadokoro
 
Interactive Music II Processing基本
Interactive Music II Processing基本Interactive Music II Processing基本
Interactive Music II Processing基本Atsushi Tadokoro
 
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Atsushi Tadokoro
 
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス Atsushi Tadokoro
 
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)Atsushi Tadokoro
 
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くiTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くAtsushi Tadokoro
 
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリメディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリAtsushi Tadokoro
 
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使うAtsushi Tadokoro
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Atsushi Tadokoro
 
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得Atsushi Tadokoro
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングAtsushi Tadokoro
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Atsushi Tadokoro
 
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するiTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するAtsushi Tadokoro
 
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!Atsushi Tadokoro
 

Plus de Atsushi Tadokoro (20)

「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
 
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめよう
 
Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2
 
coma Creators session vol.2
coma Creators session vol.2coma Creators session vol.2
coma Creators session vol.2
 
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1
 
Interactive Music II Processing基本
Interactive Music II Processing基本Interactive Music II Processing基本
Interactive Music II Processing基本
 
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
 
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
 
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
 
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くiTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
 
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリメディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
 
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
 
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
 
Tamabi media131118
Tamabi media131118Tamabi media131118
Tamabi media131118
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
 
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するiTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
 
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
 
Geidai music131107
Geidai music131107Geidai music131107
Geidai music131107
 

Dernier

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~Kochi Eng Camp
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料Tokyo Institute of Technology
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 

Dernier (7)

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 

Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム