回答
只需结合三个均匀的随机分布。此方法假定您有一个单位立方[0..1]^3。如果不是这种情况,请在生成它们之后缩放并抵消这些点。
- 通过从得到的整数选择一个立方体侧[0..6)
- 接在该侧的平面
- x坐标接在该侧的平面
下面是一个y坐标一些C++ - ish伪代码:
vec3 result;
int s=randomSide(); // returns 0 to 5, uniformly distributed
int c=s%3; // get the axis perpendicular to the side you just picked
result[c]=s>2 ? 1.f : 0.f;
result[(c+1)%3]=random01();
result[(c+2)%3]=random01();
如果您有一个更通用的方框而不是立方体,您必须根据到盒子边的区域。
对不起,我不习惯C++,结果[c]等等你的意思是向量.x vector.y vector.z?谢谢你的回答 – 2012-08-05 16:07:23
它应该访问第n个坐标,所以结果[0]是x,结果[1]是y,结果[2]是z – ltjax 2012-08-05 16:24:17
了解它。这段代码在处理过程中很难翻译,因为我必须使用PVectors,并使用像vector这样的位置访问它们。0 – 2012-08-05 16:38:55
- 1. 在立方体表面/墙体上绘制2d线统一3D
- 2. 确定3D立方体的表面
- 3. 在圆柱体中生成随机点
- 4. 随机立方体在三个js中随机球体
- 5. N维立方体表面上的点
- 6. 在任意三维表面上生成随机点
- 7. 在3d中创建一个立方体
- 8. 在Python中上下生成随机点
- 9. 生成一个随机数得到一个随机列表项
- 10. 确定一个点是否在3D立方体中
- 11. 沿着圆周上的一个点生成随机形状
- 12. JOGL使用一个3D立方体
- 13. 在n维圆环表面生成随机点
- 14. 从固体物体中生成3d点
- 15. C中的独立随机生成器
- 16. 建立一个更现实的随机单词生成器?
- 17. ECC随机点生成FPGA
- 18. 动态生成3D图像立方体的深度缩放
- 19. 立方体上的OpenGL 3D纹理
- 20. 在Haskell中生成一个随机数
- 21. 在super.ViewDidLoad下生成一个随机数
- 22. 在JavaScript中生成一个随机数
- 23. 在CakePHP中生成一个随机数?
- 24. 3d点生成
- 25. 生成坐标立方体
- 26. 生成一个随机的负NSInteger的
- 27. 生成随机幻方
- 28. 以编程方式生成3D电视立体输出
- 29. 沿立方体表面绘制点
- 30. 生成一个大于或小于前面的随机数的随机数
您想要随机生成立方体表面上的点或立方体内的点吗? – aioobe 2012-08-05 10:58:49
你有没有在区间[0,1)上生成随机统一数字的方法? – 2012-08-05 11:21:55
抱歉,我的意思是立方体的表面。 @HighPerformanceMark我有随机(0,1)方法,但我应该如何使用它? – 2012-08-05 11:40:39