找到两点之间的所有坐标(在3d中)

时间:2013-05-17 01:44:41

标签: 3d coordinates points

Point 1: 0, 0, 0
Point 2: 10, 10, 3

我需要弄清楚如何获得两点之间的所有坐标,例如它会输出

0, 0, 0
0, 0, 1
0, 0, 2
0, 0, 3
0, 1, 0
0, 1, 1
0, 1, 2
0, 1, 3
1, 0, 0
1, 1, 0
1, 0, 1
1, 1, 1

等。等等......你明白了......直到你们两人之间的协调为止。

使用java kindof所以用数学实现这一点的任何方式帮助我!

你可以看到它们都是整数而不是小数,所以没有无限的点数。

1 个答案:

答案 0 :(得分:0)

伪代码:

for (x from p1.x to p2.x)
    for (y from p1.y to p2.y)
        for (z from p1.z to p2.z)
            new_point = (x, y, z) // do what you will with this

确保将伪代码转换为Java时,for - 循环的步数为+1或-1,具体取决于p1p2是否具有较小的坐标,你必须明确这一点。

但请注意,尽管这些点符合您的问题说明,但它们并非“在”p1p2之间。正如您的示例所示,您将得到一个立方体,其中两个对角是给定的点。也许这就是你真正想要的?

如果您发现实际上想要 p1p2之间行上或周围的点,则这是一个更难的问题(仅仅因为您需要整数)。