私はAndroidを使用しており、中心を中心に点(A)を回転させようとしていますが、それが私の中心を空間内の他の点(B)に接続する線に属している場合にのみ停止します。
ポイント座標は次のようなものです: pointX = 45.123456f , pointY = 21.654321f , ポイント B は動いていません.
実行中のスレッド内でこのコードを使用しています:
pointAX = (float) (centerX + ray*Math.cos(SPEED*time));
pointAY = (float) (centerY + ray*Math.sin(SPEED*time));
canvas.drawCircle(pointAX,pointAY, 2, paint);
time++;
弾道は本当に良く、アニメーションは十分に滑らかです。ラインに最も近い位置でポイントを停止するにはどうすればよいですか? このコードを使用していますが、機能しません:
if(pointAY/pointAX == pointBY/pointBX){
stop();
}
小数点以下 3 桁または 4 桁のみを使用して値を丸めようとしても、点は線から離れすぎた場所で停止します。