SlideShare ist ein Scribd-Unternehmen logo
1 von 28
OpenGLと行列について narrative nights 株式会社 三好康祐
今回の目標 OpenGLがどうやって表示を行っているかのフローについて理解する 行列のイメージをつかむ Zバッファについて理解する
OpenGLは何をしてくれる? 3次元の座標値をいっぱい与えると しかるべき変換作業を行って 座標変換したり テクスチャ張ったり ライトを当てたり etc… 端末の画面に表示をしてくれる  (=ピクセルを1個ずつプチプチ打ってくれる)
行列 glPushMatrix(),  glPopMatrix(), glMatrixMode() etc.. PROJECTION_MODE, MODELVIEW_MODEって何だろう? 良く出てくるMatrix(=行列)って一体何だろう? 行列ってそもそも何の為に必要なんだろう?
算数での簡単な例 {13, 4,  15,  6,  12,  1, …..,  23} といった様に、適当な数字が10個ある これら1個1個に対して、5倍して3を足した値 それぞれ求めなさい
Javaで書くと int numbers[] = {13, 4, 15, 6, 12, 1,..., 23}; for(int i=0; i<10; ++i) {   int num = numbers[i]; int num2 = num * 5 + 3; System.out.println(num2); }
もう少し難しくした例 {13,4, 15, 6, 12, 1….. 23} という10個の数字があって これら1個1個に対して、 ・5倍して3を足し、 ・その結果を、2倍して、1を引き ・その結果にさらに、4倍して、6を足した結果は?
Javaで書くと int numbers[] = {13, 4, 15, 6, 12, 1,..., 23}; for(int i=0; i<10; ++i) {   int num = numbers[i]; int num2 = num * 5 + 3;   int num3 = num2 * 2 - 1;   int num4 = num3 * 4 + 6; System.out.println(num4); }
[object Object]
 2倍して、1を引き
 4倍して、6を足すa’ = 4 × (2 ×(5 × a + 3) -1) + 6 ↓       a’ = 4 × ((10× a + 6) -1) + 6 ↓       a’ = 40× a + 24 - 4 + 6 ↓       a’ = 40× a + 26
for(int i=0; i<10; ++i) {   int num = numbers[i]; int num2 = num * 5 + 3;   int num3 = num2 * 2 - 1;   int num4 = num3 * 4 + 6; }             for(int i=0; i<10; ++i) {   int num = numbers[i];   int num2 = num * 40 + 26;  } 1回にまとまる!
3Dでの例 8頂点分の座標があったとして float vertex[] = { 	-1.0f, -1.0f,  1.0f, // x,y,z 	 1.0f, -1.0f,  1.0f, 	 1.0f,  1.0f,  1.0f, 	-1.0f,  1.0f,  1.0f, 	 1.0f, -1.0f, -1.0f, 	-1.0f, -1.0f, -1.0f, 	-1.0f,  1.0f, -1.0f, 	 1.0f,  1.0f, -1.0f };
それらの8頂点に対して、 (-1,0,0)だけ移動して x,y,z成分をそれぞれ2倍して X軸を中心に、45度回転させて 回転した状態から(0,5,0)だけ移動したら それぞれの座標値はどこになる?
移動、回転、拡縮といった変換は、それぞれ行列によって表現できる 例) x、y、zをそれぞれ2.0倍する変換 x y Z 1 2 0 0 0 0 2 0 0 0 0 2 0 0 0 0 1 2x 2y 2Z 1 ×
(-1,0,0) 移動 X軸45度回転 (0,5,0)移動 2倍 x y z × × × × x y z × 1個にまとめられる! 現在の複雑な状態が1個の行列で表現できる
OpenGL内の行列 OpenGLは内部に、二つ行列を1個ずつ持っている PROJECTION行列 MODEL_VIEW行列 それぞれ何をする為の行列なんだろう?
gl.glMatrixMode(GL10.GL_PROJECTION);  //↑これから呼び出すMatrix用命令は、PROJECTION 行列に対して行う gl.glLoadIdentity();// 行列を初期化 gl.glFrustumf(-1,1, -1.5, 1.5, 1, 10); gl.glMatrixMode(GL10.GL_MODELVIEW); //↑これから呼び出すMatrix用命令は、MODELVIEW 行列に対して行う gl.glLoadIdentity(); // 行列を初期化 gl.glTranslatef(0, 0, -3.0f); gl.glScalef(0.5f, 0.5f, 0.5f); gl.glRotatef(45, 0, 1, 0); 同じglLoadIdentity()の呼び出しでも意味が違ってくる
PROJECTION行列 Projection = 投影 投影= 3次元上の点を2次元の平面上の点に写す
パース付きPROJECTION行列 glFrustumf()にて行列を生成 パース = 奥行き感 奥行き感 = 遠くの物ほど小さく見せる   どれくらい小さく見せるか、で遠近感を調整
glFrustumf(-1.5f,1.5f, -1.0f, 1.0f, 1.0f, 10.0f); 広角レンズ glFrustumf(-0.75f,0.75f, -0.5f,0.5f, 1.0f, 30.0f); 望遠レンズ 画角が大きい=遠くになるとすぐ小さくなる 画角が小さい=遠く離れてもあまり小さくならない
パース無しPROJECTION行列 glOrthof()で行列を生成 パースが無い = 奥行き感が無い 奥行き感が無い = 遠くに行っても大きさ同じ
パースが無い状態で、真正面から見たら? 2DのUI表示はこの方式で表示している
MODELVIEW行列 モノの位置やカメラの位置を表現する為の行列 gl.glTranslatef(0, 0, -3.0f);// 移動して gl.glScalef(2.0f, 2.0f, 2.0f);  // 拡大して gl.glRotatef(45, 0, 1, 0);      // 回転
glScalef() glTranslatef() glRotatef() x y z × × × x y z × OpenGL内では1個の行列(=MODELVIEW行列) にまとめられている
glPushMatrix()glPopMatrix() 現在のMODELVIEW 行列 (=現在まで掛け合わされた行列の結果)を、 glPushMatrix()で保存 glPopMatrix()で復元
画面に表示されるまで PROJECTION行列 MODELVIEW行列 VIEWPORT変換行列 x’ y’ z’ x y z 画面上の 座標値 × × × ※-1.0~1.0 といった座標系から0~320と いった実際のピクセル単位での座標系に 変換する為の行列
Zバッファ 画面上の各ピクセルの座標値 x’  y’ z’ さっき使わなかった奥行き値=zデプス値だけを全ピクセル分記録している場所がある   =  Zバッファ(depthバッファ)

Weitere ähnliche Inhalte

Was ist angesagt?

glossはおもろい
glossはおもろいglossはおもろい
glossはおもろいkarky7
 
Rの初歩: 6. グラフィックス
Rの初歩:  6. グラフィックスRの初歩:  6. グラフィックス
Rの初歩: 6. グラフィックスTeiko Suzuki
 
The boolean operation for Cubic Bezier
The boolean operation for Cubic BezierThe boolean operation for Cubic Bezier
The boolean operation for Cubic Beziermikanplus
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しようUnity Technologies Japan K.K.
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709swkagami
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708swkagami
 
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解くshindannin
 
数列で学ぶ初めての CommonLisp #fibonacci
数列で学ぶ初めての CommonLisp #fibonacci数列で学ぶ初めての CommonLisp #fibonacci
数列で学ぶ初めての CommonLisp #fibonaccipgf2alpha
 
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNTx86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNTtakesako
 
pre: 数列で学ぶ初めての CommonLisp #fibonacci
pre: 数列で学ぶ初めての CommonLisp #fibonaccipre: 数列で学ぶ初めての CommonLisp #fibonacci
pre: 数列で学ぶ初めての CommonLisp #fibonaccipgf2alpha
 
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスターUnity Technologies Japan K.K.
 
PCD2019 TOKYO ワークショップ「2時間で!Processingでプログラミング入門」
PCD2019 TOKYO ワークショップ「2時間で!Processingでプログラミング入門」PCD2019 TOKYO ワークショップ「2時間で!Processingでプログラミング入門」
PCD2019 TOKYO ワークショップ「2時間で!Processingでプログラミング入門」reona396
 
論理指向とプログラミング2010年度秋学期第9回
論理指向とプログラミング2010年度秋学期第9回論理指向とプログラミング2010年度秋学期第9回
論理指向とプログラミング2010年度秋学期第9回Noritada Shimizu
 
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法nitoyon
 
Popcntによるハミング距離計算
Popcntによるハミング距離計算Popcntによるハミング距離計算
Popcntによるハミング距離計算Norishige Fukushima
 

Was ist angesagt? (20)

glossはおもろい
glossはおもろいglossはおもろい
glossはおもろい
 
Rの初歩: 6. グラフィックス
Rの初歩:  6. グラフィックスRの初歩:  6. グラフィックス
Rの初歩: 6. グラフィックス
 
The boolean operation for Cubic Bezier
The boolean operation for Cubic BezierThe boolean operation for Cubic Bezier
The boolean operation for Cubic Bezier
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
 
会津合宿2015Day3:D問題
会津合宿2015Day3:D問題会津合宿2015Day3:D問題
会津合宿2015Day3:D問題
 
kagamicomput201709
kagamicomput201709kagamicomput201709
kagamicomput201709
 
kagamicomput201708
kagamicomput201708kagamicomput201708
kagamicomput201708
 
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
 
数列で学ぶ初めての CommonLisp #fibonacci
数列で学ぶ初めての CommonLisp #fibonacci数列で学ぶ初めての CommonLisp #fibonacci
数列で学ぶ初めての CommonLisp #fibonacci
 
動的計画法を極める!
動的計画法を極める!動的計画法を極める!
動的計画法を極める!
 
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNTx86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
 
CG2013 08
CG2013 08CG2013 08
CG2013 08
 
pre: 数列で学ぶ初めての CommonLisp #fibonacci
pre: 数列で学ぶ初めての CommonLisp #fibonaccipre: 数列で学ぶ初めての CommonLisp #fibonacci
pre: 数列で学ぶ初めての CommonLisp #fibonacci
 
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター
 
CG2013 09
CG2013 09CG2013 09
CG2013 09
 
PCD2019 TOKYO ワークショップ「2時間で!Processingでプログラミング入門」
PCD2019 TOKYO ワークショップ「2時間で!Processingでプログラミング入門」PCD2019 TOKYO ワークショップ「2時間で!Processingでプログラミング入門」
PCD2019 TOKYO ワークショップ「2時間で!Processingでプログラミング入門」
 
論理指向とプログラミング2010年度秋学期第9回
論理指向とプログラミング2010年度秋学期第9回論理指向とプログラミング2010年度秋学期第9回
論理指向とプログラミング2010年度秋学期第9回
 
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
 
Popcntによるハミング距離計算
Popcntによるハミング距離計算Popcntによるハミング距離計算
Popcntによるハミング距離計算
 
日曜数学会 Ofdm
日曜数学会 Ofdm日曜数学会 Ofdm
日曜数学会 Ofdm
 

Andere mochten auch

Direct xとopenglの隠蔽実装例
Direct xとopenglの隠蔽実装例Direct xとopenglの隠蔽実装例
Direct xとopenglの隠蔽実装例tecopark
 
CS 354 Object Viewing and Representation
CS 354 Object Viewing and RepresentationCS 354 Object Viewing and Representation
CS 354 Object Viewing and RepresentationMark Kilgard
 
Rでの対称行列の固有値・固有ベクトルの最適な求め方
Rでの対称行列の固有値・固有ベクトルの最適な求め方Rでの対称行列の固有値・固有ベクトルの最適な求め方
Rでの対称行列の固有値・固有ベクトルの最適な求め方wada, kazumi
 
The Introduction to Vector Graphics
The Introduction to Vector GraphicsThe Introduction to Vector Graphics
The Introduction to Vector Graphicsemaame
 
今Cinderが熱い! #cinder
今Cinderが熱い! #cinder今Cinderが熱い! #cinder
今Cinderが熱い! #cinderKatsuyaENDOH
 
OpenGL L02-Transformations
OpenGL L02-TransformationsOpenGL L02-Transformations
OpenGL L02-TransformationsMohammad Shaker
 
