Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
D言語+KinectでD言語君を動かす
Search
pandaman64
April 12, 2014
Programming
0
970
D言語+KinectでD言語君を動かす
#CombGig
pandaman64
April 12, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
250
퇴근 후 1억이 거래되는 서비스 만들기 | 내가 AI를 사용하는 방법
maryang
2
520
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
15
48k
coconala_slide_pop.pdf
yukihito13
0
290
ドメイン駆動設計のエッセンス
masuda220
PRO
15
7.6k
What's New in Web AI?
christianliebel
PRO
0
120
r2-image-worker
yusukebe
1
160
Vue 3.6 時代のリアクティビティ最前線 〜Vapor/alien-signals の実践とパフォーマンス最適化〜
hiranuma
2
420
Dive into Triton Internals
appleparan
0
480
SidekiqでAIに商品説明を生成させてみた
akinko_0915
0
120
SODA - FACT BOOK(JP)
sodainc
1
9.4k
CSC509 Lecture 11
javiergs
PRO
0
300
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
GitHub's CSS Performance
jonrohan
1032
470k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Scaling GitHub
holman
463
140k
Building Applications with DynamoDB
mza
96
6.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
For a Future-Friendly Web
brad_frost
180
10k
Transcript
D言語+Kinectで D言語君を動かす
自己紹介 ・渋谷幕張高校 ・高校3年生 ・@__pandaman64__ ・C++ぺろぺろ Dもかわいいよ !!!const!!! ・OpenCVやKinectかじった
D言語 ・C++の後継言語 ・Walterがつくった ・他の言語から色々な要素を持ち込んで る ・開発コミュニティが活発 v.2.065 ・Github http://github.com/D-Programming- Language/
・D言語のマスコットキャラクター ・公式のトップページに居たが いつの間にか消えた →別のページにいた ・画像自体はまだ残ってる D言語君
D言語君のモデル https://twitter.com/fifth_tea/status/413167874757246976
D言語君のモデル http://qiita.com/yasei_no_otoko/items/e717ef09dce98330cde5
D言語君のモデル http://qiita.com/yasei_no_otoko/items/e717ef09dce98330cde5
D言語で D言語君を動かそう!
どうやって動かす?
D言語君が人の動きと 同期出来たら面白い
D言語+Kinectで D言語君を動かそう!
実演
Kinect is 何
Kinect is 何 ・本来はゲーム用のデバイス ・Mircosoftが2010年から販売 ・赤外線カメラ/プロジェクタで深度(奥行き) がわかる ⇒プレイヤーの位置や動きがわかる! ・今使っているのはKinect for
Xbox 360 ・昨年Kinect Oneが出た
Kinectプログラミング ・2つのKinectライブラリ a.Kinect for Windows SDK b.OpenNI ・どちらもC++ライブラリ ・Kinect for
Windows SDKをD言語から 叩いた
Kinect in D ・Kinect for Windows SDKをラップする Cライブラリを作成 ・D言語からCラッパーライブラリの関数を 呼ぶ
・色々あってx64専用 ・その内公開します
Kinect in D
D言語君を動かす
D言語君を動かす ・モデルは前に紹介したもの ・DXライブラリのDラッパーを使用
D言語君を動かす ・プレイヤーと同じようにD言語君を動かし たい!! ・関節の回転移動をモデルにも適用すれ ばよさそう ・とにかく行列の知識必要 ・↑良く分かって無い ・近いものはできた
実演(もう一回)
まとめ ・D言語→楽しい!! ・Kinect→楽しい!! ・D言語+Kinect →!!!すごい楽しい!!! ※但し数学力が足りない
できてないこと ・2つの関節を連携させながら動かす (肩→肘→手首) ・行列をごにょごにょすればいける(らしい) ・数学に殴られておわり
Q&A
DのC++と比べた長所は? ・ガベージコレクタでメモリ管理が楽、C+ +のRAIIもscope文で実現可能 ・テンプレートメタプログラミングへの言語 の支援が大きく、C++ではできないことが 楽に出来る ・標準ライブラリがC++より豊富 ・レンジベースのアルゴリズム ・JSONやXMLなどを扱える ・正規表現 など
・UFCSというC#のLINQに似た機能によっ てプログラムが書きやすい/読みやすい ・etc..... D言語すごい!
DからCの関数を呼ぶには? ・extern(C)宣言で関数のリンケージをCリ ンケージに設定できます ・extern(C++)もあるけど闇っぽい ・extern(Windows)もある、WinAPIはこれ ・但しdmdはx86でOMFバイナリを吐くので COFFライブラリとはリンクできない、x64な らCOFFを吐ける ・gdcやldcならx86でも可能かも