UVA191 Intersection 题解

UVA191 Intersection 题解

水紫,建议降蓝。

解法

求线段相交裸题,考虑使用向量解决。

我们把矩形的 4 4 4 个点两两相连,得到 6 6 6 条线段,如果先输入的线段和这 6 6 6 条线段都没有交点,则认为线段和矩形不相交,否则认为相交。

向量求两线段是否相交分为两步,快速排斥实验和跨立实验。为了表述方便,我们记两线段分别为 A B , C D AB,CD AB,CD

快速排斥实验

分别以 A B AB AB C D CD CD 为对角线做水平竖直的两个矩形。如果两个矩形没有相交部分,那两线段不可能相交,我们称为未通过快速排斥实验。否则我们称为通过快速排斥实验。如图。

图

跨立实验

当两线段通过快速排斥实验后,则进行跨立实验。跨立实验即为:验证点 C , D C,D C,D 是否在直线 A B AB AB 的两侧同时点 A , B A,B A,B 是否在直线 C D CD CD 的两侧。

根据向量叉乘的几何意义, A B → × A C → \overrightarrow{AB} \times \overrightarrow{AC} AB ×AC 为正代表点 C C

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值