Skip to content

DTL.Shape.SimpleVoronoiIsland (形状クラス)

sitRyo edited this page Jan 15, 2020 · 3 revisions

バージョン 0.1.0以降

namespace DTL.Shape {
    public class SimpleVoronoiIsland
}

概要

SimpleVoronoiIslandとは "ボロノイ図を用いてMatrixの中心付近に島を生成する" 機能を持つクラスである。

インターフェース

IDrawer<int>

コンストラクタ

DTL.Base.Coordinate2DimensionalAndLength2DimensionalmatrixRange

// (1)
SimpleVoronoiIsland()
// (2)
SimpleVoronoiIsland(int drawValue)
// (3)
SimpleVoronoiIsland(int drawValue, double probabilityValue) 
// (4)
SimpleVoronoiIsland(int drawValue, double probabilityValue, int landValue) 
// (5)
SimpleVoronoiIsland(int drawValue, double probabilityValue, int landValue, int seaValue) {
// (6)
SimpleVoronoiIsland(DTL.Base.Coordinate2DimensionalAndLength2DimensionalmatrixRange matrixRange)
// (7)
SimpleVoronoiIsland(DTL.Base.Coordinate2DimensionalAndLength2DimensionalmatrixRange matrixRange, int drawValue)
// (8)
SimpleVoronoiIsland(DTL.Base.Coordinate2DimensionalAndLength2DimensionalmatrixRange matrixRange, int drawValue, double probabilityValue)
// (9)
SimpleVoronoiIsland(DTL.Base.Coordinate2DimensionalAndLength2DimensionalmatrixRange matrixRange, int drawValue, double probabilityValue, int landValue) 
// (10)
SimpleVoronoiIsland(DTL.Base.Coordinate2DimensionalAndLength2DimensionalmatrixRange matrixRange, int drawValue, double probabilityValue, int landValue, int seaValue) 
説明
(1) 空のSimpleVoronoiIslandのインスタンスを生成する。
(2), (17) 描画値を指定したSimpleVoronoiIslandのインスタンスを生成する。
(3) 描画値と描画確率を指定したSimpleVoronoiIslandのインスタンスを生成する。
(4) 描画値と描画確率, True時に描画する値を指定したSimpleVoronoiIslandのインスタンスを生成する。
(5) 描画値と描画確率, True, False時に描画する値を指定したSimpleVoronoiIslandのインスタンスを生成する。
(6) 描画範囲を指定したSimpleVoronoiIslandのインスタンスを生成する。
(7) 描画範囲と描画値を指定したSimpleVoronoiIslandのインスタンスを生成する。
(8) 描画範囲と描画値, 描画確率を指定したSimpleVoronoiIslandのインスタンスを生成する。
(9) 描画範囲と描画値, 描画確率, True時に描画する値を指定したSimpleVoronoiIslandのインスタンスを生成する。
(10) 描画範囲と描画値, 描画確率, True, False時に描画する値を指定したSimpleVoronoiIslandのインスタンスを生成する。

プロパティ

Name Accessibility Descriptions Version
double probabilityValue public get, protected set landValueの生成確率 v0.1.0
int landValue public get, protected set True時の値 v0.1.0
int seaValue public get, protected set Flase時の値 v0.1.0

メソッド

描画範囲取得/描画値取得

Name Descriptions Version
GetPointX 描画始点座標Xを取得 v0.1.0
GetPointY 描画始点座標Yを取得 v0.1.0
GetWidth 描画横幅Wを取得 v0.1.0
GetHeight 描画縦幅Hを取得 v0.1.0
GetValue 描画値を取得 v0.1.0

描画範囲指定/描画値指定

Name Descriptions Version
SetPointX 描画始点座標Xを指定 v0.1.0
SetPointY 描画始点座標Yを指定 v0.1.0
SetWidth 描画横幅Wを指定 v0.1.0
SetHeight 描画縦幅Hを指定 v0.1.0
SetPoint 描画始点座標(X,Y)を指定 v0.1.0
SetRange 描画範囲(X,Y,W,H)を指定 v0.1.0
SetValue 描画値を指定 v0.1.0

描画範囲消去/描画値消去

名前 説明 対応バージョン
ClearPointX 描画始点座標Xを消去 v0.1.0
ClearPointY 描画始点座標Yを消去 v0.1.0
ClearWidth 描画横幅Wを消去 v0.1.0
ClearHeight 描画縦幅Hを消去 v0.1.0
ClearPoint 描画始点座標(X,Y)を消去 v0.1.0
ClearRange 描画範囲(X,Y,W,H)を消去 v0.1.0
ClearValue 描画値を消去 v0.1.0
Clear 描画範囲と描画値を消去 v0.1.0

インターフェースの実装

Name Descriptions Version
Draw(int[,]) Matrixに描画する v0.1.0
Create(int[,]) Matrixに描画してMatrixを返す v0.1.0

Examples (C#)

using DTL.Console;
using DTL.Shape;
using UnityEngine;

public class SimpleVoronoiGenerator : MonoBehaviour {

    public int height = 50;
    public int width = 50;
    public int landValue = 1;
    public int seaValue = 0;
    public int voronoiPointNum = 40;
    public double probabilityValue = 0.5;
    SimpleVoronoiIsland simpleVoronoiIsland;
    
    void Start () {
        var matrix = new int[height, width];
        simpleVoronoiIsland = new SimpleVoronoiIsland(voronoiPointNum, probabilityValue, landValue, seaValue);
        simpleVoronoiIsland.Draw(matrix);
        new OutputConsole().Draw(matrix);
    }
}

Output

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

SimpleVoronoiIsland

Clone this wiki locally