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 |