Matlab-如何检查线段是否与轴对齐的正方形相交

时间:2019-03-13 05:50:50

标签: matlab intersection line-segment

我正在寻找一些有效的matlab代码,以检查线段是否与正方形相交。正方形是轴对齐的,线段不必是轴对齐的。这是一个决策过程,即返回Y或N,因此我不需要交点。每个线段都有一个起点和一个终点。

我从二维情况开始,但是将需要适用于d维空间的代码。

对于简单的情况,我有快速的代码:

1)线段输入一个正方形(起点在正方形外,终点在正方形内)。

2)线段退出一个正方形(起点在正方形内,终点在正方形外)。

3)正方形内的线段(正方形内的起点和终点)。

4)线段较远且不与正方形相交(起点和终点在正方形之外,并且线段的边界框不覆盖正方形的任何部分)。

但是,对于线段起点和终点不在正方形之外,线段边界框覆盖正方形的一部分(或全部)的情况,我还没有用于简化检查的代码。

在这种情况下,线段可以: i)相交一个方形的角, ii)相交两个正方形边缘,或 iii)完全不与正方形相交。

关于如何测试最后一种情况的任何想法?以及如何使代码适用于d维线段和正方形(立方体等)?

谢谢!

为了帮助直观地看到这一点,我将使用一些用于测试上述案例1-4的matlab代码来更新此帖子。

SELECT convert(datetime, '01/02/2019 12:00:00 AM', 103)

0 个答案:

没有答案