クラス SparsePointsBuilder
java.lang.Object
net.trpfrog.medipro_game.util.SparsePointsBuilder
public class SparsePointsBuilder
extends java.lang.Object
一定間隔以上離れた点を生成するメソッドを持つクラス
- 作成者:
- つまみ
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 SparsePointsBuilder()
-
メソッドの概要
修飾子とタイプ メソッド 説明 static java.util.List<java.awt.Point>
build(java.awt.Rectangle range, int interval, int points)
区間range
に収まる、それぞれがinterval
以上の距離を持つpoints
点の座標のリストをランダムに生成します。クラスから継承されたメソッド java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
コンストラクタの詳細
-
SparsePointsBuilder
public SparsePointsBuilder()
-
-
メソッドの詳細
-
build
public static java.util.List<java.awt.Point> build(java.awt.Rectangle range, int interval, int points)区間range
に収まる、それぞれがinterval
以上の距離を持つpoints
点の座標のリストをランダムに生成します。points == -1
のときはできる点全てを返します。 アルゴリズムは以下の通りです。
アルゴリズム
与えられた区間を一辺2 * interval
の六角形の最密充填構造に切り分け、 その頂点の集合からランダムにpoints
点を選びます。 選び終えたらそれぞれの点を中心とした半径interval
の円から 1点をランダムに選び、点をそこへ移動します。 全ての点に対し、この操作を行ってできた点のリストを返します。- パラメータ:
range
- 点を生成する範囲interval
- 点の間隔の最小値points
- 選ぶ点の数- 戻り値:
- 区間
range
に収まる、それぞれがinterval
以上の距離を持つpoints
点の座標のリスト
-