2013-05-17 66 views
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所以真的用數學來完成這個任何方式幫助我!

正如你所看到的,他們都將是整數沒有小數,所以沒有無限的點數。

+0

因爲在這兩點之間有無窮多點,所以你不能得到2點之間的每一點。你需要某種粒度。 – Prodigga

+0

Theres沒有無限多的點。這是一個視頻遊戲,實際上沒有小數,所以只有整數在coords中。 –

回答

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取決於是否p1p2具有較小的座標,你會必須使這個明確。

但請注意,雖然這些要點適合您的問題描述,但它們不在給定的p1p2之間。如你的例子所示,你會得到一個立方體,其中兩個對角是給定的點。也許這是你真正想要的?

如果你發現你真正想要的或周圍p1p2之間的線的點,然後這是一個困難的問題(僅僅是因爲你想要的整數)。

相關問題