SlideShare a Scribd company logo
1 of 88
Download to read offline
coma Creator's session vol.2
田所 淳
1/13, 2014.
自己紹介
自己紹介
‣ 田所淳 (たどころ あつし)
‣ クリエイティブ・コーダー?
‣ 大学非常勤講師 (多摩美術大学、東京藝術大学) など
自己紹介
‣ http://yoppa.org/

screenshot_679
自己紹介
‣ 『Beyond Interaction[改訂第2版] -クリエイティブ・コーディ
ングのためのopenFrameworks実践ガイド』絶賛販売中!!

screenshot_679
今日の内容
今日の内容
‣ ライブ種明かし編!!
‣ coma discotheque ver 0.03 でのライブ
‣ http://www.youtube.com/watch?v=gbVPbc9faXw
ライブのおおまかなシステム構成
‣ だいたいこんな感じ

映像

音

openFrameworks

SuperCollider

GLSL
ライブのおおまかなシステム構成
‣ だいたいこんな感じ
!

‣ openFrameworks :
‣ 全体の構造、操作(Key, Mouse)
!

‣ GLSL :
‣ グラフィック、アニメーション
!

‣ SuperCollider :
‣ 音
ライブのおおまかなシステム構成
‣ openFrameworks + GLSL + SuperCollider
‣ それぞれの内容を、紹介していきます!!
openFrameworks
openFrameworks
‣ openFrameworks (2005 - )
‣ Processingの思想を受けつぎつつ、さらに高速化、拡張性を追
求した環境
‣ C++による実装
‣ http://www.openframeworks.cc/
openFrameworks
‣ openFrameworksを何に使用していたか?
!

‣ マウスやキーボードの入力
‣ 全体の構造 (シーンの切り替え)
openFrameworks
‣ openFrameworksを何に使用していたか?
!

‣ マウスやキーボードの入力
‣ 全体の構造 (シーンの切り替え) ← こちらの説明
openFrameworks + ofxStateMachine
openFrameworks + ofxStateMachine
‣ 今回のプロジェクトの構造
‣ 複数のシーン(状態)の間を自由に移動したい!

Scene A

Scene C

Scene B
Scene D
openFrameworks + ofxStateMachine
‣ mainApp内で、条件によって場合分け? … 面倒くさい
void testApp::update(){
switch (state) {
case 1:
// ... 状態1の処理 ... //
break;
case 2:
// ... 状態2の処理 ... //
break;
case 3:
// ... 状態3の処理 ... //
break;

}

}

// ...
openFrameworks + ofxStateMachine
‣ 便利なアドオン紹介
‣ ofxStateMachine
‣ https://github.com/neilmendoza/ofxStateMachine
openFrameworks + ofxStateMachine
‣ ofxStateMachine
‣ 有限状態機械 (finite state machine)を使用したデザインパター
ンを実装

Finite State Machine
有限状態機械…??
openFrameworks + ofxStateMachine
‣ 有限状態機械 → oFで解釈すると…
‣ 複数の状態(State)をテンプレートから生成

StateA

StateB

StateC

State
Template
openFrameworks + ofxStateMachine
‣ 有限状態機械 → oFで解釈すると…
‣ それぞれの状態(State)を相互に行き来可能

StateA

StateB

StateC
openFrameworks + ofxStateMachine
‣ 使い方は簡単!
‣ ofxState : それぞれの状態のテンプレートとなるクラス、継承
して使用する
‣ SharedData : 全てのクラスで共有するデータ

ofxState

継承

State A
State B
State C

SharedData
参照
openFrameworks + ofxStateMachine
‣ ofxStateには、ofBaseApp (つまりtestAppクラス) で定義され
ているメソッドが組込まれている
‣ setup(), update(), draw(), mouseReleased(), keyPressed() …
!

‣ つまり、一つのプロジェクトの中に、沢山のoFアプリが入って
いるような感覚でコーディング可能!!

project
ofBaseApp
ofBaseApp
ofBaseApp
openFrameworks + ofxStateMachine
‣ Stateのテンプレート
class MyState : public itg::ofxState<> {
public:
void setup();
void update();
void draw();

!
!

};

