SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
Media Art II 2013
第7回 : openFrameworks
3Dグラフィクス、OpenGL
多摩美術大学情報デザイン学科メディア芸術コース
2013年10月28日
田所 淳
今日の内容
‣

openFrameworksの、3D機能、OpenGLの機能を中心に
取り上げます
今日の内容
‣

3DやOpenGLに関する機能を概観します
クラス名

機能

ofBox, ofSphere

3Dプリミティブオブジェクトの描画

ofEasyCam

簡単に利用可能なカメラ(視点)機能

ofLight

ライティング効果

ofMesh

3D物体の全ての頂点情報を持ったデータ

ofVBO

3Dシーンの物体の情報(位置・色)の保存

ofShader

プログラマブルシェーダ
3Dプリミティブ図形の描画
ofBox、ofSphere
3Dプリミティブ図形の描画 ofBox、ofSphere
‣

openFrameworks v080から、3Dの基本図形の描き方が
変化
!

‣

球体: ofSphere → ofSpherePrimtive

‣

立方体: ofBox → ofBoxPrimitive
!

‣

ofRectやofCircleのように、testApp::draw() 関数内に記
述して座標とサイズを指定するだけで簡単に利用可能
3Dプリミティブ図形の描画 ofBox、ofSphere
‣

testApp.h

#pragma once

!

#include "ofMain.h"

!

class testApp : public ofBaseApp{
public:
void setup();
void update();
void draw();
void
void
void
void
void
void
void
void
void

keyPressed(int key);
keyReleased(int key);
mouseMoved(int x, int y);
mouseDragged(int x, int y, int button);
mousePressed(int x, int y, int button);
mouseReleased(int x, int y, int button);
windowResized(int w, int h);
dragEvent(ofDragInfo dragInfo);
gotMessage(ofMessage msg);

ofBoxPrimitive box; // 立方体プリミティブ
ofSpherePrimitive sphere; // 球プリミティブ
};
3Dプリミティブ図形の描画 ofBox、ofSphere
‣

testApp.cpp

#include "testApp.h"

!

void testApp::setup(){
ofBackground(0);
}

!

void testApp::update(){
}

!

void testApp::draw(){
ofTranslate(ofGetWidth()/2, ofGetHeight()/2);
ofSetColor(255);
// 立方体
box.set(200); // サイズ設定
box.setPosition(-150, 0, 0); // 位置
box.drawWireframe(); // ワイヤーフレームを描画
// 球
sphere.set(100, 16); // 半径と面の細かさ
sphere.setPosition(150, 0, 0); // 位置
sphere.drawWireframe(); // ワイヤーフレームを描画
}
3Dプリミティブ図形の描画 ofBox、ofSphere
‣

完成!!
視点をインタラクティブに移動
ofEasyCam
視点をインタラクティブに移動 - ofEasyCam
‣

次に、この図形を様々な角度から眺められるようにする

‣

物体を動かすのではなく、視点(カメラ)を移動して、物体
を注視する角度を変更してみる

‣

視点を指定するofEasyCamというクラスがあり、とても
簡単に視点の移動が可能

‣

より詳細な視点や画角などの指定には、ofCameraという
クラスもある
視点をインタラクティブに移動 - ofEasyCam
‣

testApp.h

#pragma once

!

#include "ofMain.h"

!

class testApp : public ofBaseApp{
public:
void setup();
void update();
void draw();
void
void
void
void
void
void
void
void
void

keyPressed(int key);
keyReleased(int key);
mouseMoved(int x, int y);
mouseDragged(int x, int y, int button);
mousePressed(int x, int y, int button);
mouseReleased(int x, int y, int button);
windowResized(int w, int h);
dragEvent(ofDragInfo dragInfo);
gotMessage(ofMessage msg);

ofBoxPrimitive box; // 立方体プリミティブ
ofSpherePrimitive sphere; // 球プリミティブ
ofEasyCam cam; // カメラ
};
視点をインタラクティブに移動 - ofEasyCam
‣

testApp.cpp

… (前略) …

!

void testApp::draw(){
cam.begin(); // カメラ開始
ofSetColor(255);
// 立方体
box.set(200); // サイズ設定
box.setPosition(-150, 0, 0); // 位置
box.drawWireframe(); // ワイヤーフレームを描画
// 球
sphere.set(100, 16); // 半径と面の細かさ
sphere.setPosition(150, 0, 0); // 位置
sphere.drawWireframe(); // ワイヤーフレームを描画
cam.end(); // カメラ終了
}
視点をインタラクティブに移動 - ofEasyCam
‣

testApp.cpp

… (前略) …

!

void testApp::draw(){
cam.begin(); // カメラ開始
ofSetColor(255);
// 立方体

camera.begin( )と

box.set(200); // サイズ設定

camera.end( )で囲まれた範囲

box.setPosition(-150, 0, 0); // 位置

が、マウスのドラッグで視点変
更可能となる

box.drawWireframe(); // ワイヤーフレームを描画
// 球
sphere.set(100, 16); // 半径と面の細かさ
sphere.setPosition(150, 0, 0); // 位置
sphere.drawWireframe(); // ワイヤーフレームを描画
cam.end(); // カメラ終了
}
視点をインタラクティブに移動 - ofEasyCam
‣

マウスをドラッグすると物体を回転できる
ライティング
ofLight
ライティング - ofLight
‣

プリミティブを描画する命令
‣
‣

‣

プリミティブ.drawWireframe() → ワイヤーフレーム
プリミティブ.draw() → 塗り潰し

実際にやってみる
ライティング - ofLight
‣

testApp.cpp

void testApp::draw(){
cam.begin(); // カメラ開始
ofSetColor(255);
// 立方体
box.set(200); // サイズ設定
box.setPosition(-150, 0, 0); // 位置
box.draw(); // 塗りつぶしで描画

←ココ

// 球
sphere.set(100, 16); // 半径と面の細かさ
sphere.setPosition(150, 0, 0); // 位置
sphere.draw(); // 塗りつぶしで描画
cam.end(); // カメラ終了
}

←ココ
ライティング - ofLight
‣

陰影も何もない、のっぺりとした図形になってしまう
ライティング - ofLight
‣

なぜ、陰影のないのっぺりとした図形になってしまうのか?

‣

ライティングがされていないから

‣

適切な照明を物体に照射することで、リアルな陰影が表現
される

‣

ofLightクラスを使用する
ライティング - ofLight
‣

ofLightでは「Phongシェーディング」というアルゴリズ
ムで、物体にリアルな陰影や反射を付加している

‣

3Dグラフィックにおいて、モデリングされた面上の点に
影をつけるための照明と陰影モデル

‣

ユタ大学のBui Tuong Phongによって開発 (1973)
ライティング - ofLight
‣

Phongシェーディング

‣

3つの光の反射の強度と色を指定する
‣

鏡面反射 (Specular)

‣

拡散反射 (Diffuse)

‣

環境反射 (Ambient)
ライティング - ofLight
‣

testApp.h

#pragma once

!

#include "ofMain.h"

!

class testApp : public ofBaseApp{
public:
void setup();
void update();
void draw();
void
void
void
void
void
void
void
void
void

keyPressed(int key);
keyReleased(int key);
mouseMoved(int x, int y);
mouseDragged(int x, int y, int button);
mousePressed(int x, int y, int button);
mouseReleased(int x, int y, int button);
windowResized(int w, int h);
dragEvent(ofDragInfo dragInfo);
gotMessage(ofMessage msg);

ofBoxPrimitive box; // 立方体プリミティブ
ofSpherePrimitive sphere; // 球プリミティブ
ofEasyCam cam; // カメラ
ofLight light; // ライト
};
ライティング - ofLight
‣

testApp.cpp

… (前略) …

!

void testApp::setup(){
ofBackground(0);
// ライティングを有効に
light.enable();
// スポットライトを配置
light.setSpotlight();
// 照明の位置
light.setPosition(-100, 100, 100);
// 環境反射光の色
light.setAmbientColor(ofFloatColor(0.5, 0.2, 0.2, 1.0));
// 拡散反射光の色
light.setDiffuseColor(ofFloatColor(0.5, 0.5, 1.0));
// 鏡面反射光の色
light.setSpecularColor(ofFloatColor(1.0, 1.0, 1.0));
}

!

… (後略) …
ライティング - ofLight
‣

立体のの前後の重なりが、おかしい!?
ライティング - ofLight
‣

openFrameworksでは、そのままの設定では後から実行
した命令がどんどん上のレイヤーに描かれる

‣

3Dの立体の場合、有り得ない重なりになることも

‣

DEPTH TEST (深度テスト) を有効にする必要があり

‣

ofEnableDepthTest() で有効になる
ライティング - ofLight
‣

testApp.cpp を修正

… (前略) …

!

void testApp::setup(){
ofBackground(0);
ofEnableDepthTest(); // 深度テストを有効に
ofEnableSmoothing(); // 表示をスムースに

←ココ

// ライティングを有効に
light.enable();
// スポットライトを配置
light.setSpotlight();
// 照明の位置
light.setPosition(-100, 100, 100);
// 環境反射光の色
light.setAmbientColor(ofFloatColor(0.5, 0.2, 0.2, 1.0));
// 拡散反射光の色
light.setDiffuseColor(ofFloatColor(0.5, 0.5, 1.0));
// 鏡面反射光の色
light.setSpecularColor(ofFloatColor(1.0, 1.0, 1.0));
}

!

… (後略) …
ライティング - ofLight
‣

正しい重なりに
メッシュ (頂点情報の集合)
ofMesh
メッシュ (頂点情報の集合) - ofMesh
‣

立方体や球体などの単純な図形ではなく、より複雑な曲面
や多面体などの3Dの形状を描くにはどうすれば良いのか?

‣

ポリゴンメッシュ (Polygon Mesh) を使用する

‣

openFrameworksでは、ofMeshクラスで生成できる
メッシュ (頂点情報の集合) - ofMesh
‣

メッシュによって構成された複雑な形状の例
メッシュ (頂点情報の集合) - ofMesh
‣

メッシュ (ポリゴンメッシュ Polygon Mesh)

‣

3Dグラフィックのモデリングの多面体オブジェクトの形
状を定義する頂点、辺、面の集合のこと

‣

通常は三角形や四角形のポリゴン(面)によって構成される
メッシュ (頂点情報の集合) - ofMesh
‣

sin関数を利用して波を生成し、その3Dの形態をメッシュ
で表現してみる

‣

まず、x, y軸方向に均等に並ぶグリッドを作成

‣

グリッドの頂点をそれぞれ、x軸、y軸で異なる周波数のsin
関数で上下に振動させる

‣

頂点の座標を描画する
メッシュ (頂点情報の集合) - ofMesh
‣

testApp.h

#pragma once

!

#include "ofMain.h"

!

class testApp : public ofBaseApp{
public:
void setup();
void update();
void draw();
void
void
void
void
void
void
void
void
void

keyPressed(int key);
keyReleased(int key);
mouseMoved(int x, int y);
mouseDragged(int x, int y, int button);
mousePressed(int x, int y, int button);
mouseReleased(int x, int y, int button);
windowResized(int w, int h);
dragEvent(ofDragInfo dragInfo);
gotMessage(ofMessage msg);

ofEasyCam cam; // カメラ
ofMesh mesh; // 3Dメッシュ
int w, h; // メッシュの幅と高さ
};
メッシュ (頂点情報の集合) - ofMesh
‣

testApp.cpp

#include "testApp.h"

!

void testApp::setup(){
// 画面の設定
ofBackground(0);
ofEnableDepthTest();
cam.setDistance(100);
// メッシュの幅と高さ
w = 200;
h = 200;
// 頂点の色を初期化
for (int i = 0; i < w; i++) {
for (int j = 0; j < h; j++) {
mesh.addColor(ofFloatColor(0.5, 0.8, 1.0));
}
}
}
メッシュ (頂点情報の集合) - ofMesh
‣

testApp.cpp

void testApp::update(){
// まず全ての頂点情報を削除
mesh.clearVertices();
// 全ての頂点の位置を更新して頂点情報として追加
for (int i = 0; i < w; i++) {
for (int j = 0; j < h; j++) {
float x = sin(i * 0.1 + ofGetElapsedTimef())*10.0;
float y = sin(j*0.15 + ofGetElapsedTimef()) * 10.0;
float z = x + y;
mesh.addVertex(ofVec3f(i - w/2, j - h/2, z));
}
}
}
メッシュ (頂点情報の集合) - ofMesh
‣

testApp.cpp

void testApp::draw(){
// メッシュの描画
ofSetHexColor(0xffffff);
cam.begin(); // カメラ開始
// 頂点の位置をドットで表示
glPointSize(2.0);
glEnable(GL_POINT_SMOOTH);
mesh.drawVertices();
cam.end(); // カメラ終了
// ログの表示
string info;
info = "Vertex num = " + ofToString(w * h, 0) + "n";
info += "FPS = " + ofToString(ofGetFrameRate(), 2);
ofDrawBitmapString(info, 30, 30);
}
メッシュ (頂点情報の集合) - ofMesh
‣

完成!!
VBO (頂点バッファオブジェクト)
ofVBO
VBO (頂点バッファオブジェクト) - ofVBO
‣

ポリゴンメッシュなどの複雑な3D形状

‣

大量の頂点の情報を高速に演算する必要がある

‣

CPUに高負荷な演算
!

‣

VBO (頂点バッファオブジェクト)

‣

あらかじめ頂点データをOpenGL側に作成しておき、グラフィ
クスカード側で演算を行う手法

‣

CPUの負荷を減らし、高速な描画を実現する
!

‣

先程ofMeshで作成した3Dの波を、ofVBOによる計算に変更し
てみる
VBO (頂点バッファオブジェクト) - ofVBO
‣

VBOのイメージ
GPU

大量の頂点
座標情報

高速演算

大量の頂点
色情報

CPU
VBO (頂点バッファオブジェクト) - ofVBO
‣

testApp.h

#pragma once

!

#include "ofMain.h"

!

class testApp : public ofBaseApp{
public:
void setup();
void update();
void draw();
… (中略) …
// クラス定数
static const int WIDTH = 200;
static const int HEIGHT = 200;
static const int NUM_PARTICLES = WIDTH * HEIGHT;
ofEasyCam cam; // カメラ
ofVbo myVbo; // VBO
ofVec3f myVerts[NUM_PARTICLES]; // 頂点の座標
ofFloatColor myColor[NUM_PARTICLES]; // 頂点の色情報
};
VBO (頂点バッファオブジェクト) - ofVBO
‣

testApp.cpp

#include "testApp.h"

!

const int testApp::WIDTH;
const int testApp::HEIGHT;
const int testApp::NUM_PARTICLES;

!

void testApp::setup(){
// 画面の設定
ofBackground(0);
ofEnableDepthTest();
ofEnableBlendMode(OF_BLENDMODE_ADD);
cam.setDistance(100);
// 頂点情報を初期化
for (int i = 0; i <
for (int j = 0;
myVerts[j *
myColor[j *
}
}

WIDTH; i++) {
j < HEIGHT; j++) {
WIDTH + i].set(i - WIDTH/2, j - HEIGHT/2, 0);
WIDTH + i].set(0.5, 0.8, 1.0, 1.0);

// 頂点バッファに位置と色の情報を設定
myVbo.setVertexData(myVerts, NUM_PARTICLES, GL_DYNAMIC_DRAW);
myVbo.setColorData(myColor, NUM_PARTICLES, GL_DYNAMIC_DRAW);
}
VBO (頂点バッファオブジェクト) - ofVBO
‣

testApp.cpp

void testApp::update(){
// 頂点の座標を更新
for (int i = 0; i < WIDTH; i++) {
for (int j = 0; j < HEIGHT; j++) {
float x = sin(i * 0.1 + ofGetElapsedTimef()) * 10.0;
float y = sin(j * 0.15 + ofGetElapsedTimef()) * 10.0;
float z = x + y;
myVerts[j * WIDTH + i] = ofVec3f(i - WIDTH/2, j - HEIGHT/2, z);
}
}
// 頂点バッファの頂点の座標情報を更新
myVbo.updateVertexData(myVerts, NUM_PARTICLES);
}

!

void testApp::draw(){
// VBOの頂点を描画
cam.begin();
glPointSize(2);
myVbo.draw(GL_POINTS, 0, NUM_PARTICLES);
cam.end();
// ログの表示
string info;
info = "Vertex num = " + ofToString(NUM_PARTICLES, 0) + "n";
info += "FPS = " + ofToString(ofGetFrameRate(), 2);
ofDrawBitmapString(info, 30, 30);
}
VBO (頂点バッファオブジェクト) - ofVBO
‣

完成!!
VBO 応用
カメラの明度でメッシュを生成
カメラの明度でメッシュを生成
‣

VBO + Mesh、応用

‣

カメラから映像を入力

‣

映像のそれぞれのピクセルの明さを頂点の高さに

‣

ビデオからの色を、頂点の色に
VBO (頂点バッファオブジェクト) - ofVBO
‣

testApp.h

#pragma once

!

#include "ofMain.h"

!

class testApp : public ofBaseApp{
public:
void setup();
void update();
void draw();
… (中略) …
// クラス定数
static const int WIDTH = 640;
static const int HEIGHT = 480;
static const int NUM_PARTICLES = WIDTH * HEIGHT;
ofEasyCam cam; // カメラ
ofLight light; // ライト
ofVbo myVbo; // VBO
ofVec3f myVerts[NUM_PARTICLES]; // 頂点の座標
ofFloatColor myColor[NUM_PARTICLES]; // 頂点の色情報
ofVideoGrabber myVideo;
};

// ビデオキャプチャ
VBO (頂点バッファオブジェクト) - ofVBO
‣

testApp.cpp

#include "testApp.h"

!

const int testApp::WIDTH;
const int testApp::HEIGHT;
const int testApp::NUM_PARTICLES;

!

void testApp::setup(){
// 画面の設定
ofBackground(0);
ofEnableDepthTest();
ofEnableBlendMode(OF_BLENDMODE_ADD);
cam.setDistance(400);
myVideo.initGrabber(640, 480); // カメラ映像をキャプチャ

!
// 頂点情報を初期化
for (int i = 0; i <
for (int j = 0;
myVerts[j *
myColor[j *
}
}

WIDTH; i++) {
j < HEIGHT; j++) {
WIDTH + i].set(i - WIDTH/2, j - HEIGHT/2, 0);
WIDTH + i].set(1.0, 1.0, 1.0, 1.0);

// 頂点バッファに位置と色の情報を設定
myVbo.setVertexData(myVerts, NUM_PARTICLES, GL_DYNAMIC_DRAW);
myVbo.setColorData(myColor, NUM_PARTICLES, GL_DYNAMIC_DRAW);
}
VBO (頂点バッファオブジェクト) - ofVBO
‣

testApp.cpp

