ランダム ポイントの作成の仕組み

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

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

指定された数のポイントを各ポリゴンにランダムに配置するため、標準的なポリゴン分割アルゴリズムを使用して、ポリゴンがさまざまなサイズの三角形に分割されます。 各ポリゴンのエリア全体が三角形によって埋められます。 最初のポリゴンに最初のポイントを配置するため、ポリゴン全体の三角形の 1 つがランダムに選択されます。 特定の三角形が選択される確率は、その三角形のサイズに左右されます。 三角形が大きいほど、その三角形が選択される確率が高くなります。 三角形の 2 つの辺が、ランダム ポイントを配置する際の 2 つの軸となります。 範囲オプションの場合と同様に、乱数ストリームから使用されていない次の値が取得され、三角形の軸の始点を最小値、辺の終点を最大値として一様分布に変換されます。 軸上の値がランダムに選択されます。 三角形の他の軸または辺に対しても同じ手順が行われます。 これらの 2 つのランダムな値を使用してポイントが配置されます。 ポイントは、三角形の 2 つの軸によって作成される平行四辺形内に配置されます。 ポイントが三角形を定義する 3 つ目の辺内に配置された場合、そのポイントが選択されます。 ポイントが三角形の外側に配置された場合、そのポイントは平行四辺形の残り半分の領域に配置されます。 この平行四辺形の半分は、三角形を定義する際の鏡像 (3 つ目の辺を軸に鏡像反転させたもの) であるため、ポイントは三角形内に鏡像反転されます。 このプロセスは、指定された数のポイントがポリゴン内に配置されるまで繰り返され、各ポリゴンで繰り返されます。