vector4 sample_orientation_cone(vector4 center, float maxangle, vector u)
center
円錐の中心を通る方向。これは正規化する必要がありません。
maxangle
u
が[0,1)
(つまり、0以上1未満)の間である限り、円錐のサンプルのcenter
から離れた最大角度(ラジアン)。
Note
この角度は、出力が表現する向きのクォータニオンとcenter
間の最大クォータニオン回転角度です。これは、サンプリングされている単位4D超球のユークリッド円錐角度の2倍です。
πのmaxangle
は、すべての向きをサンプリングしますが、4D単位ベクトルすべての半分だけ、つまり2πのmaxangle
は、すべての4D単位ベクトルをサンプリングします。
u
[0,1)
(つまり、0以上1未満)範囲の3つの数値。
u
に基づいて単位vector4、つまり長さが1のvector4を返します。
[0,1)
(つまり、0以上1未満)範囲の均等にランダムな3つの値のu
ベクトルを指定すると、返されるクォータニオンの方向は、u
に対して均等にランダムで連続的になり、
そして、center
からmaxangle
の範囲内の向きの領域に収まります。
See also |