void testApp::update(){
// カメラからの映像を更新
myVideo.update();
// もしカメラのフレームが更新されていたら
if (myVideo.isFrameNew()) {
// カメラの映像のピクセル情報を抽出
unsigned char * pixels = myVideo.getPixels();
// ピクセルごとに処理
for (int i = 0; i < WIDTH; i++) {
for (int j = 0; j < HEIGHT; j++) {
// ピクセルノRGB値を取得
float r = (float)pixels[j * myVideo.width * 3 + i * 3] / 256.0;
float g = (float)pixels[j * myVideo.width * 3 + i * 3 + 1] / 256.0;
float b = (float)pixels[j * myVideo.width * 3 + i * 3 + 2] / 256.0;
// RGBから明度を算出
float brightness = (r + g + b) / 3.0f;
// 明度から頂点の位置を設定
myVerts[j * WIDTH + i] = ofVec3f(i - WIDTH/2, j - HEIGHT/2, brightness * 256.0);
// 頂点の色はカメラのピクセルの値をそのまま使用
}

myColor[j * WIDTH + i] = ofFloatColor(r, g, b, 0.8);

}
// VBOの座標と色の情報を更新

}

}

myVbo.updateVertexData(myVerts, NUM_PARTICLES);
myVbo.updateColorData(myColor, NUM_PARTICLES);
VBO (頂点バッファオブジェクト) - ofVBO
‣

testApp.cpp

void testApp::draw(){
// VBOを描画
cam.begin();
ofScale(1, -1, 1);
glPointSize(3);
myVbo.draw(GL_POINTS, 0, NUM_PARTICLES);
cam.end();
// ログの表示
string info;
info = "Vertex num = " + ofToString(NUM_PARTICLES, 0) + "n";
info += "FPS = " + ofToString(ofGetFrameRate(), 2);
ofDrawBitmapString(info, 30, 30);
}
カメラの明度でメッシュを生成
‣

完成!!
VBO (頂点バッファオブジェクト) - ofVBO
‣

よりVBOのパワーを実感できるサンプル

‣

大量のパーティクルをnoise関数で飛散させる

‣

それぞれのパーティクルにはテクスチャ画像を貼る

‣

高速にアニメーションしてみる
VBO (頂点バッファオブジェクト) - ofVBO
‣

大量のパーティクルを高速にアニメーション

Mais conteúdo relacionado

Mais procurados

カルマンフィルタ講義資料
カルマンフィルタ講義資料カルマンフィルタ講義資料
カルマンフィルタ講義資料Nobutaka Shimada
 
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについてSECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについてt-sin
 
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門Atsushi Tadokoro
 
Unity遊戲程式設計(05) 2D移動與碰撞處理II
Unity遊戲程式設計(05) 2D移動與碰撞處理IIUnity遊戲程式設計(05) 2D移動與碰撞處理II
Unity遊戲程式設計(05) 2D移動與碰撞處理II吳錫修 (ShyiShiou Wu)
 
Scala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみたScala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみたKazuyuki TAKASE
 
[DL輪読会]Deep Reinforcement Learning that Matters
[DL輪読会]Deep Reinforcement Learning that Matters[DL輪読会]Deep Reinforcement Learning that Matters
[DL輪読会]Deep Reinforcement Learning that MattersDeep Learning JP
 
Format string Attack
Format string AttackFormat string Attack
Format string Attackicchy
 
3次元の凸包を求める
3次元の凸包を求める3次元の凸包を求める
3次元の凸包を求めるabc3141
 
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門Prism + ReactiveProperty入門
Prism + ReactiveProperty入門一希 大田
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐりKazuyuki TAKASE
 
YOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own dataset
YOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own datasetYOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own dataset
YOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own datasetmoto2g
 
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス Atsushi Tadokoro
 
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略祐司 伊藤
 
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything【DL輪読会】Segment Anything
【DL輪読会】Segment AnythingDeep Learning JP
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニックGenya Murakami
 
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理Toru Tamaki
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するYoshifumi Kawai
 
「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめ「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめRecruit Technologies
 

Mais procurados (20)

カルマンフィルタ講義資料
カルマンフィルタ講義資料カルマンフィルタ講義資料
カルマンフィルタ講義資料
 
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについてSECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについて
 
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門
 