...
string getName();
openFrameworks + ofxStateMachine
‣ Stateのテンプレート
class MyState : public itg::ofxState<> {
public:
void setup();
void update();
void draw();

!
!

};

...
string getName();

← ココ重要!
openFrameworks + ofxStateMachine
‣ 各Stateは、名前を呼ぶと表示される
‣ 《Stateのインスタンス》.getName() で名前を返すようにする
‣ testAppから名前を呼ぶと、Stateが選択される

testApp

State A

state_a

State B

state_b

State C

state_c
openFrameworks + ofxStateMachine
‣ 各Stateは、名前を呼ぶと表示される
‣ 《Stateのインスタンス》.getName() で名前を返すようにする
‣ testAppから名前を呼ぶと、Stateが選択される

changeState( state_b )
testApp

State A

state_a

State B

state_b

State C

state_c
openFrameworks + ofxStateMachine
‣ 各Stateは、名前を呼ぶと表示される
‣ 《Stateのインスタンス》.getName() で名前を返すようにする
‣ testAppから名前を呼ぶと、Stateが選択される

changeState( state_b )
testApp

State A
表示

state_a

State B

state_b

State C

state_c
ofxStateMachine
Demo: コード実例でみてみる!
GLSL (Shader)
GLSL (Shader)
‣ 今回の画面の表示は、全てGLSL (OpenGL Shading Language)
をつかった
‣ とっつきずらいが、綺麗、速い!
GLSL (Shader)
‣ GLSLを試行錯誤したい!!
‣ addonを作成しました → ofxGLSLSandbox
‣ https://github.com/tado/ofxGLSLSandbox
GLSL (Shader)
‣ ofxGLSLSandbox
‣ ウリは、Live Edit機能!!
‣ プログラムを動作させながら、Shaderを書き換えできる
‣ やりかたは後で
GLSL (Shader)
‣ ofxGLSLSandbox
‣ ウリは、Live Edit機能!!
‣ プログラムを動作させながら、Shaderを書き換えできる
‣ やりかたは後で
GLSL (Shader)
‣ ofxGLSLSandboxで、Shaderを書きながら基本を学ぼう!
GLSL (Shader)
‣ まずは、基本形
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); // Red.
}
GLSL (Shader)
‣ 真っ赤な画面になるはず
‣ gl_FlagColor → 全てのピクセルの色を指定している
‣ vec4(…); → 色を指定(RGBA)
GLSL (Shader)
‣ 上にある3つの「uniform」は何か?
‣ openFrameworksから渡されている値
!

‣ uniform float time; → 経過時間(Second)
‣ uniform vec2 mouse; → マウスの位置 (x, y)
‣ uniform vec2 resolution; → 画面の大きさ (x, y)
!

‣ 手始めに、resolutionをつかってみる
GLSL (Shader)
‣ 座標の値を利用してグラデーションをつくる
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
float br = gl_FragCoord.x / resolution.x;
gl_FragColor = vec4(br, br, br, 1.0);
}
GLSL (Shader)
‣ x軸方向へのグラデーションになる
GLSL (Shader)
‣ gl_FragCoord → ウィンドウ上でのフラグメントの位置(x, y)
‣ gl_FragCoord.x : x方向
‣ gl_FragCoord.y : y方向
‣ gl_FragCoord.xy : 2次元平面 (vec2)
GLSL (Shader)
‣ RGBごとに別の値に
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
vec3 color;
color.r = gl_FragCoord.x / resolution.x;
color.g = 0.2;
color.b = gl_FragCoord.y / resolution.y;
gl_FragColor = vec4(color, 1.0);
}
GLSL (Shader)
‣ カラフルなグラデーション完成!!
GLSL (Shader)
‣ 次に時間を操作してみる
‣ timeを使用
!

