欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

三点顺序(计算几何)

发布时间:2025/3/14 编程问答 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 三点顺序(计算几何) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

坐标中给出三点,求顺时针或逆时针

分析:利用矢量叉积判断是逆时针还是顺时针。

设A(x1,y1),B(x2,y2),C(x3,y3),则三角形两边的矢量分别是: AB=(x2-x1,y2-y1), AC=(x3-x1,y3-y1) 则AB和AC的叉积为:(2*2的行列式) |x2-x1, y2-y1| |x3-x1, y3-y1| 值为:(x2-x1)*(y3-y1) - (y2-y1)*(x3-x1) 利用右手法则进行判断: 如果AB*AC>0,则三角形ABC是逆时针的 如果AB*AC<0,则三角形ABC是顺时针的 如果……  =0,则说明三点共线, #include<iostream> #include<cstdio> using namespace std; int main() {while(1) {int x1, y1, x2, y2 ,x3, y3;cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;if(!x1 && !y1 && !x2 && !y2 && !x3 && !y3) break;if((x2 - x1)*(y3-y1)-(y2-y1)*(x3-x1) < 0) printf("1\n");else printf("0\n"); }return 0; }

 

转载于:https://www.cnblogs.com/kindleheart/p/8962203.html

总结

以上是生活随笔为你收集整理的三点顺序(计算几何)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。