急!面试题。如何判断两条线段ab、cd是否相交,并求相交点x的位置。(a、b、c、d点的位置都已知)

love_c 2001-08-02 03:14:42
如何判断两条线段ab、cd是否相交,并求相交点x的位置。(a、b、c、d点的位置都已知)
最好能够给出算法。
...全文
203 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
blcr 2001-08-02
你是搞数控的吧,如果是请与我联系,相互讨论一下。
1.求两直线的斜率k1,k2,如k1==k2则平行;
2.解方程,求交点。y=k1(x-xa)+xb,y=k2(x-xc)+xd;
3.排除特殊情况:k1,k2为无穷的情况。
Email:blcr@sina.com
回复
不解 2001-08-02
1.求两直线的斜率k1,k2,如k1==k2则平行;
2。解方程,求交点。y=k1(x-xa)+xb,y=k2(x-xc)+xd;
回复
hanphy 2001-08-02
#define Delta_X 0.00001
if(k1-k2<Delta_X)
{
if(c2-c1<Delta_X)
{
//重叠
}
else
//平行
}
else//相交
{
x=(c2-c1)/(k1-k2)
y=k1*x+c1

回复
tuggfox 2001-08-02
2维:
根据ab,cd得到
y=k1x+c1 1式
y=k2x+c2 2式
由1、2两式得到交点 e(x,y)
再根据 ea+eb =?ab 知e是否在 ab 内
同理 可判断 e 是否在 cd 内
如果 e 在 ab、cd 内,说明线段 ab、cd 相交。

回复
freesmile 2001-08-02
用参数方程解,很快的
回复
love_c 2001-08-02
两维的,平面的
回复
slay78 2001-08-02
3维还是2维?
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2001-08-02 03:14
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……