‣ 時間によって色の濃度を変化させるとどうなるか?
‣ 定期的な色の変化を、時間とsin関数で生成してみる
GLSL (Shader)
‣ 時間変化
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
vec3 color;
color.r = sin(time * 1.0);
color.g = sin(time * 1.7);
color.b = sin(time * 2.3);
gl_FragColor = vec4(color, 1.0);
}
GLSL (Shader)
‣ 時間によって、色が変化していくはず!
GLSL (Shader)
‣ sin関数に、gl_FragCoord(座標) を入れるとどうなるか?
‣ 実験!!
GLSL (Shader)
‣ gl_FragCoordとSin関数
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
vec3 color;
color.r = sin(gl_FragCoord.x / 10.0);
color.g = sin(gl_FragCoord.x / 13.0);
color.b = sin(gl_FragCoord.x / 17.0);
gl_FragColor = vec4(color, 1.0);
}
GLSL (Shader)
‣ 縞々模様に!
GLSL (Shader)
‣ さらに時間(time)を足してみる
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
vec3 color;
color.r = sin(gl_FragCoord.x / 10.0 + time * 5.0);
color.g = sin(gl_FragCoord.x / 13.0 + time * 6.0);
color.b = sin(gl_FragCoord.x / 17.0 + time * 7.0);
gl_FragColor = vec4(color, 1.0);
}
GLSL (Shader)
‣ 縞模様が左右に動く(はず)
GLSL (Shader)
‣ 濃度ではなく、(x, y)座標にsinwaveを描いてみる
‣ ちょっと複雑…
!

‣ 少しずつやってみる
GLSL (Shader)
‣ はじめの一歩: y座標の位置で色を変化 = グラデーション
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
vec2 pos = ( gl_FragCoord.xy / resolution.xy );
vec3 color = vec3(pos.y);
gl_FragColor = vec4(color, 1.0);
}
GLSL (Shader)
‣ グラデーション
GLSL (Shader)
‣ グラデーションのy座標を、sin関数で変化させてみる
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
vec2 pos = ( gl_FragCoord.xy / resolution.xy );
pos.y -= 0.5;
pos.y += sin(pos.x * 10.0 + time) * 0.2;
vec3 color = vec3(pos.y);
gl_FragColor = vec4(color, 1.0);
}
GLSL (Shader)
‣ 波うつグラデーションができた
GLSL (Shader)
‣ 明度の絶対値を表示してみる

1

1

明度

明度

-1

-1
y座

y座
GLSL (Shader)
‣ 明度の絶対値を表示してみる
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
vec2 pos = ( gl_FragCoord.xy / resolution.xy );
pos.y -= 0.5;
pos.y += sin(pos.x * 10.0 + time) * 0.2;

!
!

}

vec3 color = vec3(abs(pos.y));
gl_FragColor = vec4(color, 1.0);
GLSL (Shader)
‣ 波の形が見えてきた!!
GLSL (Shader)
‣ さらに1から引いて、乗算する

1

1

明度

明度

-1

-1
y座

y座
GLSL (Shader)
‣ さらに1から引いて、乗算する
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
vec2 pos = ( gl_FragCoord.xy / resolution.xy );
pos.y -= 0.5;
pos.y += sin(pos.x * 10.0 + time) * 0.2;

!
!

}

vec3 color = vec3(1.0 - pow(abs(pos.y),0.2));
gl_FragColor = vec4(color, 1.0);
GLSL (Shader)
‣ きれいなSin波が描けた!!
GLSL (Shader)
‣ 色合いを工夫してみる
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
vec2 pos = ( gl_FragCoord.xy / resolution.xy );
pos.y -= 0.5;
pos.y += sin(pos.x * 10.0 + time) * 0.2;
vec3 color = vec3(1.0 - pow(abs(pos.y),0.2));

!
!

}

gl_FragColor = vec4(color.r*0.2, color.g*0.5, color.b*1.0, 1.0);
GLSL (Shader)
‣ 自分の好みの色に!!
GLSL (Shader)
‣ さらに時間で振幅を変化させてみたり
uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

!

void main(void){
vec2 pos = ( gl_FragCoord.xy / resolution.xy );
pos.y -= 0.5;

!
!

}

pos.y += sin(pos.x * 10.0 + time) * 0.2 * sin(time);
vec3 color = vec3(1.0 - pow(abs(pos.y),0.2));
gl_FragColor = vec4(color.r*0.2, color.g*0.5, color.b*1.0, 1.0);
GLSL (Shader)
‣ 完成!!
GLSL (Shader)
‣ openFrameworksとGLSLの連携をしてみる
‣ このSin波のパラメータを、oFで生成して渡してみる
!

