ダーツアプリケーション(草案)

今日は会社の帰り道に考えたアプリの原案について

帰り道にモーションキャプチャのアプリについて考えていたら
前から考えてたダーツアプリに適用できるんじゃね?って思い、
帰宅してすぐに白紙に描き起こして、そのまま画面構成を殴り書きしてみました。

概要はダーツ板を定点カメラでキャプチャし続けて、
ダーツのティップ(先っちょの刺さるとこ)とフライト(後ろの羽)
を黄緑とかの色にして、認識させるというものです。

  • スタート画面

  • キャプチャ画面1.1

パターン1
こんな感じでダーツ板を定点カメラで撮影します。

  • キャプチャ画面1.2

板のあたり判定を行う枠を自動で大まかに生成します。
(どうやって自動的に判断するかはまだ未定)

  • キャプチャ画面1.3

各点をユーザーの手動で調整します。

これでキャプチャ完了

  • キャプチャ画面2.1

パターン2

  • キャプチャ画面2.2

同様に大まかな枠を生成します。

  • キャプチャ画面2.3

手動で調整します。

  • ダーツの判定方法

下のように、フライトの外枠を認識して、内接する円を描画させます。
その円の中心からティップの先端にかけて直線を引くことで、
ダーツとして認識させ、向きなどを含めた判定が出来るかと思います。

主な判定はティップが板のどこにあるか直接判定させますが、
より正確な判定をするために考えてみました。

  • 問題

さて、ココで問題が発生しました。
下のように、矢が完全に重なってしまった場合、
どのようにして判定すればいいんでしょうか?

2本目の矢を判定する際に1本目の矢を除外することで
ある程度は判断できると思っていたんですが、
こんなにキレイに重なってしまうと難しいです。

ハットトリックやスリーインザブラックといった
ど真ん中に3本の矢が密集することなんて
しょっちゅうあるのに、これじゃダメかもしれない。。。

元々は安い電子ダーツ板を買ってきて、それをバラして、マイコンとつなげて、
BluetoothでPCとかスマホにデータを送り、アプリケーションで表示して、自動採点、
成績の蓄積とかを行おうと考えていました。

やはり、カメラ1台では立体視できないので、限界があるかもしれないです。
元々、このアプリ自体はAndroid向けに作成を考えていたので、
カメラ1台でなんとか認識させたいですね。


今後の課題ということで、今日は終わりにしますノシ