SlideShare a Scribd company logo
1 of 75
Download to read offline
メディア芸術基礎 II

Canvas + Javascriptで図形を描く
2013年10月28日、 11月11日
多摩美術大学 情報デザイン学科メディア芸術コース
担当:田所淳
今日の内容
‣ 前回のjQueryから、さらに一歩進んで、HTML5の世界へ

!
‣ HTML5のcanvas要素をつかってみる
‣ canvas要素:プラグインを使用せずに、ブラウザに直接、図
形やアニメーションを描くことができる

!
‣ canvasの準備
‣ 簡単な図形を描く
‣ 色の設定
‣ くりかえしを使って、たくさんの図形を描画する
サンプルファイルのダウンロード
‣ 紹介したサンプルファイルは、全て以下からダウンロードして
ください

‣http://goo.gl/3cqyL
Canvasとは?
図形やアニメーションを描くには?
‣ これまでの方法
‣ 静止した図形を表示:GIFやJpeg、PNGなどの画像を外部ファ
イルを読み込んでimg要素で表示

Webブラウザ

img要素

外部ファイル
GIF・Jpeg
PNG など
図形やアニメーションを描くには?
‣ アニメーションや変化する図形を描くには?
‣ Flash Playerや、Java Appletなど外部プラグインを利用

Webブラウザ

プラグイン
外部プログラム
Flashなど
図形やアニメーションを描くには?
‣ HTML5からは、プラグインを用いずに直接ブラウザに図形や
アニメーションを表示できるようになった
‣ canvas要素にJavaScriptで描画する

Webブラウザ

!
!

JavaScriptで

!

直接描画

canvas要素
Canvasとは
‣ anvas要素はスクリプト(一般的に JavaScript)を使って図形を
描くために使われる新しいHTML要素
‣ 元々はMac OS X v10.4の内部でWebKitコンポーネントとして
Appleが開発
‣ HTML5で、新しい標準規格として標準化
Canvasとは
‣ ブラウザの対応状況
‣ Internet Explorer 9、Mozilla Firefox、Google Chrome、
Safari、Operaなど全ての主要ブラウザの最新版で実装済み

!
‣ IEの8以前のバージョンは未対応だが、サポートするための外
部ライブラリが開発されている

‣ ExplorerCanvas
canvas要素の書式
‣ canvas要素の書式自身は、img要素とよく似ている

!
‣ 例:幅400pix、高さ300pixのcanvas要素を追加する

!
<canvas
!
!

id="example" width="400" height="300"></canvas>

‣ canvas要素のid属性:
‣ Javascriptなどのスクリプトで、どのcanvas要素に対して処理
を行うのかを特定する際に必要
‣ anvas要素を使用する際には常にid属性を付けてユニークな(一
意な)名称を指定する
‣ このサンプルの場合は「example」
canvasの準備 ‒ 基本テンプレート
canvas要素の書式
‣ まず、ベースとなるHTMLを用意する (index.html)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" charset="utf-8" />
<title>Canvas Example</title>
<script src="canvasexample.js"></script>
<style type="text/css">
canvas { border: 1px solid #999; }
</style>
</head>
<body>
<canvas id="example" width="400" height="300"></canvas>
</body>
</html>
canvas要素の書式
‣ まず、ベースとなるHTMLを用意する (index.html)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" charset="utf-8" />
<title>Canvas Example</title>
<script src="canvasexample.js"></script>
<style type="text/css">
描画の命令を記述した
canvas { border: 1px solid #999; }
JavaScript
</style>
</head>
<body>
<canvas id="example" width="400" height="300"></canvas>
</body>
</html>
canvas要素の書式
‣ まず、ベースとなるHTMLを用意する (index.html)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" charset="utf-8" />
<title>Canvas Example</title>
<script src="canvasexample.js"></script>
<style type="text/css">
canvas { border: 1px solid #999; }
</style>
CSSでCanvas要素の
</head>
周囲に枠線を描画
<body>
<canvas id="example" width="400" height="300"></canvas>
</body>
</html>
canvas要素の書式
‣ まず、ベースとなるHTMLを用意する (index.html)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" charset="utf-8" />
<title>Canvas Example</title>
<script src="canvasexample.js"></script>
<style type="text/css">
canvas { border: 1px solid #999; }
</style>
</head>
<body>
<canvas id="example" width="400" height="300"></canvas>
</body>
※表示のためのCanvas要素
</html>
canvas要素の書式
‣ Canvasに図形を描画するためのJavascirptテンプレート
onload = function() {
draw();
};

!

function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
};
canvas要素の書式
‣ Canvasに図形を描画するためのJavascirptテンプレート
onload = function() {
draw();
ページの読込が完了したら、draw()を実行
};

!

function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
};
canvas要素の書式
‣ Canvasに図形を描画するためのJavascirptテンプレート
onload = function() {
draw();
};

!

function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext)からcanvas要素を抽出し、
id名( example ) {
return false;
変数 canvas に格納
}
var ctx = canvas.getContext('2d');
};
canvas要素の書式
‣ Canvasに図形を描画するためのJavascirptテンプレート
onload = function() {
draw();
};

