2010-06-18 86 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