1
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所以真的任何用数学来完成这个的方法帮助我!

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

4

1 回答 1

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-loops 的步长将是 +1 或 -1,具体取决于是否p1具有p2较小的坐标,您必须明确说明。

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

如果您发现您实际上想要在两者之间的线上 p1或周围的点,p2那么这是一个更难的问题(只是因为您想要整数)。

于 2013-05-19T05:12:02.647 回答