‣ oF側 → float array[] を生成し、setUniform1fv() で渡す
‣ GLSL側 → uniform float array[] で受ける
!

‣ oF側でランダムにパラメータ生成して、Shaderに入れてみる!
GLSL (Shader)
‣ Shader側
#include "testApp.h"

!

//波の数
static const int NUM = 20;
//Shaderへ渡す周波数の配列
float freq[NUM];

!

void testApp::setup(){
//Shaderの画面サイズ設定
width = 400;
height = 300;
fbo.allocate(width, height);
//Shaderファイルの読込み
shader.load("shader");
//ランダムに周波数の配列を生成
for (int i = 0; i < NUM; i++) {
freq[i] = ofRandom(4.0, 10.0);
}
}
GLSL (Shader)
‣ openFrameworks: testApp.cpp
#include "testApp.h"

!

//波の数
static const int NUM = 20;
//Shaderへ渡す周波数の配列
float freq[NUM];

!

void testApp::setup(){
//Shaderの画面サイズ設定
width = 400;
height = 300;
fbo.allocate(width, height);
//Shaderファイルの読込み
shader.load("shader");
//ランダムに周波数の配列を生成
for (int i = 0; i < NUM; i++) {
freq[i] = ofRandom(4.0, 10.0);
}
}
GLSL (Shader)
‣ openFrameworks: testApp.cpp
void testApp::draw(){
//Shaderパラメータ設定
float resolution[] = {width, height};
float mousePoint[] = {mouse.x, mouse.y};
float time = ofGetElapsedTimef();
//FBO開始
fbo.begin();
shader.begin();
//Shaderに渡す値(時間、解像度、マウスの位置)
shader.setUniform1f("time", time);
shader.setUniform2fv("resolution", resolution);
shader.setUniform2fv("mouse", mousePoint);
//freqの配列をShaderに渡す

!

shader.setUniform1fv("freq", freq, NUM);
//画面全体に描画する
ofRect(0, 0, ofGetWidth(), ofGetHeight());
shader.end();
fbo.end();
fbo.draw(0, ofGetHeight(), ofGetWidth(), -ofGetHeight());

}
GLSL (Shader)
‣ 折り重なる様々な周波数のSin波
SuperCollider
SuperCollider Basics

‣ Sup
SuperCollider Basics
‣ SuperColliderとは?
‣ リアルタイムな音響合成やアルゴリズミック・コンポジション
のためのプログラミング言語
‣ SmallTalkライクなオブジェクト指向言語
‣ リアルタイムに音響を生成できる → ライブコーディング!
SuperCollider Basics
‣ 1996年にJames McCartneyによりリリース
‣ James McCartneyの就職(Apple!)などの事情で、オープソース
として公開
‣ 現在は、GPLライセンスとして多くの開発者により更新されて
いる
SuperCollider Basics
‣ 参考図書:The SuperCollider Book
‣ Wilson, S., Cottle, D. and Collins, N. (eds). 2011. The
SuperCollider Book. Cambridge, MA: MIT Press
SuperCollider Basics
‣ Website: http://supercollider.sourceforge.net/
SuperCollider Basics
‣ SuperColliderをダウンロード
‣ 最新版は、version 3.6.5 (2013年10月現在)
‣ http://supercollider.sourceforge.net/downloads/
The SuperCollider Language
‣ SuperColliderの独特な文法
‣ Smalltalkのオブジェクト指向な言語構造と、C言語系の制御構
造などの機能を足したような感じ
// print "Hello world!"!
"Hello world!".postln;!
// play a mixture of an 800 Hz sine tone and pink noise!
{ SinOsc.ar(800, 0, 0.1) + PinkNoise.ar(0.01) }.play;!
// modulate a sine frequency and a noise amplitude with another sine!
// whose frequency depends on the horizontal mouse pointer position!
{ !
var x = SinOsc.ar(MouseX.kr(1, 100));!
SinOsc.ar(300 * x + 800, 0, 0.1) !
+ !
PinkNoise.ar(0.1 * x + 0.1) !
}.play;!
// list iteration: multiply the elements of a collection by their indices!
[1, 2, 5, 10, -3].collect { !
arg elem, idx;!
elem * idx;!
};!
// factorial function!
f = {!
arg x;!
if(x == 0) { 1 } { f.(x-1) * x }!
};
The SuperCollider Language
‣ 冒頭のドローン系の音を解説
‣ 楽器はこんな感じ - 1.5倍の比率でノコギリ波を重ねている
//楽器基本
SynthDef("col_closesaw", {
arg fadeTime = 10, n = 0, rq = 0.3, detune = 0.001, base = 20,
ratio = 1.5, harm = 1.5, amp = 0.2, gate=0;
var lfo, env, out;
env = EnvGen.kr(Env.new([0,1], [fadeTime], 'sine'));
lfo = SinOsc.ar(rrand(0.03, 0.05), 0, 100, 600);
out = Saw.ar([base+detune.rand, base+detune.rand]
* (ratio ** n)) * amp
+ Saw.ar([base*harm+detune.rand, base*harm+detune.rand]
* (ratio ** n)) * amp;
out = out * env;
out = RLPF.ar(out, lfo * (1.5 ** n), rq).clip2 * 0.5;
out = out * EnvGen.kr(Env.adsr(releaseTime:20), gate,
doneAction: 2);
Out.ar(0, out);
}).store;
The SuperCollider Language
‣ 演奏してみる
‣ …ちょっと味気ない
Synth("col_closesaw",["n", 1, "gate", 1]);
The SuperCollider Language
‣ エフェクトを加えてみる
‣ オールパス・フィルタを幾重にも重ねていく
!

