Exemple #1
0
 public static RPoint GetMiddle(RPoint pt1, RPoint pt2)
 {
     return(new RPoint((pt1.X + pt2.X) / 2, (pt1.Y + pt2.Y) / 2));
 }
Exemple #2
0
 /**
  * pt에서 index에 해당하는 waypoint 라인까지의 거리
  * pt가 waypoint 진행방향의 왼쪽에 있으면 마이너스 값을 리턴한다.
  */
 public static double GetDistanceToWaypoint(RPoint pt, List <RPoint> waypoints, (int prev, int next) index)
Exemple #3
0
 // 이 점과 pt가 이루는 각도를 리턴한다.
 public double GetAngle(RPoint pt)
 {
     double radian = Math.Atan2(pt.Y - this.Y, pt.X - this.X);
     return radian * 180 / Math.PI;
 }
Exemple #4
0
 /**
  * 현재 점이 lpt1, lpt2를 잇는 선의 왼쪽에 있는지 판단한다.
  */
 public bool IsLeftOfLine(RPoint lpt1, RPoint lpt2)
 {
     var d = (X - lpt1.X) * (lpt2.Y - lpt1.Y) - (Y - lpt1.Y) * (lpt2.X - lpt1.X);
     return d < 0;
 }
Exemple #5
0
 public double DistanceTo(RPoint pt)
 {
     var vec = pt - this;
     return Math.Sqrt(vec.X * vec.X + vec.Y * vec.Y);
 }