如何确定一条直线是在另一条直线的前面还是后面?
How to determine if a straight line is in front or behind another?
我的问题基本上是标题所说的,但我会尽力解释得更好。我有一堆线条,在我正在开发的游戏中用作墙。我正在尝试应用二进制 space 分区算法来存储从其他行中随机选取的另一行前面或后面的行。
我的问题是,在我的算法中,如何从数学上确定一条线是在另一条线的前面还是后面。我在 youtube 上看到了一些视频,显然我需要“法线”,但我不知道如何获得它或为什么需要它。
- 找到您感兴趣的直线的隐式方程。
-
3D: F(x,y,z) = Ax + By + Cz + D = 0
-
2D: F(x,y) = Ax + By + C = 0
- 选择您感兴趣的任何点,将其坐标代入直线方程。
-
if F(x_1,y_1) < 0, point (x_1,y_1) is above the plane
-
if F(x_1,y_1) > 0, point (x_1,y_1) is below the plane
我的问题基本上是标题所说的,但我会尽力解释得更好。我有一堆线条,在我正在开发的游戏中用作墙。我正在尝试应用二进制 space 分区算法来存储从其他行中随机选取的另一行前面或后面的行。
我的问题是,在我的算法中,如何从数学上确定一条线是在另一条线的前面还是后面。我在 youtube 上看到了一些视频,显然我需要“法线”,但我不知道如何获得它或为什么需要它。
- 找到您感兴趣的直线的隐式方程。
-
3D: F(x,y,z) = Ax + By + Cz + D = 0
-
2D: F(x,y) = Ax + By + C = 0
- 选择您感兴趣的任何点,将其坐标代入直线方程。
-
if F(x_1,y_1) < 0, point (x_1,y_1) is above the plane
-
if F(x_1,y_1) > 0, point (x_1,y_1) is below the plane