SynthDef("col_closefx", {
arg lpf=440, rq=0.5, amp=0.8;
var in, out;
in = In.ar(0, 2);
12.do({ in = AllpassL.ar(in, 0.1, LFNoise2.kr([rrand(0.0,
0.1),rrand(0.0, 0.1)],0.01,0.06), 4.0) });
out = CompanderD.ar(in) * amp;
ReplaceOut.ar(0, out);
}).store;
The SuperCollider Language
‣ エフェクト付きで演奏してみる
‣ ぐっと深みが増した
Synth("col_closefx");
Synth("col_closesaw",["n", 0, "gate", 1]);
The SuperCollider Language
‣ どんどん倍音を足していく
‣ ある値を境に、突然非線形に歪んでドラマチックな展開へ
Synth("col_closesaw",["n",
Synth("col_closesaw",["n",
Synth("col_closesaw",["n",
Synth("col_closesaw",["n",
Synth("col_closesaw",["n",
Synth("col_closesaw",["n",
Synth("col_closesaw",["n",
Synth("col_closesaw",["n",
Synth("col_closesaw",["n",
Synth("col_closesaw",["n",
Synth("col_closesaw",["n",
...

1, "gate", 1]);
2, "gate", 1]);
3, "gate", 1]);
4, "gate", 1]);
5, "gate", 1]);
6, "gate", 1]);
7, "gate", 1]);
8, "gate", 1]);
9, "gate", 1]);
10, "gate", 1]);
11, "gate", 1]);
まとめ
まとめ
‣ 駆け足で、それぞれの要素を解説してきた

映像

音

openFrameworks

SuperCollider

GLSL
まとめ
‣ openFrameworks
‣ SuperCollider
‣ GLSL
!

‣ どれもフリーウェア
‣ ネットで調べると、情報もたくさん

SuperCollider

!

‣ 適材適所で開発環境を使い分け

GLSL
まとめ
‣ 今後も様々な情報を交換していきましょう!!

SuperCollider

GLSL

More Related Content

What's hot

openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001Teruaki Tsubokura
 
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションメディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションAtsushi Tadokoro
 
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようAtsushi Tadokoro
 
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望Atsushi Tadokoro
 
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworkscoma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworksAtsushi Tadokoro
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるデジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるAtsushi Tadokoro
 
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)Takashi Yoshinaga
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!Atsushi Tadokoro
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションAtsushi 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
 
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
 
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BopenFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BAtsushi Tadokoro
 
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 2
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 2BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 2
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 2Atsushi Tadokoro
 
openFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶopenFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶAtsushi Tadokoro
 
UniRxことはじめ
UniRxことはじめUniRxことはじめ
UniRxことはじめShoichi Yasui
 
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法Hiroshi Yoshida
 
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Masahiko Mizuta
 
基礎からのCode Contracts
基礎からのCode Contracts基礎からのCode Contracts
基礎からのCode ContractsYoshifumi Kawai
 
怪しいWindowsプログラミング
怪しいWindowsプログラミング怪しいWindowsプログラミング
怪しいWindowsプログラミングnagoya313
 

What's hot (19)

openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001
 
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーションメディア・アートII  第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
 
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめよう
 
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
 
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworkscoma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworks
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくるデジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
 
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
ARコンテンツ作成勉強会:C#ではじめようOpenCV(カラートラッキング編)
 
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 3: アドオンを作ろう!
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
 
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
 
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BopenFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
 
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 2
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 2BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 2
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 2
 
openFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶopenFrameworkとCityCompilerでバーチャルとリアルを結ぶ
openFrameworkとCityCompilerでバーチャルとリアルを結ぶ
 
UniRxことはじめ
UniRxことはじめUniRxことはじめ
UniRxことはじめ
 
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
 
Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門Androidプログラミング初心者のためのゲームアプリ開発入門
Androidプログラミング初心者のためのゲームアプリ開発入門
 
基礎からのCode Contracts
基礎からのCode Contracts基礎からのCode Contracts
基礎からのCode Contracts
 
怪しいWindowsプログラミング
怪しいWindowsプログラミング怪しいWindowsプログラミング
怪しいWindowsプログラミング
 

Similar to coma Creators session vol.2

Android OpenGL HandsOn
Android OpenGL HandsOnAndroid OpenGL HandsOn
Android OpenGL HandsOnIkuo Tansho
 
簡単!OpenGL ES 2.0フラグメントシェーダー
簡単!OpenGL ES 2.0フラグメントシェーダー簡単!OpenGL ES 2.0フラグメントシェーダー
簡単!OpenGL ES 2.0フラグメントシェーダーEiji Kamiya
 
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」nyagasuki
 
FiltersでGLSLを楽しく学んじゃおう!
FiltersでGLSLを楽しく学んじゃおう!FiltersでGLSLを楽しく学んじゃおう!
FiltersでGLSLを楽しく学んじゃおう!Kazuya Hiruma
 
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3Masahiro Wakame
 
こんにちはGroovy
こんにちはGroovyこんにちはGroovy
こんにちはGroovyirof N
 
㉑CSSでアニメーション!その2
㉑CSSでアニメーション!その2㉑CSSでアニメーション!その2
㉑CSSでアニメーション!その2Nishida Kansuke
 
Swiftのアプリ開発でハマったこと
Swiftのアプリ開発でハマったことSwiftのアプリ開発でハマったこと
Swiftのアプリ開発でハマったことyohei sugigami
 
EmacsとGlossでお絵描きしてみるよ
EmacsとGlossでお絵描きしてみるよEmacsとGlossでお絵描きしてみるよ
EmacsとGlossでお絵描きしてみるよKiwamu Okabe
 
シェーダー伝道師 第一回
シェーダー伝道師 第一回シェーダー伝道師 第一回
シェーダー伝道師 第一回hixi365
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス5mingame2
 
7 lines glsl graphics compo
7 lines glsl graphics compo7 lines glsl graphics compo
7 lines glsl graphics compoToru Matsuoka
 
Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法yhara
 
zxでシェルスクリプトから逃げよう ~javascriptでシェルを書く~
zxでシェルスクリプトから逃げよう ~javascriptでシェルを書く~zxでシェルスクリプトから逃げよう ~javascriptでシェルを書く~
zxでシェルスクリプトから逃げよう ~javascriptでシェルを書く~techan555
 
kyotolisp#1 LT3 美しいLispの書き方 (1)
kyotolisp#1 LT3 美しいLispの書き方 (1)kyotolisp#1 LT3 美しいLispの書き方 (1)
kyotolisp#1 LT3 美しいLispの書き方 (1)hayato_hashimoto
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)parrotstudio
 
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!Yuichi Higuchi
 