!

function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) { canvasに対応していない
return false;
ブラウザのための処理
}
var ctx = canvas.getContext('2d');
};
canvas要素の書式
‣ Canvasに図形を描画するためのJavascirptテンプレート
onload = function() {
draw();
};

!

function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
};

2D図形描画のためのコンテキストを抽出し、
変数 ctx に格納
canvas要素の書式
‣ 実行結果:描画のためのcanvas領域が確保される
基本図形を描画する 1 - 矩形
基本図形を描画する 1 - 矩形
‣ 生成したcanvas要素の内部に、Javascriptを記述して簡単な図
形を描画してみる

!
‣ まずは、矩形(長方形)から

!
‣ canvasでは矩形を描くための3つの関数が用意されている

!
‣ fillRect(x,y,width,height) : 塗られた矩形を描く
‣ strokeRect(x,y,width,height) : 矩形の輪郭を描く
‣ clearRect(x,y,width,height) : 指定された領域を消去

!
‣ 実際にやってみよう!!
基本図形を描画する 1 - 矩形
‣ canvasexample.js に命令を追加
onload = function() {
draw();
};

!

function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.fillRect(50,50,540,400);
ctx.clearRect(80,80,400,300);
ctx.strokeRect(240,20,200,300);
};
基本図形を描画する 1 - 矩形
‣ canvasexample.js に命令を追加
onload = function() {
draw();
};

!

function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.fillRect(50,50,540,400);
※追加した部分
ctx.clearRect(80,80,400,300);
ctx.strokeRect(240,20,200,300);
};
基本図形を描画する 1 - 矩形
‣ 実行結果:3種類の矩形を表示
基本図形を描画する 2 - パス(直線)を描く
基本図形を描画する 2 - パス(直線)を描く
‣ canvasでは、一つのまとまった図形を描けるのは矩形だけ
‣ 他の図形を描くには、複数のパス(線)を組み合わせて作る

!
‣ パスを使用して図形を描くための命令
‣ beginPath() ‒ パスの開始
‣ closePath() ‒ パスを閉じる
‣ stroke() ‒ 線でパスを描く
‣ fill() ‒ 塗り潰しでパスを描く
‣ moveTo(x, y) ‒ パスの始点を移動する

!
‣ やってみよう!!
基本図形を描画する 2 - パス(直線)を描く
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo(50,50);
ctx.lineTo(500,400);
ctx.lineTo(200,380);
ctx.closePath();
ctx.stroke();
ctx.beginPath();
ctx.moveTo(50,400);
ctx.lineTo(300,20);
ctx.lineTo(520,50);
ctx.closePath();
ctx.fill();
};
基本図形を描画する 2 - パス(直線)を描く
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo(50,50);
ctx.lineTo(500,400);
ctx.lineTo(200,380);
ctx.closePath();
ctx.stroke();
ctx.beginPath();
ctx.moveTo(50,400);
ctx.lineTo(300,20);
ctx.lineTo(520,50);
ctx.closePath();
ctx.fill();
};

※輪郭線による描画
基本図形を描画する 2 - パス(直線)を描く
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo(50,50);
ctx.lineTo(500,400);
ctx.lineTo(200,380);
ctx.closePath();
ctx.stroke();
ctx.beginPath();
ctx.moveTo(50,400);
ctx.lineTo(300,20);
ctx.lineTo(520,50);
ctx.closePath();
ctx.fill();
};

