簡體   English   中英

如何生成與給定平面相距一定距離的隨機3D點?

[英]How to generate a random 3D point with a distance to a given plane?

我有3點(三角形)的飛機。 如何生成具有指定距離的該平面的隨機點? 生成點的投影也應在三角形內。

我們有非共線點A,B,C。
1.生成范圍為0..1的兩個隨機值t和u。 我們可以使用這些值來獲得由矢量AB和AC形成的平行四邊形的均勻分布。 為了獲得三角形中的均勻分布,我們反映了到達第二個三角形的點,大約平行四邊形對角線(如果是偽代碼,則為分支)

在此處輸入圖片說明

t = random ( 0, 1 ) 
u = random ( 0, 1 )
if (t + u > 1 ) then
   t = 1 - t
   u = 1 - u
  1. 在三角形ABC內設置隨機點P:

P = A + t * AB + u * AC

  1. 將P從ABC飛機上移開

    n = normalized(AB x AC) (矢量積)

    P' = P + d * n

d-所需距離

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM