🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Leap Motion

Leap Motionは、Leap Motionによって開発、販売している、手のジェスチャーでパソコンを操作できるデバイスです。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

1回答

1202閲覧

Java環境におけるleapmotionの右手と左手の判別

TORIMONA

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Leap Motion

Leap Motionは、Leap Motionによって開発、販売している、手のジェスチャーでパソコンを操作できるデバイスです。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2020/12/03 06:24

前提・実現したいこと

javaを使ってleapmotionを利用した仮想タイピングソフト(簡易)を作成しています。
右手左手の各指にそれぞれキーを割り当て、曲がった指に割り振られて文字が入力されるというものです。
各指の判断と割り当てたキーを表示させることはできたのですが、右手と左手の判断ができずどちらの指を曲げても左手の文字が表示されてしまいます。
現在手のX座標が0未満なら左、そうでなければ右という風にプログラムを打とうと考えているのですが、X座標の取り方がわかりません。
どなたかX座標の取得方法、もしくは右手、左手の判別方法を教えていただけないでしょうか?
よろしくお願いします。

発生している問題・エラーメッセージ

該当のソースコード

Java

int getChoice(Hand hand) {
FingerList fingers = hand.fingers(); // FingerList オブジェクトに見つかった指の情報(複数)を入れる
Vector palmPos = hand.palmPosition(); // 手のひらの位置を取得

int typetext=0; //曲げていない状態

for(int i = 0; i < fingers.count(); i++) { // 見つかった全ての指について
Finger finger = fingers.get(i); // 指 i を取得(0:親指, 1:人差し指, 2:中指, 3:薬指, 4:小指)
int x=-5;←「ここをleapmotionから取得したX座標にしたい。現在は仮に5を代入」
if(i==0){
if(finger.isExtended()==false){
typetext=1;
}
}
if(i==1 && x<0){
if(finger.isExtended()==false){
typetext=2;
}
}・・・・

試したこと

isright、isleftというのがあるらしく試してみたがうまくいかなかった。
C#のソースコードは見かけた。

補足情報(FW/ツールのバージョンなど)

processing、LeapSDKを使用。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2020/12/03 06:41

> isright、isleftというのがあるらしく試してみたがうまくいかなかった。 どういうふうに?
TORIMONA

2020/12/07 02:42

組み込み方が分からず、挑戦したがうまく実装できなかったという意味です。 分かりづらくて申し訳ありません。
guest

回答1

0

ベストアンサー

もしくは右手、左手の判別方法

leapmotionは全く触ったことはありませんが、
LeapHand — Leap Motion Java SDK v3.2 documentation
を読む限り

java

1if(hand.isRight()){ 2 // 右のとき 3}else{ 4 // 左のとき 5}

でいいんじゃないですかね?

投稿2020/12/07 02:51

編集2020/12/07 02:54
ozwk

総合スコア13551

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TORIMONA

2020/12/15 04:58

ありがとうございました、無事稼働しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問