平面中线段求交点

问题:平面坐标系中,给定两条线段,已知这两条线段的各个端点坐标,判断这两条线段是否相交?如果相交,求出交点坐标。

首先,我们罗列出所有两条线段相交时的场景,如下图:

 总共有8种场景。

我们再仔细分析这些场景,我们会发现第5、第6、第7和第8这四种场景有一个共同特点是:存在线段的端点重合,而剩余的其它四个场景是不存在线段端点重合的。

有端点重合的情况

我们先分析有端点重合的场景。 

当发现一个端点存在重合时,我们再判断剩余的端点是否也是相等。

如果另一个端点也是相等的,则视为第7种场景,即两条线段是相同线段,完全重合;

如果另一个端点不相等,我们则将不相等的两个点连接成向量(下图中第5、第6、第8场景中表示A、C两点连成向量\overrightarrow{AC},当然连成向量\overrightarrow{CA}也是一样的。图中我们用红色表示非重合点连接而成的新向量,用绿色表示原先的一条线段所代表的向量),如下图所示:

 我们再将向量\overrightarrow{AC}与原先的任一条线段向量作叉乘

如果叉乘结果不为0,表示新向量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值