//Kiểm tra giao điểm có phải là cực trị hay không private bool IsExtreme(FloatPoint p1, FloatPoint pIntersection, FloatPoint p2) { //Nếu giao điểm là cực đại hoặc cực tiểu (cực trị) if (pIntersection.Y > p1.Y && pIntersection.Y > p2.Y || pIntersection.Y < p1.Y && pIntersection.Y < p2.Y) { return(true); } return(false); }
//Hệ số góc của một cạnh p1p2 private float SlopeCoefficient(FloatPoint p1, FloatPoint p2) { //Nếu x bằng nhau thì bằng 0. if (p1.X == p2.X) { return(0); } //Ngược lại, tính theo công thức hệ số góc else { return((p2.Y - p1.Y) / (p2.X - p1.X)); } }