我有一个3点(三角形)的飞机。如何在指定距离的平面上生成随机点?生成点的投影也应该在三角形内。
答案 0 :(得分:2)
我们有非共线点A,B,C 1.在0..1范围内生成两个随机值t和u。我们可以使用这些值来获得由矢量AB和AC形成的平行四边形中的均匀分布。为了在三角形中得到均匀分布,我们反映出第二个三角形的点,关于平行四边形对角线(伪代码的if分支)
t = random ( 0, 1 )
u = random ( 0, 1 )
if (t + u > 1 ) then
t = 1 - t
u = 1 - u
P = A + t * AB + u * AC
将ABC移离ABC平面
n = normalized(AB x AC)
(矢量产品)
P' = P + d * n
其中d - 需要距离