二维空间内,如何判断两条线段是否相交,相离,平行,重合,并求交点

本文介绍了如何使用向量方法判断二维空间内的两条线段是否相交、相离、平行或重合,并给出了计算交点的详细步骤。通过计算向量的叉积,可以确定线段间的关系并找到交点坐标。
摘要由CSDN通过智能技术生成

首先,假设有两条线段p,q,求这两条线段的空间关系。

我们把两条线段的四个顶点看为向量,用坐标表示:p1(p1x,p1y), p2(p2x,p2y), q1(q1x,q1y), q2(q2x, q2y)

则可以计算出两线段对应向量:

p = p2 - p1

q = q2 - q1

两条线段的交点处向量(绿色)可以表示为:

p1 + t * p = q1 + u * q

其中 ,当t , u ∈ [0 , 1] 时,两条线段有交点。因为如果有交点,图中红色的向量一定和线段方向一致,并且长度小于线段。

二维空间向量运算法则:

a + b = (ax , ay) + (bx , by) = (ax + bx , bx + by)

t * = t * (ax , ay) = (t*ax , t*ay)

a × b = ax * by - ay * bx = |a| * |b| * sin<a,b

  • 16
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值