※塗りつぶしによる描画
基本図形を描画する 2 - パス(直線)を描く
‣ 実行結果:直線の組み合わせによる図形
基本図形を描画する 3 - 円弧や円を描く
基本図形を描画する 3 - 円弧や円を描く
‣ 円弧や円を描くために arc メソッドを使う

!
‣ 基本的な書式は以下の通り

!
arc(x,
!
!

y, radius, startAngle, endAngle, anticlockwise);

‣ x, y:円の中心座標
‣ radius:半径
‣ startAngle, endAngle:円弧の始まりと終点をラジアン角で定
義 (ラジアン:0∼2πで一周する角度の単位)
‣ anticlockwise:円弧を描く回転方向を指定
基本図形を描画する 3 - 円弧や円を描く
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.arc(320,240,200,0,Math.PI*2,false);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,160,0,Math.PI*1.5,false);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,120,Math.PI*0.25,Math.PI*1.0,true);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,40,0,Math.PI*2.0,true);
ctx.fill();
};
基本図形を描画する 3 - 円弧や円を描く
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.arc(320,240,200,0,Math.PI*2,false);
ctx.stroke();

※円弧1

ctx.beginPath();
ctx.arc(320,240,160,0,Math.PI*1.5,false);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,120,Math.PI*0.25,Math.PI*1.0,true);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,40,0,Math.PI*2.0,true);
ctx.fill();
};
基本図形を描画する 3 - 円弧や円を描く
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.arc(320,240,200,0,Math.PI*2,false);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,160,0,Math.PI*1.5,false);
ctx.stroke();

※円弧2

ctx.beginPath();
ctx.arc(320,240,120,Math.PI*0.25,Math.PI*1.0,true);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,40,0,Math.PI*2.0,true);
ctx.fill();
};
基本図形を描画する 3 - 円弧や円を描く
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.arc(320,240,200,0,Math.PI*2,false);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,160,0,Math.PI*1.5,false);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,120,Math.PI*0.25,Math.PI*1.0,true);
ctx.stroke();

※円弧3

ctx.beginPath();
ctx.arc(320,240,40,0,Math.PI*2.0,true);
ctx.fill();
};
基本図形を描画する 3 - 円弧や円を描く
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.arc(320,240,200,0,Math.PI*2,false);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,160,0,Math.PI*1.5,false);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,120,Math.PI*0.25,Math.PI*1.0,true);
ctx.stroke();
ctx.beginPath();
ctx.arc(320,240,40,0,Math.PI*2.0,true);
ctx.fill();
};

※円弧4
基本図形を描画する 3 - 円弧や円を描く
‣ 実行結果:円弧と円の組み合わせによる描画
基本図形を描画する 4 - 色の設定
基本図形を描画する 4 - 色の設定
‣ 色を図形に適用するためのプロパティは以下の3つ
‣ fillStyle ‒ 塗りの色
‣ strokeStyle ‒ 線の色
‣ globalAlpha ‒ 透明度

!
‣ 色は、CSSなどで使用する16進数によるRGB値で指定する
基本図形を描画する 4 - 色の設定
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.globalAlpha = 0.5;
ctx.beginPath();
ctx.fillStyle = '#3399FF';
ctx.arc(260,240,160,0,Math.PI*2.0,true);
ctx.fill();
ctx.beginPath();
ctx.fillStyle = '#FF9933';
ctx.arc(400,240,160,0,Math.PI*2.0,true);
ctx.fill();
};
基本図形を描画する 4 - 色の設定
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.globalAlpha = 0.5;

※全体の透明度の設定

