0

サークルがあるとします。ユーザーは円の端全体に触れることができ、円に触れた角度 (中心から) を取得できます。ここで、円が 8 つのセクションに分割されているとします。

したがって、各セクションで次のようになります。

section 0 = 0 degrees
section 1 = 45 degrees
section 2 = 90 degrees
section 3 = 135 degrees
...
section 7 = 315 degrees

では、触れた角度から、どのようにして最も近い断面角度を取得できますか? たとえば、ユーザーが 95 度でタッチした場合、最も近いセクション角度として 90 度 (セクション 2) を計算できるはずです。

私は実際にAndroid/Javaでこれを行っています。したがって、ユーティリティ関数は役に立ちます。

ありがとう

4

2 に答える 2

1

ジェイコブがコメントですでに指摘したように、セクションはから見つけるround(angle/45)ことができ、床の角度はから見つけることができます45*(round(angle/45))

于 2013-03-19T12:31:23.150 に答える
0

Javaの構文はわかりませんが、次のようにする必要があります

(round((angle/360)*numSections))*360/numSections

angle/numSections の計算は float でなければならず、そのラウンドは整数に丸められなければなりません。1.4 の場合は 1、1.6 の場合は 2 を与える種類のラウンド。さらに、360 を 0 に変換するには、追加の if が必要になる場合があります。

于 2013-03-19T12:26:45.507 に答える