生活随笔
收集整理的這篇文章主要介紹了
判断点在线段上
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2016-11-0921:00:46
判斷點p0是否在線段p1p2上
1.先判斷p0,p1,p2三點共線
2.在判斷點p0在以p1p2為對角線的矩形內。
#include <iostream>
#include <algorithm>
using namespace std;const double inf = 1e-
10;
struct point {double x, y;
};struct v {point start, end;
};bool onSegment(point p1, point p2, point p0) {if (fabs((p1.x - p2.x)*(p1.y - p0.y) - (p1.x - p0.x)*(p1.y - p2.y))<1e-
10 &&
min(p1.x, p2.y) <= p0.x&&max(p1.x, p1.x) >= p0.x&&
min(p1.y, p2.y) <= p0.y&&max(p1.y, p2.y) >=
p0.y)return true;return false;
}int main() {point p1, p2, p3;while (cin >> p1.x >> p1.y >> p2.x >> p2.y >> p3.x >>
p3.y) {cout << onSegment(p1, p2, p3) <<
endl;}
} ?
轉載于:https://www.cnblogs.com/IKnowYou0/p/6048472.html
總結
以上是生活随笔為你收集整理的判断点在线段上的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。