Unity遊戲程式設計(05) 2D移動與碰撞處理II
Unity遊戲程式設計(05) 2D移動與碰撞處理IIUnity遊戲程式設計(05) 2D移動與碰撞處理II
Unity遊戲程式設計(05) 2D移動與碰撞處理II
 
Scala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみたScala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみた
 
[DL輪読会]Deep Reinforcement Learning that Matters
[DL輪読会]Deep Reinforcement Learning that Matters[DL輪読会]Deep Reinforcement Learning that Matters
[DL輪読会]Deep Reinforcement Learning that Matters
 
Format string Attack
Format string AttackFormat string Attack
Format string Attack
 
3次元の凸包を求める
3次元の凸包を求める3次元の凸包を求める
3次元の凸包を求める
 
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
 
DeepLearningTutorial
DeepLearningTutorialDeepLearningTutorial
DeepLearningTutorial
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
 
YOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own dataset
YOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own datasetYOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own dataset
YOLO V3で独自データセットを学習させて物体検出 / Yolo V3 with your own dataset
 
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
 
Pixel Shuffer
Pixel ShufferPixel Shuffer
Pixel Shuffer
 
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
 
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything【DL輪読会】Segment Anything
【DL輪読会】Segment Anything
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニック
 
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめ「機械学習:技術的負債の高利子クレジットカード」のまとめ
「機械学習:技術的負債の高利子クレジットカード」のまとめ
 

Destaque

Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用するMedia Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用するAtsushi Tadokoro
 
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oFメディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oFAtsushi Tadokoro
 
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCvMedia Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCvAtsushi Tadokoro
 
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションメディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションAtsushi Tadokoro
 
青年海外協力隊・フィールド調査団の最終報告書
青年海外協力隊・フィールド調査団の最終報告書青年海外協力隊・フィールド調査団の最終報告書
青年海外協力隊・フィールド調査団の最終報告書Daisuke Miyazaki
 
コンテンツをディレクションするということ
コンテンツをディレクションするということコンテンツをディレクションするということ
コンテンツをディレクションするということYoshihiro Kanematsu
 
インターネット広告代理店の「制作ディレクション」というお仕事
インターネット広告代理店の「制作ディレクション」というお仕事インターネット広告代理店の「制作ディレクション」というお仕事
インターネット広告代理店の「制作ディレクション」というお仕事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
 

Destaque (18)

マウスでタッチ操作
マウスでタッチ操作マウスでタッチ操作
マウスでタッチ操作
 
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用するMedia Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
 
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oFメディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
 
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCvMedia Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
 
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションメディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
 
青年海外協力隊・フィールド調査団の最終報告書
青年海外協力隊・フィールド調査団の最終報告書青年海外協力隊・フィールド調査団の最終報告書
青年海外協力隊・フィールド調査団の最終報告書
 
コンテンツをディレクションするということ
コンテンツをディレクションするということコンテンツをディレクションするということ
コンテンツをディレクションするということ
 
インターネット広告代理店の「制作ディレクション」というお仕事
インターネット広告代理店の「制作ディレクション」というお仕事インターネット広告代理店の「制作ディレクション」というお仕事
インターネット広告代理店の「制作ディレクション」というお仕事
 
色で失敗しない為に 〜理論に基づく配色フロー〜
色で失敗しない為に 〜理論に基づく配色フロー〜色で失敗しない為に 〜理論に基づく配色フロー〜
色で失敗しない為に 〜理論に基づく配色フロー〜
 
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
 
色彩センスのいらない配色講座
色彩センスのいらない配色講座色彩センスのいらない配色講座
色彩センスのいらない配色講座
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
 

Semelhante a Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL

Android OpenGL HandsOn
Android OpenGL HandsOnAndroid OpenGL HandsOn
Android OpenGL HandsOnIkuo Tansho
 
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DFlashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DKatsushi Suzuki
 
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Masahiko Mizuta
 
