[英]generation of 3D random points on the surface of a cube
我正在尝试在处理过程中在立方体表面上随机且均匀地生成点。 我正在尝试制作动画,所以我需要点的x,y和z最终位置。
有什么建议么? 谢谢。
只需结合三个均匀的随机分布。 此方法假定您有一个单位立方体[0..1] ^ 3。 如果不是这种情况,请在生成点后缩放并偏移点。
这是一些C ++伪代码:
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();
如果您有一个更普通的盒子而不是立方体,则必须根据盒子侧面的面积来偏斜侧面拣选。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.