1. package javanige.math;
  2.  
  3. import java.awt.Point;
  4. import java.awt.geom.Point2D;
  5.  
  6. public class MathUnit {
  7.  //二点の座標から角度を求める
  8.  //double 角度 = Math.atan2( ( 点2X - 点1X ), ( 点2Y - 点1Y ) ) * 180 / Math.PI ;
  9.  //12時方向を0度とし、時計回りに角度が増加していく。
  10.  public static double pointToAngle( Point p1, Point p2 ){
  11.   //double angle = java.lang.Math.atan2( ( p2.x - p1.x ), ( p2.y - p1.y ) ) * 180 / java.lang.Math.PI;
  12.   double angle = Math.toDegrees(Math.atan2(p2.x - p1.x, p2.y - p1.y));
  13. return angle;
  14.  }
  15.  
  16.  //角度から進行方向を計算する(x軸とy軸の移動量計算)
  17.  //double rad = Math.toRadians( 角度 )
  18.  //x = Math.sin(rad) * スピードまたは移動量
  19.  //Y = Math.cos(rad) * スピードまたは移動量
  20.  public static Point2D.Double angleToPoint( double angle ){
  21.   double rad = Math.toRadians( angle );
  22.   double x = Math.sin(rad);
  23.   double y = Math.cos(rad);
  24.   Point2D.Double p = new Point2D.Double( x, y );
  25.   return p;
  26.  }
  27. }

タグ:

+ タグ編集
  • タグ:
最終更新:2012年01月27日 02:39