[计算几何] (二维)两线段的交点坐标

本文介绍了如何求解二维平面上两线段的交点坐标。通过计算点B1到直线A1A2及点B2到直线A1A2的距离,并利用相似三角形原理找到比例t,最终根据向量运算得出交点O的坐标。提供了程序代码参考和来源于《挑战程序设计竞赛2》的辅助图像。
摘要由CSDN通过智能技术生成

 给出点A1,A2,B1,B2的坐标, 分别构成线段A1A2, 线段B1B2, 求两线段的交点坐标

 

线段A1A2,B1B2如下图所示, 并建立辅助线(图片来源于<<挑战程序设计竞赛2>>)

Step1: 先求出B1点到直线A1A2的距离d1, 和B2点到直线A1A2的距离d2

  可根据矢量法求出(A1B1为向量, 其它一样)

d1=\frac{|A1B1\times A1A2|}{|A1A2|}         d2=\frac{|A1B2\times A1A2|}{|A1A2|}

Step2: 求出 t

可根据相似三角形    d1 : d2= t : (1-t)

得  t=\frac{d1}{d1+d2}

Step3:  求出交点点O的坐标

根据比例缩放可求出向量B1O,  t为小数, 向量B1O=t * 向量B1B2

又因为向量B1O=点O坐标 - 点

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值