2

3次元空間に「ぶら下がっている」ディスク上にランダムな(一様に分布した)ポイントを生成する簡単で効率的な方法はありますか? ディスクはその法線によって定義されます。

理想的には、回転行列を完全には理解していないため、回転行列を避けたいと思います。また、問題があることもわかっています。

これまでのところ、3D 単位ベクトルを生成し、それをディスクの平面に投影しようとしました。これにより、点がディスク内にあることが保証されますが、均一に分散されていることは保証されません。また、生成されたベクトルをその長さの関数に従ってスケーリングしようとしましたが、均一な分布を取り戻すことはできませんでした。

ローカル座標系を定義するために、互いに直交する 2 つのベクトルと法線を作成するというアイデアがありました。次に、単位円板上に 2D のように点を生成し、その結果をグローバル座標系に戻すことができます。これは、いくつかの事前計算(私は完全に問題ありません)とその後の単純な計算のみを含むため、非常に効率的であるように思われます(これはレイトレーサー用であるため、頻繁に発生します). 問題は、共線性などの問題を回避しながら、ローカル座標系の基底ベクトルを確実に計算する方法がわからないことです。

どんな助けでも大歓迎です。

4

1 に答える 1