2010-06-18 58 views
0

我想寫一個函數來生成和存儲n立方體的座標,我不知道如何開始。具體來說,我希望爲這個n立方體生成均勻或隨機分佈的點雲座標並存儲它們。從這個開始,或者如果可能,一個快速解決方案是一個好的方法?C++生成並存儲n立方體的座標

+0

什麼激勵你想寫這個功能?有沒有機會做作業? – 2010-06-18 15:10:04

+0

你對此問題了解多少?另外,如果對您施加了什麼限制,您可以簡單選擇哪些限制?例如,你可以任意決定把東西排列在座標系上,然後這變得很容易... – dmckee 2010-06-18 15:14:38

+0

如果這是一項家庭作業,請適當標記它 – Francesco 2010-06-18 15:15:51

回答

2

我不想給這個問題的C++源代碼,但是,這裏是你如何生成它的想法。

超立方體包含長度爲n的所有位串。因此總共有座標的可能性爲2^n

現在你可以怎麼做遞歸:

  • ,如果你想生成n=1座標,只返回01

  • ,如果你想生成座標n>1,採取0和將其連接到所有可能的座標n'=n-1,然後取1並將其連接到所有可能的座標n'=n-1

+0

修正n立方體的軸是否與座標系的基準一致。允許在笛卡爾空間中旋轉有點困難。考慮到非笛卡爾空間要複雜得多。 – dmckee 2010-06-18 15:18:52

+0

謝謝。你也回答了我的另一個問題。這也回答了那裏的評論,這種生成需要指數運行時增加維度。時間做一些數學研究。如果我遇到某些特定問題,我會回來的。 – Ben 2010-06-18 15:53:30