利用叉积判断点和线的关系
2016-01-10 15:13
197 查看
用叉积判断点在线的左侧还是右侧:
记住那句话,逆正顺负(因为参数的设置不同而不同)
9
3
-2
4
--------------------------------
Process exited with return value 0
Press any key to continue . . .
运行代码:
当点在线段的上时,叉积是0而且点到两端点的而距离和等于线段的长度,如果大于就是在延长线上。当叉积是正数,逆时针方向,负数,顺时针方向。
这一切都和函数参数密切相关:
相关例题:
http://poj.org/problem?id=2318
代码参考:
http://blog.csdn.net/thearcticocean/article/details/48632391
有时需要我们求出线段相交的交点,曾经研究过:http://blog.csdn.net/thearcticocean/article/details/48765019
记住那句话,逆正顺负(因为参数的设置不同而不同)
9
3
-2
4
--------------------------------
Process exited with return value 0
Press any key to continue . . .
运行代码:
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn=5e3+10; struct point { int x,y; }; point p={6,2}; struct node{ point p1,p2; }edge[4]; int multi(point p0,point p1,point p2){ return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y); } int m[4][4]={ 1,3,2,1, 5,3,4,1, 7,3,7,1, 9,1,10,2 //特殊设置 }; int main(){ for(int i=0;i<4;i++){ edge[i].p1.x=m[i][0]; edge[i].p1.y=m[i][1]; edge[i].p2.x=m[i][2]; edge[i].p2.y=m[i][3]; } for(int i=0;i<4;i++) cout<<multi(edge[i].p1,edge[i].p2,p)<<endl; return 0; }
当点在线段的上时,叉积是0而且点到两端点的而距离和等于线段的长度,如果大于就是在延长线上。当叉积是正数,逆时针方向,负数,顺时针方向。
这一切都和函数参数密切相关:
int multi(point p0,point p1,point p2){ return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y); } // …… cout<<multi(edge[i].p1,edge[i].p2,p)<<endl;
相关例题:
http://poj.org/problem?id=2318
代码参考:
http://blog.csdn.net/thearcticocean/article/details/48632391
有时需要我们求出线段相交的交点,曾经研究过:http://blog.csdn.net/thearcticocean/article/details/48765019
相关文章推荐
- 如何拍摄一组照片
- 大端小端字节序(图解)
- delphi 2010 导出sql server 数据到DBF乱码问题
- OC中超级无敌排序方法,降序 升序 自定义降序升序
- 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(二)转载自码农网
- 使用Condition的生产者消费者模式
- 自建git仓库
- ROS naviagtion analysis: costmap_2d--LayeredCostmap
- Spring官方下载方式
- Gson使用指南
- 可删除超炫&多种特效的Card视图(改造自cardsui-for-android开源项目),提供DEMO下载
- hdoj--3592--World Exhibition(差分约束)
- iOS如何防止文件被备份到iCloud 和iTunes?
- hdoj--3592--World Exhibition(差分约束)
- 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(一)转载自码农网
- 织梦教程:手把手教你让dedecms禁止发布重复文章
- shader 流光效果
- 逆矩阵的计算
- 测试
- 关于路径名称斜杠和反斜杠