ももち浜TECHカフェ:OpenCVとKinectで作ろう壁面タッチパネル
ももち浜TECHカフェ:OpenCVとKinectで作ろう壁面タッチパネルももち浜TECHカフェ:OpenCVとKinectで作ろう壁面タッチパネル
ももち浜TECHカフェ:OpenCVとKinectで作ろう壁面タッチパネルTakashi Yoshinaga
 
Ogre3d 基礎
Ogre3d 基礎Ogre3d 基礎
Ogre3d 基礎kw
 
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DFlashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DKatsushi Suzuki
 
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!cocopon
 
怪しいWindowsプログラミング
怪しいWindowsプログラミング怪しいWindowsプログラミング
怪しいWindowsプログラミングnagoya313
 
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めようAdvancedTechNight
 
2012 03-03-titanium plusquicktigame2d
2012 03-03-titanium plusquicktigame2d2012 03-03-titanium plusquicktigame2d
2012 03-03-titanium plusquicktigame2dHiroshi Oyamada
 
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」Tomoaki Shimizu
 
Real timeimageprocessing
Real timeimageprocessingReal timeimageprocessing
Real timeimageprocessingushiostarfish _
 
プログラミング技法特論第8回
プログラミング技法特論第8回プログラミング技法特論第8回
プログラミング技法特論第8回Noritada Shimizu
 
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜勝成 鈴江
 
はじめようRGB-Dセンシングと画像処理
はじめようRGB-Dセンシングと画像処理はじめようRGB-Dセンシングと画像処理
はじめようRGB-Dセンシングと画像処理Takashi Yoshinaga
 

Semelhante a Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL (20)

Android OpenGL HandsOn
Android OpenGL HandsOnAndroid OpenGL HandsOn
Android OpenGL HandsOn
 
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DFlashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
 
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
 
ももち浜TECHカフェ:OpenCVとKinectで作ろう壁面タッチパネル
ももち浜TECHカフェ:OpenCVとKinectで作ろう壁面タッチパネルももち浜TECHカフェ:OpenCVとKinectで作ろう壁面タッチパネル
ももち浜TECHカフェ:OpenCVとKinectで作ろう壁面タッチパネル
 
Arctic.js
Arctic.jsArctic.js
Arctic.js
 
Ogre3d 基礎
Ogre3d 基礎Ogre3d 基礎
Ogre3d 基礎
 
Flashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3DFlashup13 Basic Training of Flare3D
Flashup13 Basic Training of Flare3D
 
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!
 
怪しいWindowsプログラミング
怪しいWindowsプログラミング怪しいWindowsプログラミング
怪しいWindowsプログラミング
 
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
 
2012 03-03-titanium plusquicktigame2d
2012 03-03-titanium plusquicktigame2d2012 03-03-titanium plusquicktigame2d
2012 03-03-titanium plusquicktigame2d
 
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
Cocos2d-x(JS) ハンズオン #08「様々な画像描画方法」
 
Real timeimageprocessing
Real timeimageprocessingReal timeimageprocessing
Real timeimageprocessing
 
CG2013 12
CG2013 12CG2013 12
CG2013 12
 
プログラミング技法特論第8回
プログラミング技法特論第8回プログラミング技法特論第8回
プログラミング技法特論第8回
 
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
C++でのゲームプログラミングをしたときのお話 札幌C++勉強会 #4 〜スタートゲームプログラミング〜
 
はじめようRGB-Dセンシングと画像処理
はじめようRGB-Dセンシングと画像処理はじめようRGB-Dセンシングと画像処理
はじめようRGB-Dセンシングと画像処理
 
Sencha study
Sencha studySencha study
Sencha study
 
Gocon2013
Gocon2013Gocon2013
Gocon2013
 
Android gameprogramming
Android gameprogrammingAndroid gameprogramming
Android gameprogramming
 

Mais 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 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
 
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
 
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えAtsushi Tadokoro
 
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!Atsushi Tadokoro
 

Mais 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 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の連携
 
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 衛星アプリを企画する
 
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
 
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!Interactive Music II SuperCollider実習  オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
 

Último

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Último (10)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL