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
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
1.9k
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
170
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
290
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
460
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
rage against annotate_predecessor
junk0612
0
170
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
1.8k
私の後悔をAWS DMSで解決した話
hiramax
4
210
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
420
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
1
130
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
A Modern Web Designer's Workflow
chriscoyier
696
190k
Gamification - CAS2011
davidbonilla
81
5.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
A better future with KSS
kneath
239
17k
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でも可能かも