ctx.beginPath();
ctx.fillStyle = '#3399FF';
ctx.arc(260,240,160,0,Math.PI*2.0,true);
ctx.fill();
ctx.beginPath();
ctx.fillStyle = '#FF9933';
ctx.arc(400,240,160,0,Math.PI*2.0,true);
ctx.fill();
};
基本図形を描画する 4 - 色の設定
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.globalAlpha = 0.5;
ctx.beginPath();
※円1
ctx.fillStyle = '#3399FF';
ctx.arc(260,240,160,0,Math.PI*2.0,true);
ctx.fill();
ctx.beginPath();
ctx.fillStyle = '#FF9933';
ctx.arc(400,240,160,0,Math.PI*2.0,true);
ctx.fill();
};
基本図形を描画する 4 - 色の設定
‣ canvasexample.js の draw()関数に追加
function draw(){
var canvas = document.getElementById('example');
if ( !canvas || !canvas.getContext ) {
return false;
}
var ctx = canvas.getContext('2d');
ctx.globalAlpha = 0.5;
ctx.beginPath();
ctx.fillStyle = '#3399FF';
ctx.arc(260,240,160,0,Math.PI*2.0,true);
ctx.fill();

※円2

ctx.beginPath();
ctx.fillStyle = '#FF9933';
ctx.arc(400,240,160,0,Math.PI*2.0,true);
ctx.fill();
};
基本図形を描画する 4 - 色の設定
‣ 実行結果:2色の半透明の円
まとめ
‣
‣
‣
‣

Canvasについて
canvas要素の書式
描画のためのJavascriptのテンプレート
基本図形の描画
‣ 矩形
‣ 直線
‣ 円弧
‣ 色
jsdo.itをつかってCanvasアニメーション
jsdo.it とは何か?
‣ jsdo.it (http://jsdo.it/)
jsdo.it とは何か?
‣
‣
‣
‣
‣

面白法人カヤックが運営する、コードコミュニティ
登録は無料
HTML5、JavaScript、CSSなどのオンラインエディター
コードをオンラインに保存、公開
投稿されたコードをもとに、自分なりのアレンジを加えて新し
い作品をつくる → Fork
jsdo.it にユーザ登録
jsdo.it にユーザ登録
‣ まずは、ユーザ登録しましょう
‣ 登録は無料
‣ Google、Facebook、Twitter、Yahoo、Linkedin、Github、
OpenID どれかのアカウントでログイン可能
jsdo.it にユーザ登録
‣ ユーザ設定画面で、ユーザ名や使用言語、アイコンなど各種設
定をしておく
‣ http://jsdo.it/account
プログラムエディタの起動
プログラムエディタの起動
‣ ヘッダーにある「+ Start Coding」ボタンをおす
‣ プログラムを開発のためのコードエディタが起動
プログラムエディタの起動
‣ ヘッダーにある「+ Start Coding」ボタンをおす
‣ プログラムを開発のためのコードエディタが起動

コードエディター
ここにプログラムを入力
プログラムエディタの起動
‣ ヘッダーにある「+ Start Coding」ボタンをおす
‣ プログラムを開発のためのコードエディタが起動

プログラムの
プレビュー画面
プログラムエディタの起動
‣ ヘッダーにある「+ Start Coding」ボタンをおす
‣ プログラムを開発のためのコードエディタが起動

コンソール
エラー出力など
最初の一歩:Hello World
最初の一歩:Hello World
‣ まずは、はじめの一歩で、画面上に「Hello World」という文
字列を表示するプログラムを作成してみましょう
最初の一歩:Hello World
‣ コードエディタのJavaScriptのタブを選択し、コードを入力
var canvas = document.getElementById('hello');
var ctx = canvas.getContext('2d');

!

ctx.font = "40px sans-serif";
ctx.fillText("Hello World!!", 20, canvas.height / 2);
最初の一歩:Hello World
‣ HTMLタブ
<canvas id="hello" width="465" height="465"></canvas>
最初の一歩:Hello World
‣ CSSタブ
body {
background-color: #ffffff;
margin:0;
padding:0;
}
最初の一歩:Hello World
‣ Save ボタンを押して、 Finish Editing を押す
‣ コードのプレビューをすると、画面に Hello World の文字が
表示される(はず)
Canvasアニメーション
Canvasアニメーション
‣ 先週の内容を復習しながら、簡単なアニメーションを実装
‣ 今回は座標ではなく、円の半径をアニメーションさせてみる
‣ sin関数を使用して、なめらかな動きをつくってみる
Canvasアニメーション
‣ JavaScript
//グローバル変数
var canvas = document.getElementById('hello'); //キャンバス
var ctx = canvas.getContext('2d'); //コンテキスト
var frame; //フレーム番号
var radius; //円の半径

!

onload = function() {
setup();
};

!

//初期設定
function setup(){
frame = 0;
//アニメーションのインターバル設定
setInterval(draw, 1000/60);
}
Canvasアニメーション
‣ JavaScript
//くりかえし描画
function draw(){
//画面の消去
ctx.clearRect(0, 0, canvas.width, canvas.height);
//円の半径を、sin関数でアニメーション
radius = 100 + 100 * Math.sin(frame * 0.1);
//円を描画
ctx.fillStyle = '#3399ff';
ctx.beginPath();
ctx.arc(canvas.width/2, canvas.height/2,
radius, 0, Math.PI*2, true);
ctx.fill();
frame++;
}
Canvasアニメーション
‣ 実行結果:伸び縮みする円のアニメーション
Fork - 共有されているコードをアレンジ
Fork - 共有されているコードをアレンジ
‣ jsdo.it の「Fork」という仕組み
‣ jsdo.itにアップロードされて共有されているプログラムをアレ
ンジして、自分のコードとしてアップできる仕組み
‣ アレンジ元になったコードの履歴が保存される
‣ 何代にもわたってコードをForkしていくことも可能

!
‣ オープンソースコミュニティーのバージョン管理システムの仕
組みを踏襲している (Git、SVN など)
‣ Fork = あるソフトウェアパッケージのソースコードから分岐し
て、別の独立したソフトウェアを開発すること
Fork - 共有されているコードをアレンジ
‣ 花火のテンプレートをFrokしてみる
‣ 田所作成の花火テンプレート(http://jsdo.it/yoppa/1kgU)
‣ 画面下の「Fork」ボタンを押す
Canvasアニメーション
‣ まずはJavaScript冒頭のパラメータをいろいろ変更してみる
//花火パラメーター
var NUM = 2000; //パーティクルの数
var speed = 2.0; //花火の開くスピード
var size = 2.0; //火花の大きさ
var fade = 0.993; //フェードアウトする割合
var gravity = 0.007; //重力の強さ
var length = 4.0; //表示時間(秒)
var color = '#ff3300'; //花火の色
Canvasアニメーション
‣ 自分のオリジナルの花火ができるはず!!

More Related Content

What's hot

Architecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitationArchitecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitationTunisie collège
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料一路 川染
 
WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~Ryosuke Otsuya
 
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門Atsushi Tadokoro
 
Initiation à l'informatique avec windows 7
Initiation à l'informatique avec windows 7Initiation à l'informatique avec windows 7
Initiation à l'informatique avec windows 7Théodoric THEOTISTE
 
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史智啓 出川
 
980115農村再生系列說明會 社區營造
980115農村再生系列說明會 社區營造980115農村再生系列說明會 社區營造
980115農村再生系列說明會 社區營造editor taiwan
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行gree_tech
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14Ryo Suzuki
 
マルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCLマルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCLmaruyama097
 
JavaでCPUを使い倒す! ~Java 9 以降の CPU 最適化を覗いてみる~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
JavaでCPUを使い倒す! ~Java 9 以降の CPU 最適化を覗いてみる~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...JavaでCPUを使い倒す! ~Java 9 以降の CPU 最適化を覗いてみる~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
JavaでCPUを使い倒す! ~Java 9 以降の CPU 最適化を覗いてみる~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...NTT DATA Technology & Innovation
 
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成慎一 古賀
 
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしようYasuhiro Yoshimura
 
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜KLab Inc. / Tech
 
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -zgock
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門NVIDIA Japan
 

What's hot (20)

Architecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitationArchitecture de l'ordinateur Et Systeme d'exploitation
Architecture de l'ordinateur Et Systeme d'exploitation
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~
 
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門
 
Initiation à l'informatique avec windows 7
Initiation à l'informatique avec windows 7Initiation à l'informatique avec windows 7
Initiation à l'informatique avec windows 7
 
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
 
980115農村再生系列說明會 社區營造
980115農村再生系列說明會 社區營造980115農村再生系列說明會 社區營造
980115農村再生系列說明會 社區營造
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
 
Reconnaissance de formes
Reconnaissance de formesReconnaissance de formes
Reconnaissance de formes
 
マルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCLマルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCL
 
JavaでCPUを使い倒す! ~Java 9 以降の CPU 最適化を覗いてみる~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
JavaでCPUを使い倒す! ~Java 9 以降の CPU 最適化を覗いてみる~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...JavaでCPUを使い倒す! ~Java 9 以降の CPU 最適化を覗いてみる~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
JavaでCPUを使い倒す! ~Java 9 以降の CPU 最適化を覗いてみる~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
 
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
開発キックオフ時にマネージャが行うべき11のこと ~Visual Studio Online & TFS 使い始めと HOME 画面の構成
 
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
 
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
 
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
 
レシピの作り方入門
レシピの作り方入門レシピの作り方入門
レシピの作り方入門
 
Atelier Informatique
Atelier InformatiqueAtelier Informatique
Atelier Informatique
 
ZynqMP勉強会
ZynqMP勉強会ZynqMP勉強会
ZynqMP勉強会
 

Viewers also liked

情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描くAtsushi 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の連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Atsushi Tadokoro
 
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望Atsushi Tadokoro
 
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようAtsushi Tadokoro
 
しごとで使うTitanium 第2版
しごとで使うTitanium 第2版しごとで使うTitanium 第2版
しごとで使うTitanium 第2版忠利 花崎
 

Viewers also liked (6)

情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
情報編集(Web) HTML5 実践1 Canvas + Javascriptで図形を描く
 
coma Creators session vol.2
coma Creators session vol.2coma Creators session vol.2
coma Creators session vol.2
 
Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2
 
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
 
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめよう
 
しごとで使うTitanium 第2版
しごとで使うTitanium 第2版しごとで使うTitanium 第2版
しごとで使うTitanium 第2版
 

Similar to メディア芸術基礎 II Canvas + Javascriptで図形を描く

iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!cocopon
 
Creators'night#13 tech#2今井
Creators'night#13 tech#2今井Creators'night#13 tech#2今井
Creators'night#13 tech#2今井Daisuke Imai
 
HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -Toshio Ehara
 
Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門cocopon
 
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようHiroaki Wakamatsu
 
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
 
Chart.jsで簡単にグラフを描画する
Chart.jsで簡単にグラフを描画するChart.jsで簡単にグラフを描画する
Chart.jsで簡単にグラフを描画するiPride Co., Ltd.
 
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門uranishi
 
静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3yaju88
 
背景にCanvasを動かす
背景にCanvasを動かす背景にCanvasを動かす
背景にCanvasを動かすtakashi umezu
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】Yasuhito Yabe
 
何が変わった JavaFX 2.0
何が変わった JavaFX 2.0何が変わった JavaFX 2.0
何が変わった JavaFX 2.0Yuichi Sakuraba
 
Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0Toshiro Shimizu
 

Similar to メディア芸術基礎 II Canvas + Javascriptで図形を描く (20)

Canvas勉強会
Canvas勉強会Canvas勉強会
Canvas勉強会
 
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!
 
Creators'night#13 tech#2今井
Creators'night#13 tech#2今井Creators'night#13 tech#2今井
Creators'night#13 tech#2今井
 
HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -
 
Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
JavaFX 2.0 への誘い
JavaFX 2.0 への誘いJavaFX 2.0 への誘い
JavaFX 2.0 への誘い
 
HTML5 on ASP.NET
HTML5 on ASP.NETHTML5 on ASP.NET
HTML5 on ASP.NET
 
Arctic.js
Arctic.jsArctic.js
Arctic.js
 
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
 
Tamabi media131118
Tamabi media131118Tamabi media131118
Tamabi media131118
 
Chart.jsで簡単にグラフを描画する
Chart.jsで簡単にグラフを描画するChart.jsで簡単にグラフを描画する
Chart.jsで簡単にグラフを描画する
 
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門
 
静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3
 
背景にCanvasを動かす
背景にCanvasを動かす背景にCanvasを動かす
背景にCanvasを動かす
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
 
何が変わった JavaFX 2.0
何が変わった JavaFX 2.0何が変わった JavaFX 2.0
何が変わった JavaFX 2.0
 
Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0
 

More from 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
 
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
 
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
 
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
 
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
 
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLMedia Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLAtsushi 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
 

More from Atsushi Tadokoro (20)

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の連携
 
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 ジオコーディングで衛星の位置を取得
 
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実習 オリジナルの楽器を作ろう!
 
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 衛星の情報で表現する
 
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLMedia Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
 
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)
 

メディア芸術基礎 II Canvas + Javascriptで図形を描く