/// <summary> /// 计算该点和其他两点组成的三角形的顺序 /// </summary> public PolygonSymbol SetSymbol(PolygonPoint2D last, PolygonPoint2D next) { Vector2 ab = this.point - last.point; Vector2 ac = next.point - last.point; // Vector2 ab = last.point - this.point; //Vector2 ac = next.point - this.point; float v = MathUtils.Cross_2d(ab, ac); if (v > 0) { symbol = PolygonSymbol.Negative; } else if (v == 0) { symbol = PolygonSymbol.Line; } else { symbol = PolygonSymbol.Positive; } return(symbol); }
public PolygonPoint2D(PolygonPoint2D point2D) { this.point = point2D.point; this.index = point2D.index; }