ランダム ポイントの作成 (Create Random Points) の仕組み

[ランダム ポイントの作成 (Create Random Points)] ツールは、範囲ウィンドウ内、またはポリゴン フィーチャクラス、ライン フィーチャクラス、ポイント フィーチャクラスのフィーチャ内に、指定された数のポイントをランダムに配置します。

処理の最初のステップでは、乱数ジェネレーターとシードから乱数ストリームを作成します。指定された範囲内にランダム ポイントを生成する場合は、その範囲の X 軸上と Y 軸上にそれぞれ 1 つのランダム値が特定され、これらがポイントの X、Y 座標となります。X 軸上のポイントをランダムに選択するため、乱数ストリーム上の次の未使用値が選択されて一様分布に変換されます。一様分布の最小値および最大値としては、X 範囲で指定した最小値および最大値が使用されます。Y 軸にも同じ処理が行われます。この 2 つの値により、最初のランダム ポイントが特定されます。このプロセスは、指定された数のポイントが生成されるまで繰り返されます。

各ポリゴンに指定された数のポイントをランダムに配置する場合は、標準のポリゴン分割アルゴリズムを使用して、ポリゴンがサイズ不定の三角形で分割されます。各ポリゴンのエリア全体が三角形で埋まります。最初のポリゴンに最初のポイントを配置するため、ポリゴン全体から 1 つの三角形がランダムに選択されます。三角形が選択される確率は、その三角形のサイズによって異なります。大きい三角形ほど、選択される確率は高くなります。選択された三角形の 2 辺が、ランダム ポイントを配置するための 2 つの軸となります。範囲オプションの場合と同様に、乱数ストリームから次の未使用値が取得され、三角形の軸の始点を最小値、辺の終点を最大値に使用して一様分布に変換されます。値は、軸上にランダムに選択されます。三角形のもう一方の軸、つまり辺にも、同じ処理が行われます。この 2 つのランダム値が、ポイントの配置に使用されます。ポイントは、三角形の 2 つの軸で形成された平行四辺形内に収まります。ポイントが三角形を定義する 3 番目の辺の内側にある場合、そのポイントが選択されます。ポイントが三角形の外側にある場合は、平行四辺形のもう一方の半分に含まれます。この半分は、元の三角形の (3 番目の辺を軸にミラー化された) ミラー イメージであるため、そのポイントはミラー化されて元の三角形に戻されます。このプロセスは、ポリゴン内に指定された数のポイントが配置されるまで繰り返され、さらに各ポリゴンで繰り返されます。