社区
C语言
帖子详情
如何判断相交!!!新手求教
whowho
2003-04-01 12:06:00
以知道线段1A(X1,Y1)-》 B(X2,Y2);
线段2 C(X1,Y1)-》D(X2,Y2)
如何用程序判断线段1和线段2相交!!!!!!!!!!并取得相交的POINT
...全文
147
8
打赏
收藏
如何判断相交!!!新手求教
以知道线段1A(X1,Y1)-》 B(X2,Y2); 线段2 C(X1,Y1)-》D(X2,Y2) 如何用程序判断线段1和线段2相交!!!!!!!!!!并取得相交的POINT
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jinglihui
2003-04-01
打赏
举报
回复
再加上Xc<=Xe<=Xd并且Yc<=Ye<=Yd
这个条件必须同时成立才行
--------------------抛砖引玉-----------------------------
Jinglihui
2003-04-01
打赏
举报
回复
先写出两条线段l1,l2所在的直线方程f1,f2
一,先算出这两条线段各自的斜率K1,k2
if (k1==k2)
{
平行或重合
再用l1的一个端点代入f2,如果成立,则重合
}else
{
求出f1与f2的交点e(Xe,Ye),用e的横纵坐标分别与a(Xa,Ya),b(Xb,Yb)和c(Xc,Yc),d(Xd,Yd)比较
if(Xa<=Xe<=Xb并且Ya<=Ye<=Yb)必相交
}
--------------------抛砖引玉-----------------------------
betapengbo
2003-04-01
打赏
举报
回复
什么是A*算法
greening
2003-04-01
打赏
举报
回复
还有一点忘了:如果两个斜率相等(当然我只说斜率存在的情况下),也不能说明他们就一定是不相交。因为若这两条线段在同一直线上,则他们可能相交(即部分或者完全重合),也可能不相交(即直线上不重合的两段)。
greening
2003-04-01
打赏
举报
回复
谢谢楼上提醒,我看题不仔细,惭愧。
我有一个方法,不知道可不可以。
还是先看平不平行(计算AB的斜率和CD的斜率)。
如果不平行的话,就说明“直线”是相交的。
将两条线段延长,求出交点E。然后任意取一条线段,比如AB。
if((Ex<Ax&&Ex<Bx)||(Ex>Ax&&Ex>Bx))
/*用Ey,Ay,By也可以,说明的是交点E在AB的一边 即 说明AB和CD不相交否则说明交点E在AB之间,即说明两条线段相交*/
用户 昵称
2003-04-01
打赏
举报
回复
先判断斜率,相同不相交
在计算交点,同时在两条直线上相交,否则不相交。
jamesfangjing
2003-04-01
打赏
举报
回复
楼上说得不对!
人家是问线段相交,而不是直线相交,直线可以无限延长,线段则不行!
所以有时不平行,但是也不相交!
我认为可以用线段两点坐标求出方程,然后联立求解,得到直线的相交点,最后看这个点在不在线段上就行了!
我思故我在!
greening
2003-04-01
打赏
举报
回复
我只讲数学方法而已。
二维的前提下,不平行就相交。
先判断无斜率的特殊情况。
计算AB的斜率和CD的斜率,相等就说明是平行的,反之就是相交的。
在已知相交的情况下,设一个点E,列方程使AE和BE的斜率相同,CE和DE的斜率相同(在有斜率的前提下),即可求出E点。
【C++】
判断
两条“线段”是否
相交
利用【C++】
判断
两条“线段”是否
相交
!附源码!
如何
判断
两条直线是否
相交
之前写过一篇如何
判断
两条线段是否
相交
,我们紧接这个主题,再来谈谈如何
判断
两条直线是否
相交
如何
判断
两条直线是否
相交
总体来上,
判断
直线是否
相交
比
判断
线段是否
相交
容易多了 两条直线
相交
只有两种情况 第一种:...
计算几何——
判断
直线
相交
计算几何——
判断
直线
相交
判断
直线
相交
问题,通常有多种手段解决,大部分都需要涉及浮点数运算。但是通过计算几何向量叉乘的方法可以避免使用浮点数来
判断
直线是否
相交
。 用向量叉乘
判断
向量的相对位置 假设 b⃗\...
如何
判断
两条线段是否
相交
本篇是在 【C++笔记】如何
判断
2个线段
相交
的基础上加上自己的理解和实践总结出的
判断
两线段是否
相交
的方法。
判断
两条线段是否
相交
先附上
判断
函数 bool judge(int Ax1,int Ay1,int Ax2,int Ay2,int Bx1,int By1,...
使用叉积
判断
两条线段是否
相交
两个矩形,
判断
两个矩形是否
相交
,若两个矩形不能同时在x方向和y方向
相交
,则两条线段不可能
相交
,通过了快速排斥实验后再
判断
两条线段是否互相跨立,既是一条线段的两个端点是否在另一条线段所在直线的
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章