社区
C语言
帖子详情
如何判断相交!!!新手求教
whowho
2003-04-01 12:06:00
以知道线段1A(X1,Y1)-》 B(X2,Y2);
线段2 C(X1,Y1)-》D(X2,Y2)
如何用程序判断线段1和线段2相交!!!!!!!!!!并取得相交的POINT
...全文
159
8
打赏
收藏
如何判断相交!!!新手求教
以知道线段1A(X1,Y1)-》 B(X2,Y2); 线段2 C(X1,Y1)-》D(X2,Y2) 如何用程序判断线段1和线段2相交!!!!!!!!!!并取得相交的POINT
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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++】
判断
两条“线段”是否
相交
!附源码!
如何
判断
两条直线是否
相交
之前写过一篇如何
判断
两条线段是否
相交
,我们紧接这个主题,再来谈谈如何
判断
两条直线是否
相交
如何
判断
两条直线是否
相交
总体来上,
判断
直线是否
相交
比
判断
线段是否
相交
容易多了 两条直线
相交
只有两种情况 第一种:两条直线斜率不相同(斜率不存在的情况算做一种斜率) 第二种:两斜率相同且截距也相同,即重合(如果这个相同的斜率都是斜率不存在,那么后者的相同就是与x轴的交点也相同) 函数代码 bool judge...
计算几何——
判断
直线
相交
计算几何——
判断
直线
相交
判断
直线
相交
问题,通常有多种手段解决,大部分都需要涉及浮点数运算。但是通过计算几何向量叉乘的方法可以避免使用浮点数来
判断
直线是否
相交
。 用向量叉乘
判断
向量的相对位置 假设 b⃗\vec{b}b在a⃗\vec{a}a的左边,如图(1),根据右手定则,a⃗×b⃗\vec{a} \times \vec{b}a×b的zzz坐标的值应该为正值。如果b⃗\vec{b}b在a⃗\vec{a}a的右边,如图(2),根据右手定则,a⃗×b⃗\vec{a} \times \vec{b}a×b的zzz坐
python
判断
两线段是否
相交
_
判断
两线段是否
相交
算法一1. 快速排斥实验:设一线段P1P2为对角线的矩形为P,设一线段Q1Q2为对角线的矩形为Q,如果P和Q不
相交
,显然两线段不会
相交
。以下2种(方法1、方法2)方法
判断
矩形是否
相交
仅限于正矩形。方法1:已知2个正矩形rect1: {(minx1, miny1), (maxx1,maxy1)}, rect2: {(minx2,miny2), (maxx2, maxy2)},设两个正矩形
相交
一定得到...
如何
判断
两条线段是否
相交
本篇是在 【C++笔记】如何
判断
2个线段
相交
的基础上加上自己的理解和实践总结出的
判断
两线段是否
相交
的方法。
判断
两条线段是否
相交
先附上
判断
函数 bool judge(int Ax1,int Ay1,int Ax2,int Ay2,int Bx1,int By1,int Bx2,int By2) { if( ( max(Ax1,Ax2)>=min(Bx1,Bx2)&...
C语言
70,037
社区成员
243,243
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章