これは難しい三角問題ではないが、悲しいことに私は数学的に遅れていることを知っている。既知の角度に沿って既知の距離を描く
既知の開始点から未知の終了点までの既知の角度に沿って50ピクセルの線を描画する必要があります。角度は開始点(400,400)とマウスクリックから得られます。線はマウスクリックに向かって描画する必要がありますが、クリックに向かって50ピクセルしか描画されません。
私は広範囲にgoogle'dして、いくつかの解決策を見出しましたが、それは私のために一緒に来ていません。ここで
は、私は角度を取得しています方法です。:
float angle = (float) Math.toDegrees(Math.atan2(400 - event.getY(), 400 - event.getX()));
float angleInDegrees = (angle + 270) % 360;
「イベント」マウスクリックです。
float endX = 250 + 50 * (float)Math.cos(angleInDegrees);
float endY 250 + 50 * (float)Math.sin(angleInDegrees);
line.setStartX(400);
line.setStartY(400);
line.setEndX(endX);
line.setEndY(endY);
私が見つけたものはすべてMath.cosとMath.sinの周りを回っていますが、まだそれは得られません。問題はラジアンをシーン座標にマッピングすることに関連していると思いますが、わかりません。だから人々は、どのように私はばかですか?私はどんな助けにも感謝しています。
ありがとうございました!これは完全に機能しました。この答えは、角度をつけて回っていた方がはるかに意味がありました。 – user1198765