OpenGL ES2.0 一問一答
OpenGL ES2.0 一問一答OpenGL ES2.0 一問一答
OpenGL ES2.0 一問一答Takashi Komada
 
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)Hiro H.
 
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)Hiro H.
 
ピーFIの研究開発現場
ピーFIの研究開発現場ピーFIの研究開発現場
ピーFIの研究開発現場Yuya Unno
 
Dbts2015 tokyo vector_in_hadoop_vortex
Dbts2015 tokyo vector_in_hadoop_vortexDbts2015 tokyo vector_in_hadoop_vortex
Dbts2015 tokyo vector_in_hadoop_vortexKoji Shinkubo
 
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013Shuyo Nakatani
 
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
深層リカレントニューラルネットワークを用いた日本語述語項構造解析深層リカレントニューラルネットワークを用いた日本語述語項構造解析
深層リカレントニューラルネットワークを用いた日本語述語項構造解析Hiroki Ouchi
 
Excel方眼紙を支えるJava技術 2015
Excel方眼紙を支えるJava技術 2015Excel方眼紙を支えるJava技術 2015
Excel方眼紙を支えるJava技術 2015takezoe
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyoShuyo Nakatani
 
ディープラーニング最新動向と技術情報
ディープラーニング最新動向と技術情報ディープラーニング最新動向と技術情報
ディープラーニング最新動向と技術情報NVIDIA Japan
 
3D描画基礎知識
3D描画基礎知識3D描画基礎知識
3D描画基礎知識AimingStudy
 

Andere mochten auch (20)

OpenGL 3DCG
OpenGL 3DCGOpenGL 3DCG
OpenGL 3DCG
 
Direct xとopenglの隠蔽実装例
Direct xとopenglの隠蔽実装例Direct xとopenglの隠蔽実装例
Direct xとopenglの隠蔽実装例
 
CS 354 Object Viewing and Representation
CS 354 Object Viewing and RepresentationCS 354 Object Viewing and Representation
CS 354 Object Viewing and Representation
 
Rでの対称行列の固有値・固有ベクトルの最適な求め方
Rでの対称行列の固有値・固有ベクトルの最適な求め方Rでの対称行列の固有値・固有ベクトルの最適な求め方
Rでの対称行列の固有値・固有ベクトルの最適な求め方
 
The Introduction to Vector Graphics
The Introduction to Vector GraphicsThe Introduction to Vector Graphics
The Introduction to Vector Graphics
 
今Cinderが熱い! #cinder
今Cinderが熱い! #cinder今Cinderが熱い! #cinder
今Cinderが熱い! #cinder
 
Math1 Vector
Math1 VectorMath1 Vector
Math1 Vector
 
ネイティブ原理主義
ネイティブ原理主義ネイティブ原理主義
ネイティブ原理主義
 
OpenGL L02-Transformations
OpenGL L02-TransformationsOpenGL L02-Transformations
OpenGL L02-Transformations
 
OpenGL ES2.0 一問一答
OpenGL ES2.0 一問一答OpenGL ES2.0 一問一答
OpenGL ES2.0 一問一答
 
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)
STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7回勉強会 (2014.10.18)
 
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
 
ピーFIの研究開発現場
ピーFIの研究開発現場ピーFIの研究開発現場
ピーFIの研究開発現場
 
Dbts2015 tokyo vector_in_hadoop_vortex
Dbts2015 tokyo vector_in_hadoop_vortexDbts2015 tokyo vector_in_hadoop_vortex
Dbts2015 tokyo vector_in_hadoop_vortex
 
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
 
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
深層リカレントニューラルネットワークを用いた日本語述語項構造解析深層リカレントニューラルネットワークを用いた日本語述語項構造解析
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
 
Excel方眼紙を支えるJava技術 2015
Excel方眼紙を支えるJava技術 2015Excel方眼紙を支えるJava技術 2015
Excel方眼紙を支えるJava技術 2015
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 
ディープラーニング最新動向と技術情報
ディープラーニング最新動向と技術情報ディープラーニング最新動向と技術情報
ディープラーニング最新動向と技術情報
 
3D描画基礎知識
3D描画基礎知識3D描画基礎知識
3D描画基礎知識
 

Ähnlich wie OpenGLと行列

プログラミング技法特論第4回
プログラミング技法特論第4回プログラミング技法特論第4回
プログラミング技法特論第4回Noritada Shimizu
 
Processing授業テキスト
Processing授業テキストProcessing授業テキスト
Processing授業テキストSuzuki Junko
 
Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法Nagi Teramo
 
Android OpenGL HandsOn
Android OpenGL HandsOnAndroid OpenGL HandsOn
Android OpenGL HandsOnIkuo Tansho
 
シェーダー伝道師 第二回
シェーダー伝道師 第二回シェーダー伝道師 第二回
シェーダー伝道師 第二回hixi365
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門SatoYu1ro
 
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版dsp_kyoto_2014
 
プログラミング技法特論第8回
プログラミング技法特論第8回プログラミング技法特論第8回
プログラミング技法特論第8回Noritada Shimizu
 
p5.js 授業テキスト
p5.js 授業テキストp5.js 授業テキスト
p5.js 授業テキストSuzuki Junko
 
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
 
動的計画法入門(An introduction to Dynamic Programming)
動的計画法入門(An introduction to Dynamic Programming)動的計画法入門(An introduction to Dynamic Programming)
動的計画法入門(An introduction to Dynamic Programming)kakira9618
 
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編Unity Technologies Japan K.K.
 
【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター 【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター Unity Technologies Japan K.K.
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2Masao Kato
 
20150725 オープンキャンパス資料
20150725 オープンキャンパス資料20150725 オープンキャンパス資料
20150725 オープンキャンパス資料Takeo Kunishima
 
明日機械学習に役立つかもしれない数学
明日機械学習に役立つかもしれない数学明日機械学習に役立つかもしれない数学
明日機械学習に役立つかもしれない数学Yu(u)ki IWABUCHI
 
Metaprogramming in JuliaLang
Metaprogramming in JuliaLangMetaprogramming in JuliaLang
Metaprogramming in JuliaLangYuichi Motoyama
 
RでGISハンズオンセッション
RでGISハンズオンセッションRでGISハンズオンセッション
RでGISハンズオンセッションarctic_tern265
 

Ähnlich wie OpenGLと行列 (20)

プログラミング技法特論第4回
プログラミング技法特論第4回プログラミング技法特論第4回
プログラミング技法特論第4回
 
Processing授業テキスト
Processing授業テキストProcessing授業テキスト
Processing授業テキスト
 
Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法
 
Android OpenGL HandsOn
Android OpenGL HandsOnAndroid OpenGL HandsOn
Android OpenGL HandsOn
 
シェーダー伝道師 第二回
シェーダー伝道師 第二回シェーダー伝道師 第二回
シェーダー伝道師 第二回
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
 
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版
 
Processing
ProcessingProcessing
Processing
 
プログラミング技法特論第8回
プログラミング技法特論第8回プログラミング技法特論第8回
プログラミング技法特論第8回
 
p5.js 授業テキスト
p5.js 授業テキストp5.js 授業テキスト
p5.js 授業テキスト
 
STC-OC2019_1st201906
STC-OC2019_1st201906STC-OC2019_1st201906
STC-OC2019_1st201906
 
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
 
動的計画法入門(An introduction to Dynamic Programming)
動的計画法入門(An introduction to Dynamic Programming)動的計画法入門(An introduction to Dynamic Programming)
動的計画法入門(An introduction to Dynamic Programming)
 
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
 
【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター 【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
 
20150725 オープンキャンパス資料
20150725 オープンキャンパス資料20150725 オープンキャンパス資料
20150725 オープンキャンパス資料
 
明日機械学習に役立つかもしれない数学
明日機械学習に役立つかもしれない数学明日機械学習に役立つかもしれない数学
明日機械学習に役立つかもしれない数学
 
Metaprogramming in JuliaLang
Metaprogramming in JuliaLangMetaprogramming in JuliaLang
Metaprogramming in JuliaLang
 
RでGISハンズオンセッション
RでGISハンズオンセッションRでGISハンズオンセッション
RでGISハンズオンセッション
 

OpenGLと行列