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
930
D言語+KinectでD言語君を動かす
#CombGig
pandaman64
April 12, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
100
RailsのPull requestsのレビューの時に私が考えていること
yahonda
5
2.7k
[PyCon Korea 2024 Keynote] 커뮤니티와 파이썬, 그리고 우리
beomi
0
120
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
110
みんなでプロポーザルを書いてみた
yuriko1211
0
190
Realtime API 入門
riofujimon
0
140
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
d_endo
1
1.1k
GCCのプラグインを作る / I Made a GCC Plugin
shouth
1
160
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
160
C++でシェーダを書く
fadis
6
3.9k
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
240
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
24
12k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Thoughts on Productivity
jonyablonski
67
4.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Ruby is Unlike a Banana
tanoku
96
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
Six Lessons from altMBA
skipperchong
26
3.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Code Review Best Practice
trishagee
64
17k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
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でも可能かも