Suche senden
Hochladen
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
•
1 gefällt mir
•
1,877 views
Atsushi Tadokoro
Folgen
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 25
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
Atsushi Tadokoro
iTamabi 13 第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13 第6回:ARTSAT API 実践 1 Web APIから情報を取得する
Atsushi Tadokoro
iTamabi 13 第5回:ARTSAT API 導入
iTamabi 13 第5回:ARTSAT API 導入
Atsushi Tadokoro
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
Atsushi Tadokoro
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
Atsushi Tadokoro
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Atsushi Tadokoro
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
Atsushi Tadokoro
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
Atsushi Tadokoro
Empfohlen
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
Atsushi Tadokoro
iTamabi 13 第6回:ARTSAT API 実践 1 Web APIから情報を取得する
iTamabi 13 第6回:ARTSAT API 実践 1 Web APIから情報を取得する
Atsushi Tadokoro
iTamabi 13 第5回:ARTSAT API 導入
iTamabi 13 第5回:ARTSAT API 導入
Atsushi Tadokoro
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
Atsushi Tadokoro
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
デジタルアートセミナー#2 openFrameworksで学ぶ、 クリエイティブ・コーディング Session 2: 構造をつくる
Atsushi Tadokoro
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Atsushi Tadokoro
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
Atsushi Tadokoro
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
メディア・アートII 第2回 openFrameworks基礎 配列、くりかえし、乱数 ベクトルを使用したアニメーション
Atsushi Tadokoro
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Atsushi Tadokoro
Slide
Slide
Takefumi MIYOSHI
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Takefumi MIYOSHI
Interactive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
Atsushi Tadokoro
衛星芸術Pbl 2011 10_11
衛星芸術Pbl 2011 10_11
Koichiro Mori
衛星芸術Pbl 2011 10_18
衛星芸術Pbl 2011 10_18
Koichiro Mori
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Atsushi Tadokoro
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
Atsushi Tadokoro
自作saoriの紹介
自作saoriの紹介
wizstargaer
Synthesijer hls 20150116
Synthesijer hls 20150116
Takefumi MIYOSHI
Makerの「道具」としてのカスタムLSI
Makerの「道具」としてのカスタムLSI
Junichi Akita
async/await のしくみ
async/await のしくみ
信之 岩永
Glfw3,OpenGL,GUI
Glfw3,OpenGL,GUI
hira_kuni_45
Boost.Coroutine
Boost.Coroutine
melpon
Continuation with Boost.Context
Continuation with Boost.Context
Akira Takahashi
Common LispでGPGPU
Common LispでGPGPU
gos-k
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
Tsuyoshi Yamamoto
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
Noritada Shimizu
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Atsushi Tadokoro
VerilatorとSystemC
VerilatorとSystemC
Mr. Vengineer
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
Fujio Kojima
Unit test in android
Unit test in android
Tatsuya Maki
Weitere ähnliche Inhalte
Was ist angesagt?
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Atsushi Tadokoro
Slide
Slide
Takefumi MIYOSHI
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Takefumi MIYOSHI
Interactive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
Atsushi Tadokoro
衛星芸術Pbl 2011 10_11
衛星芸術Pbl 2011 10_11
Koichiro Mori
衛星芸術Pbl 2011 10_18
衛星芸術Pbl 2011 10_18
Koichiro Mori
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Atsushi Tadokoro
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
Atsushi Tadokoro
自作saoriの紹介
自作saoriの紹介
wizstargaer
Synthesijer hls 20150116
Synthesijer hls 20150116
Takefumi MIYOSHI
Makerの「道具」としてのカスタムLSI
Makerの「道具」としてのカスタムLSI
Junichi Akita
async/await のしくみ
async/await のしくみ
信之 岩永
Glfw3,OpenGL,GUI
Glfw3,OpenGL,GUI
hira_kuni_45
Boost.Coroutine
Boost.Coroutine
melpon
Continuation with Boost.Context
Continuation with Boost.Context
Akira Takahashi
Common LispでGPGPU
Common LispでGPGPU
gos-k
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
Tsuyoshi Yamamoto
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
Noritada Shimizu
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Atsushi Tadokoro
VerilatorとSystemC
VerilatorとSystemC
Mr. Vengineer
Was ist angesagt?
(20)
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Slide
Slide
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Interactive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
衛星芸術Pbl 2011 10_11
衛星芸術Pbl 2011 10_11
衛星芸術Pbl 2011 10_18
衛星芸術Pbl 2011 10_18
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
メディア・アートII 第3回 openFrameworks基礎 OOoF : オブジェクト指向 oF
自作saoriの紹介
自作saoriの紹介
Synthesijer hls 20150116
Synthesijer hls 20150116
Makerの「道具」としてのカスタムLSI
Makerの「道具」としてのカスタムLSI
async/await のしくみ
async/await のしくみ
Glfw3,OpenGL,GUI
Glfw3,OpenGL,GUI
Boost.Coroutine
Boost.Coroutine
Continuation with Boost.Context
Continuation with Boost.Context
Common LispでGPGPU
Common LispでGPGPU
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
「Grails-1.1を斬る!〜Grails-1.1からのチーム開発〜」
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
VerilatorとSystemC
VerilatorとSystemC
Ähnlich wie iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
Fujio Kojima
Unit test in android
Unit test in android
Tatsuya Maki
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
Yuki Takei
traceur-compilerで ECMAScript6を体験
traceur-compilerで ECMAScript6を体験
Toshio Ehara
Android Lecture #03 @PRO&BSC Inc.
Android Lecture #03 @PRO&BSC Inc.
Yuki Higuchi
GDG DevFest 2020 Android data linkage info
GDG DevFest 2020 Android data linkage info
tsutomuhayakawa
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
Koji Ishimoto
Data api workshop at Co-Edo
Data api workshop at Co-Edo
Yuji Takayama
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
Yuji Kubota
Ajax 応用
Ajax 応用
Katsuyuki Seino
Vue.js 3.0で搭載される Composition APIをざっくりと
Vue.js 3.0で搭載される Composition APIをざっくりと
YuichirouWakugami
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
Yuji Takayama
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
Taisuke Fukuno
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Shotaro Suzuki
Roslyn による Visual Studio のアドイン
Roslyn による Visual Studio のアドイン
Fujio Kojima
Swift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswift
Tomohiro Kumagai
Gdg geo2
Gdg geo2
Kentaro Ishimaru
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-
Kazunari Hara
Java初心者勉強会(2015/08/07)資料
Java初心者勉強会(2015/08/07)資料
Toshio Ehara
GoCon2016 spring 自作Webフレームワーク uconを作った話
GoCon2016 spring 自作Webフレームワーク uconを作った話
Masahiro Wakame
Ähnlich wie iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
(20)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
Unit test in android
Unit test in android
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
traceur-compilerで ECMAScript6を体験
traceur-compilerで ECMAScript6を体験
Android Lecture #03 @PRO&BSC Inc.
Android Lecture #03 @PRO&BSC Inc.
GDG DevFest 2020 Android data linkage info
GDG DevFest 2020 Android data linkage info
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
Data api workshop at Co-Edo
Data api workshop at Co-Edo
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
Ajax 応用
Ajax 応用
Vue.js 3.0で搭載される Composition APIをざっくりと
Vue.js 3.0で搭載される Composition APIをざっくりと
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Roslyn による Visual Studio のアドイン
Roslyn による Visual Studio のアドイン
Swift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswift
Gdg geo2
Gdg geo2
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-
Java初心者勉強会(2015/08/07)資料
Java初心者勉強会(2015/08/07)資料
GoCon2016 spring 自作Webフレームワーク uconを作った話
GoCon2016 spring 自作Webフレームワーク uconを作った話
Mehr von 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 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
メディア芸術基礎 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
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
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
Atsushi Tadokoro
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Atsushi Tadokoro
Geidai music131107
Geidai music131107
Atsushi Tadokoro
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくる
Atsushi Tadokoro
Mehr von 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 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)
メディア芸術基礎 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
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 衛星アプリを企画する
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Interactive Music II SuperCollider実習 オリジナルの楽器を作ろう!
Geidai music131107
Geidai music131107
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくる
iTamabi 13 第7回:ARTSAT API 実践 2 衛星の情報で表現する
1.
iTamabi 13 第6回:ARTSAT API
実践 2 衛星の情報で表現する 2013年10月28日 多摩美術大学 PBL科目 担当:田所 淳
2.
今日の内容 ‣ ARTSAT API -
WebAPIから送出されるデータの意味につ いて ‣ APIから取得した数値で表現してみる ‣ ディスカッション:衛星の数値を、どう表現するか?
3.
先週のプログラムの 復習 APIの全ての内容を表示する サンプル
4.
先週のプログラムの復習 ‣ testApp.mm #include "testApp.h" ! void testApp::setup(){ ofBackground(224); ofSetFrameRate(30); //
ARTSAT WebAPIにアクセスしてJSONデータを取得 bool result = response.open("http://api.artsat.jp/web/v2/invader/ sensor_data.json"); // 取得結果をコンソールに出力 if (!result) { // もし取得できなかったら、エラーを出力 cout << "faild to get JSON data!" << endl; } else { // 取得に成功したら、JSONデータを出力 cout << response.getRawString() << endl; } } ! void testApp::update(){ ! }
5.
先週のプログラムの復習 ‣ testApp.mm void testApp::draw(){ ofSetColor(63); int lineHeigt
= 15; ! // 取得した時間を表示 string available_time = response["results"][0] ["closest_available_time_iso_string"].asString(); ofDrawBitmapString(available_time, 10, lineHeigt*1); // センサーの全てのメンバー名を取得 ofxJSONElement::Members mem = response["results"][0] ["sensors"].getMemberNames(); // メンバーごとにセンサーの値をとりだして、画面に表示 for (int i = 0; i < mem.size(); i++) { string lavel = mem[i]; float value = response["results"][0]["sensors"][mem[i]] ["value"].asFloat(); ofDrawBitmapString(lavel + " = " + ofToString(value), 10, lineHeigt * (i + 3)); } }
6.
取得された値について
7.
取得された値について ‣ 表示される値 (ax, ay,
az, mx, my, mz …etc.) ‣ これらは何を意味するのか? ‣ 衛星が取得したセンサーの値
8.
取得された値について ‣ センサーの値の意味 センサー名 センサーの意味 lat latitude : 緯度 lon longitude
: 経度 alt altitude : 高度 ax, ay, az 衛星の角速度 (x, y, z軸) px, py, pz 衛星の姿勢角度 (x, y, z軸) mx, my, mz 磁気センサー (x, y, z軸) tpx, tmx 太陽電池の温度 (+x面、-x面) tpy, tmy 太陽電池の温度 (+y面、-y面) tpy, tmy 太陽電池の温度 (+z面、-z面) tin 温度 (内部)
9.
取得された値について ‣ センサーの値の意味 センサー名 センサーの意味 epx, emx 太陽電池発電量 (+x面、-x面) epy,
emy 太陽電池発電量 (+y面、-y面) epz, emz 太陽電池発電量 (+z面、-z面)
10.
取得された値で表現する
11.
取得された値で表現する ‣ これらの値を用いて、アプリで表現する ‣ どんな値を、何に用いれば良いのか?
12.
取得された値で表現する ‣ サンプル 1 :
角速度で表現する ‣ 取得した角速度をもとに、3Dのオブジェクトを動かす ‣ 実際に宇宙にいる衛星の動きを実感できるかも(?)
13.
取得された値で表現する ‣ 角速度を取得 - testApp.h #pragma
once ! #include #include #include #include ! "ofMain.h" "ofxiOS.h" "ofxiOSExtras.h" "ofxJSONElement.h" class testApp : public ofxiOSApp{ public: void void void void setup(); update(); draw(); exit(); void void void void void touchDown(ofTouchEventArgs & touch); touchMoved(ofTouchEventArgs & touch); touchUp(ofTouchEventArgs & touch); touchDoubleTap(ofTouchEventArgs & touch); touchCancelled(ofTouchEventArgs & touch); void void void void lostFocus(); gotFocus(); gotMemoryWarning(); deviceOrientationChanged(int newOrientation); ofxJSONElement response; ofVec3f angleSpeed; };
14.
取得された値で表現する ‣ 角速度を取得 - testApp.mm #include
"testApp.h" ! void testApp::setup(){ ofBackground(224); ofSetFrameRate(30); // ARTSAT WebAPIにアクセスしてJSONデータを取得 bool result = response.open("http://api.artsat.jp/web/v2/invader/sensor_data.json"); // 取得結果をコンソールに出力 if (!result) { // もし取得できなかったら、エラーを出力 cout << "faild to get JSON data!" << endl; } else { // 取得に成功したら、JSONデータを出力 cout << response.getRawString() << endl; angleSpeed.x = response["results"][0]["sensors"]["ax"]["value"].asFloat(); angleSpeed.y = response["results"][0]["sensors"]["ay"]["value"].asFloat(); angleSpeed.z = response["results"][0]["sensors"]["az"]["value"].asFloat(); } } ! void ! } testApp::update(){
15.
取得された値で表現する ‣ 角速度を取得 - testApp.mm ! void
testApp::draw(){ // 取得した角速度を表示 ofSetColor(31); ofDrawBitmapString("angle speed x = " + ofToString(angleSpeed.x, 8), 10, 15); ofDrawBitmapString("angle speed y = " + ofToString(angleSpeed.y, 8), 10, 30); ofDrawBitmapString("angle speed z = " + ofToString(angleSpeed.z, 8), 10, 45); }
16.
取得された値で表現する ‣ 角速度が取得できた
17.
取得された値で表現する ‣ 次に、この角速度で3Dオブジェクトを実際の速度で回転 させてみたい ‣ まずは立方体で
18.
取得された値で表現する ‣ openFrameworksで立方体を描く方法 // 立方体のプリミティブ ofBoxPrimitive box; ! //
位置を指定して、立方体を描く box.setPosition(x, y, z); box.draw();
19.
取得された値で表現する ‣ 角速度の単位は、deg/sec つまり一秒間に変化する角度 ‣ アプリケーションを実行してからの時間に、角速度をかけ 算すれば、角度(degree)が計算できる ! ‣ アプリケーションを実行してからの時間を求める方法 // プログラムが開始してからの時間を求める float
sec = ofGetElapsedTimef();
20.
取得された値で表現する ‣ testApp.h #pragma once ! #include #include #include #include ! "ofMain.h" "ofxiOS.h" "ofxiOSExtras.h" "ofxJSONElement.h" class testApp
: public ofxiOSApp{ public: void void void void setup(); update(); draw(); exit(); … (中略) … ofxJSONElement response; ofVec3f angleSpeed; ofLight light; ofEasyCam cam; };
21.
取得された値で表現する ‣ testApp.mm #include "testApp.h" ! void testApp::setup(){ ofBackground(0); ofSetFrameRate(60); //
ARTSAT WebAPIにアクセスしてJSONデータを取得 bool result = response.open("http://api.artsat.jp/web/v2/invader/sensor_data.json"); // 取得結果をコンソールに出力 if (!result) { // もし取得できなかったら、エラーを出力 cout << "faild to get JSON data!" << endl; } else { // 取得に成功したら、JSONデータを出力 cout << response.getRawString() << endl; // 角速度を取得 } angleSpeed.x = response["results"][0]["sensors"]["ax"]["value"].asFloat(); angleSpeed.y = response["results"][0]["sensors"]["ay"]["value"].asFloat(); angleSpeed.z = response["results"][0]["sensors"]["az"]["value"].asFloat(); // 3D表示設定 } ofEnableDepthTest(); ofEnableLighting(); light.setPosition(200, 300, 50); light.enable();
22.
取得された値で表現する ‣ testApp.mm void testApp::update(){ ! } ! void testApp::draw(){ ofVec3f
angle = angleSpeed * ofGetElapsedTimef(); // カメラ開始 ! cam.begin(); // 回転 ofPushMatrix(); ofRotateX(ofRadToDeg(angle.x)); ofRotateY(ofRadToDeg(angle.y)); ofRotateZ(ofRadToDeg(angle.z)); // 立方体を描く ! } ofBoxPrimitive box; box.draw(); ofPopMatrix(); // カメラ終了 cam.end();
23.
取得された値で表現する ‣ 宇宙空間で回転する衛星を再現
24.
ディスカッション
25.
ディスカッション ‣ INVADERのデータから、何が表現できるか ‣ パラメータと、それを表現する手法について話し合う ‣ 「衛星芸術」の可能性について
Jetzt herunterladen