ここで興味深い三角問題...
Android 画面の真ん中に円があります。ユーザーが画面に触れた X、Y 座標に基づいて、正の Y 軸から角度を取得する必要があります。
現時点では、高校の幾何学はすべて失敗しています。どんな助けでも大歓迎です。
ありがとうございました!
ここで興味深い三角問題...
Android 画面の真ん中に円があります。ユーザーが画面に触れた X、Y 座標に基づいて、正の Y 軸から角度を取得する必要があります。
現時点では、高校の幾何学はすべて失敗しています。どんな助けでも大歓迎です。
ありがとうございました!
点 x1、y1、および
xc = display.getWidth()/2;
yc = display.getHeight()/2;
次に、 atan2( y1 - yc, x1 - xc) は、図の角度「a」に対応するラジアンで答えます。
あなたが参照する「正のy軸」は、90度の角度、つまりpi / 2ラジアンに対応します。本当に必要なのが「正の y 軸からの角度」である場合は、次の式を使用して、角度から pi/2 を減算し、絶対値を取得する必要があります (y 軸とあなたの間の角度の生の差を取得するため)。
angleInRadiansAwayFromYAxis = Math.abs(Math.atan2(y1 - yc, x1 - xc) - Math.PI/2);
角度 b と a の間の絶対角度差が必要な場合 (つまり、水平の y 軸が角度 0 であると仮定して)、角度を減算するだけです。
angleInRadiansFromYAxis = Math.atan2(y1 - yc, x1 - xc) - Math.PI/2;
負の数が気になる場合は、いつでも Math.PI * 2 で負の結果を取得して、0 と pi*2 の間の正の数を取得できます。