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
960
D言語+KinectでD言語君を動かす
#CombGig
pandaman64
April 12, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
Team operations that are not burdened by SRE
kazatohiei
1
290
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
420
Select API from Kotlin Coroutine
jmatsu
1
210
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
290
GoのGenericsによるslice操作との付き合い方
syumai
3
710
5つのアンチパターンから学ぶLT設計
narihara
1
140
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
150
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
170
技術同人誌をMCP Serverにしてみた
74th
1
510
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
620
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
600
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
0
390
Featured
See All Featured
Become a Pro
speakerdeck
PRO
28
5.4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Raft: Consensus for Rubyists
vanstee
140
7k
Thoughts on Productivity
jonyablonski
69
4.7k
Code Reviewing Like a Champion
maltzj
524
40k
We Have a Design System, Now What?
morganepeng
53
7.7k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
4 Signs Your Business is Dying
shpigford
184
22k
Building Adaptive Systems
keathley
43
2.6k
GitHub's CSS Performance
jonrohan
1031
460k
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でも可能かも