p5.js 授業テキスト
p5.js 授業テキストp5.js 授業テキスト
p5.js 授業テキストSuzuki Junko
 

Similar to coma Creators session vol.2 (20)

Android OpenGL HandsOn
Android OpenGL HandsOnAndroid OpenGL HandsOn
Android OpenGL HandsOn
 
簡単!OpenGL ES 2.0フラグメントシェーダー
簡単!OpenGL ES 2.0フラグメントシェーダー簡単!OpenGL ES 2.0フラグメントシェーダー
簡単!OpenGL ES 2.0フラグメントシェーダー
 
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
 
Gocon2013
Gocon2013Gocon2013
Gocon2013
 
FiltersでGLSLを楽しく学んじゃおう!
FiltersでGLSLを楽しく学んじゃおう!FiltersでGLSLを楽しく学んじゃおう!
FiltersでGLSLを楽しく学んじゃおう!
 
ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3ng-japan 2015 TypeScript+AngularJS 1.3
ng-japan 2015 TypeScript+AngularJS 1.3
 
こんにちはGroovy
こんにちはGroovyこんにちはGroovy
こんにちはGroovy
 
㉑CSSでアニメーション!その2
㉑CSSでアニメーション!その2㉑CSSでアニメーション!その2
㉑CSSでアニメーション!その2
 
Swiftのアプリ開発でハマったこと
Swiftのアプリ開発でハマったことSwiftのアプリ開発でハマったこと
Swiftのアプリ開発でハマったこと
 
EmacsとGlossでお絵描きしてみるよ
EmacsとGlossでお絵描きしてみるよEmacsとGlossでお絵描きしてみるよ
EmacsとGlossでお絵描きしてみるよ
 
シェーダー伝道師 第一回
シェーダー伝道師 第一回シェーダー伝道師 第一回
シェーダー伝道師 第一回
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
 
7 lines glsl graphics compo
7 lines glsl graphics compo7 lines glsl graphics compo
7 lines glsl graphics compo
 
Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法Javascriptで無限ループを実現する5つの方法
Javascriptで無限ループを実現する5つの方法
 
zxでシェルスクリプトから逃げよう ~javascriptでシェルを書く~
zxでシェルスクリプトから逃げよう ~javascriptでシェルを書く~zxでシェルスクリプトから逃げよう ~javascriptでシェルを書く~
zxでシェルスクリプトから逃げよう ~javascriptでシェルを書く~
 
kyotolisp#1 LT3 美しいLispの書き方 (1)
kyotolisp#1 LT3 美しいLispの書き方 (1)kyotolisp#1 LT3 美しいLispの書き方 (1)
kyotolisp#1 LT3 美しいLispの書き方 (1)
 
Sencha study
Sencha studySencha study
Sencha study
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
 
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!
 
p5.js 授業テキスト
p5.js 授業テキストp5.js 授業テキスト
p5.js 授業テキスト
 

More from 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
 
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
 
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
 
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5  時間構造をつくるInteractive Music II SuperCollider入門 5  時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくるAtsushi Tadokoro
 
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現するiTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現するAtsushi Tadokoro
 
メディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描くメディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描くAtsushi Tadokoro
 
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 -  楽器を定義、変調合成(RM, AM, FM)Interactive Music II SuperCollider入門 4 -  楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)Atsushi Tadokoro
 
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するiTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するAtsushi Tadokoro
 

More from 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
 
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
 
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
 
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5  時間構造をつくるInteractive Music II SuperCollider入門 5  時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくる
 
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現するiTamabi 13  第7回:ARTSAT API 実践 2 衛星の情報で表現する
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
 
メディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描くメディア芸術基礎 II Canvas + Javascriptで図形を描く
メディア芸術基礎 II Canvas + Javascriptで図形を描く
 
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 -  楽器を定義、変調合成(RM, AM, FM)Interactive Music II SuperCollider入門 4 -  楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
 
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得するiTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13  第6回:ARTSAT API 実践 1 Web APIから情報を取得する
 

Recently uploaded

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 

Recently uploaded (9)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 

coma Creators session vol.2