Enviar pesquisa
Carregar
openFrameworks基礎 動きを生みだす、アニメーション入門 - 芸大グラフィックスプログラミング演習B
•
12 gostaram
•
14,085 visualizações
Atsushi Tadokoro
Seguir
Tecnologia
Negócios
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 45
Baixar agora
Baixar para ler offline
Recomendados
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Atsushi Tadokoro
openFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートII
openFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートII
Atsushi Tadokoro
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
Atsushi Tadokoro
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
Atsushi Tadokoro
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
Atsushi Tadokoro
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくる
Atsushi Tadokoro
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Atsushi Tadokoro
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Atsushi Tadokoro
Recomendados
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Atsushi Tadokoro
openFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートII
openFrameworks 動きを生みだす様々なアルゴリズム - 多摩美メディアアートII
Atsushi Tadokoro
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
Atsushi Tadokoro
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
Atsushi Tadokoro
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
Atsushi Tadokoro
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくる
Atsushi Tadokoro
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Atsushi Tadokoro
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Atsushi Tadokoro
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門
Atsushi Tadokoro
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
祐司 伊藤
Design by contractとホーア論理
Design by contractとホーア論理
Takuya Matsunaga
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
Masayuki Wakizaka
証明プログラミング超入門
証明プログラミング超入門
Kyoko Kadowaki
はじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTracking
Takashi Yoshinaga
Nreal Lightハンズオン
Nreal Lightハンズオン
Takashi Yoshinaga
Qgis2.18 基礎編
Qgis2.18 基礎編
Jyun Tanaka
大画面 e-Paperでどハマりした話
大画面 e-Paperでどハマりした話
Hitoshi Kikuchi
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
Marp Tutorial
Marp Tutorial
Rui Watanabe
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
MorioImai
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Daisuke Morishita
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
Toshiharu Sugiyama
GeoPackageを使ってみた(おざき様)
GeoPackageを使ってみた(おざき様)
OSgeo Japan
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
SmartARの使い方(基本編)
SmartARの使い方(基本編)
Takashi Yoshinaga
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
yohhoy
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
Atsushi Tadokoro
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめよう
Atsushi Tadokoro
Mais conteúdo relacionado
Mais procurados
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門
Atsushi Tadokoro
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
祐司 伊藤
Design by contractとホーア論理
Design by contractとホーア論理
Takuya Matsunaga
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
Masayuki Wakizaka
証明プログラミング超入門
証明プログラミング超入門
Kyoko Kadowaki
はじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTracking
Takashi Yoshinaga
Nreal Lightハンズオン
Nreal Lightハンズオン
Takashi Yoshinaga
Qgis2.18 基礎編
Qgis2.18 基礎編
Jyun Tanaka
大画面 e-Paperでどハマりした話
大画面 e-Paperでどハマりした話
Hitoshi Kikuchi
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
Marp Tutorial
Marp Tutorial
Rui Watanabe
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
MorioImai
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Daisuke Morishita
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
Toshiharu Sugiyama
GeoPackageを使ってみた(おざき様)
GeoPackageを使ってみた(おざき様)
OSgeo Japan
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
SmartARの使い方(基本編)
SmartARの使い方(基本編)
Takashi Yoshinaga
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
yohhoy
Mais procurados
(20)
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
Design by contractとホーア論理
Design by contractとホーア論理
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
証明プログラミング超入門
証明プログラミング超入門
はじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTracking
Nreal Lightハンズオン
Nreal Lightハンズオン
Qgis2.18 基礎編
Qgis2.18 基礎編
大画面 e-Paperでどハマりした話
大画面 e-Paperでどハマりした話
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Marp Tutorial
Marp Tutorial
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
GeoPackageを使ってみた(おざき様)
GeoPackageを使ってみた(おざき様)
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
SmartARの使い方(基本編)
SmartARの使い方(基本編)
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
Mais de Atsushi Tadokoro
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
Atsushi Tadokoro
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめよう
Atsushi Tadokoro
Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2
Atsushi Tadokoro
coma Creators session vol.2
coma Creators session vol.2
Atsushi Tadokoro
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1
Atsushi Tadokoro
Interactive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
Atsushi Tadokoro
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の連携
Atsushi Tadokoro
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)
Atsushi Tadokoro
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
Atsushi Tadokoro
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
Atsushi Tadokoro
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
Atsushi Tadokoro
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Atsushi Tadokoro
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
Atsushi Tadokoro
Tamabi media131118
Tamabi media131118
Atsushi Tadokoro
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 - ライブコーディング 1
Atsushi Tadokoro
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
Atsushi Tadokoro
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の連携 -2
coma Creators session vol.2
coma Creators session vol.2
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
Interactive Music II Processing基本
Interactive Music II Processing基本
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
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)
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
Tamabi media131118
Tamabi media131118
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
openFrameworks基礎 動きを生みだす、アニメーション入門 - 芸大グラフィックスプログラミング演習B
1.
2.
‣ ‣ ‣ ‣ ‣ ‣ ‣
3.
4.
‣ ‣
setup( ) update( ) draw( )
5.
‣ ‣
setup( ) update( ) draw( )
6.
‣ ‣
setup( ) update( ) draw( )
7.
‣ ‣
setup( ) update( ) draw( )
8.
‣ ‣
setup( ) update( ) draw( )
9.
‣ ‣ ‣
10.
11.
‣ ‣ ‣ ‣ ‣ ‣
12.
‣ #pragma once #include "ofMain.h" class
testApp : public ofBaseApp{ ! public: ! void setup(); ! void update(); ! void draw(); ! ! ofVec2f pos; // ( ) };
13.
‣ #pragma once #include "ofMain.h" class
testApp : public ofBaseApp{ ! public: ! void setup(); ! void update(); ! void draw(); ! ! ofVec2f pos; // ( ) }; setup, update, draw
14.
‣ #include "testApp.h" void testApp::setup(){ !
ofSetFrameRate(60);! // 60 (fps) ! ofBackgroundHex(0x000000); // ! // ! pos.x = ofGetWidth()/2; ! pos.y = ofGetHeight()/2; } void testApp::update(){ ! // ! pos.x += 4.0; //pos.x = pos.x + 3.0 ! pos.y += 3.0; //pos.y = pos.y + 4.0 } void testApp::draw(){ ! ofSetHexColor(0x3399ff); // ! ofCircle(pos.x, pos.y, 20);! // }
15.
‣ #include "testApp.h" void testApp::setup(){ !
ofSetFrameRate(60);! // 60 (fps) ! ofBackgroundHex(0x000000); // ! // ! pos.x = ofGetWidth()/2; ! pos.y = ofGetHeight()/2; } void testApp::update(){ ! // ! pos.x += 4.0; //pos.x = pos.x + 3.0 ! pos.y += 3.0; //pos.y = pos.y + 4.0 } void testApp::draw(){ ! ofSetHexColor(0x3399ff); // ! ofCircle(pos.x, pos.y, 20);! // }
16.
‣
17.
‣ ‣
ofGetWidth() 0 ofGetHeight()
18.
‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣
19.
‣ ‣ if (
) { }
20.
‣ if (pos.x >
ofGetWidth()) {pos.x = 0;} // if (pos.x < 0) {pos.x = ofGetWidth();} // if (pos.y > ofGetHeight()) {pos.y = 0;} // if (pos.y < 0) {pos.y = ofGetHeight();} //
21.
‣ #include "testApp.h" void testApp::setup(){ !
ofSetFrameRate(60); ! ofBackgroundHex(0x000000); ! pos.x = ofGetWidth()/2; ! pos.y = ofGetHeight()/2; } void testApp::update(){ ! pos.x += 4.0; ! pos.y += 3.0; ! if (pos.x > ofGetWidth()) {pos.x = 0;} // ! if (pos.x < 0) {pos.x = ofGetWidth();} // ! if (pos.y > ofGetHeight()) {pos.y = 0;} // ! if (pos.y < 0) {pos.y = ofGetHeight();} // } void testApp::draw(){ ! ofSetHexColor(0x3399ff); ! ofCircle(pos.x, pos.y, 20); }
22.
‣
23.
24.
‣ ‣ ‣
25.
‣ ‣
(0, 0)
26.
‣ ‣
(0, 0)
27.
‣ ‣ ‣
28.
‣ ‣ ‣ ‣
29.
‣ #pragma once #include "ofMain.h" class
testApp : public ofBaseApp{ ! public: ! void setup(); ! void update(); ! void draw(); ! ! float angle; // };
30.
‣ #include "testApp.h" void testApp::setup(){ !
ofSetFrameRate(60);! // 60 (fps) ! ofBackgroundHex(0x000000); // ! // ! ofSetRectMode(OF_RECTMODE_CENTER); } void testApp::update(){ ! angle += 10; // } void testApp::draw(){ ! // ! ofTranslate(ofGetWidth()/2, ofGetHeight()/2); ! ofRotateZ(angle); // ! // ! ofSetHexColor(0x3399ff); ! ofRect(0, 0, 200, 200); }
31.
‣
32.
‣ ‣ ‣ ‣ ‣
33.
‣ #pragma once #include "ofMain.h" class
testApp : public ofBaseApp{ ! public: ! void setup(); ! void update(); ! void draw(); ! ! float angle; // };
34.
‣ #include "testApp.h" void testApp::setup(){ !
ofSetFrameRate(60);! // 60 (fps) ! ofSetVerticalSync(true); // ! ofBackgroundHex(0x000000); // ! ofEnableBlendMode(OF_BLENDMODE_ADD);// } void testApp::update(){ ! angle += 10; // }
35.
‣ void testApp::draw(){ ! // !
ofTranslate(ofGetWidth()/2, ofGetHeight()/2); ! ofRotateZ(angle); // ! ofPushMatrix(); // ! ! // 1 ! ofSetHexColor(0xff0000); ! ofCircle(80, 0, 100); ! ofRotateZ(120); // ! // 2 ! ofSetHexColor(0x00ff00); ! ofCircle(80, 0, 100); ! ofRotateZ(120); // ! // 3 ! ofSetHexColor(0x0000ff); ! ofCircle(80, 0, 100); ! ! ofPopMatrix(); // }
36.
‣
37.
‣ ‣ ‣
38.
‣ #include "testApp.h" void testApp::setup(){ !
ofSetFrameRate(60);! // 60 (fps) ! ofSetVerticalSync(true); // ! ofBackgroundHex(0x000000); // ! ofEnableBlendMode(OF_BLENDMODE_ADD);// ! ofSetCircleResolution(64); // } void testApp::update(){ ! angle += mouseY / 4.0; // Y }
39.
‣ void testApp::draw(){ ! // !
ofTranslate(ofGetWidth()/2, ofGetHeight()/2); ! ofRotateZ(angle); // ! ofPushMatrix(); // ! ! // 1 ! ofSetHexColor(0xff0000); ! ofCircle(mouseX / 3.0, 0, 300 - mouseX / 6.0); ! ofRotateZ(120); // ! // 2 ! ofSetHexColor(0x00ff00); ! ofCircle(mouseX / 3.0, 0, 300 - mouseX / 6.0); ! ofRotateZ(120); // ! // 3 ! ofSetHexColor(0x0000ff); ! ofCircle(mouseX / 3.0, 0, 300 - mouseX / 6.0); ! ! ofPopMatrix(); // }
40.
‣
41.
‣ ‣
42.
‣ ‣ ‣
43.
‣ void testApp::draw(){ ! // !
ofTranslate(ofGetWidth()/2, ofGetHeight()/2); ! ofRotateX(mouseY); ! ofRotateZ(angle); ! ofPushMatrix(); ! ofSetHexColor(0xff0000); ! ofCircle(mouseX / 3.0, 0, 300 - mouseX / 6.0); ! ofRotateZ(120); ! ofSetHexColor(0x00ff00); ! ofCircle(mouseX / 3.0, 0, 300 - mouseX / 6.0); ! ofRotateZ(120); ! ofSetHexColor(0x0000ff); ! ofCircle(mouseX / 3.0, 0, 300 - mouseX / 6.0); ! ! ofPopMatrix(); }
44.
‣
45.
‣ ‣ ‣ ‣ ‣ ‣
Baixar agora