-
Notifications
You must be signed in to change notification settings - Fork 10
DTL.Shape.DiamondSquareAverageIsland (形状クラス)
sitRyo edited this page Jan 15, 2020
·
8 revisions
namespace DTL.Shape {
public class DiamondSquareAverageIsland
}
DiamondSquareAverageIsland
とは "Matrixの描画範囲にダイヤモンドスクエア法に従って描画値を設置する" 機能を持つクラスである。
描画範囲の全てを必ず塗りつぶすとは限らない (Matrixの初期化が必要) 。
RectBaseFractal<TDerived> → DTL.Shape.DiamondSquareAverageIsland
Constructors | Descriptions | Version |
---|---|---|
DiamondSquareAverageIsland() | Matrixの内容をそのまま出力するDiamondSquareAverageIslandのインスタンスを生成します。 | v0.1.0 |
DiamondSquareAverageIsland(uint startX, uint startY, uint width, uint height) | 描画範囲を指定したDiamondSquareAverageIslandのインスタンスを生成します。 | v0.1.0 |
DiamondSquareAverageIsland(int minValue) | HeightMapの最低高度を指定したDiamondSquareAverageIslandのインスタンスを生成します。 | v0.1.0 |
DiamondSquareAverageIsland(int minValue, int altitude) | HeightMapの最低高度と高度を指定したDiamondSquareAverageIslandのインスタンスを生成します。 | v0.1.0 |
DiamondSquareAverageIsland(int minValue, int altitude, int addAltitude) | HeightMapの最低高度と高度, HeightMapの各要素に[0, addAlititude] の間で追加される変動値を指定したDiamondSquareAverageIslandのインスタンスを生成します。 |
v0.1.0 |
DiamondSquareAverageIsland(DTL.Base.Coordinate2DimensionalAndLength2DimensionalmatrixRange matrixRange, int minValue) | 描画範囲と最低高度を指定したDiamondSquareAverageIslandのインスタンスを生成します。 | v0.1.0 |
DiamondSquareAverageIsland(DTL.Base.Coordinate2DimensionalAndLength2DimensionalmatrixRange matrixRange, int minValue, int altitude) | 描画範囲と最低高度, 高度を指定したDiamondSquareAverageIslandのインスタンスを生成します。 | v0.1.0 |
DiamondSquareAverageIsland(DTL.Base.Coordinate2DimensionalAndLength2DimensionalmatrixRange matrixRange, int minValue, int altitude, int addAltitude) | 描画範囲と最低高度, 高度, HeightMapの各要素に[0, addAlititude] の間で追加される変動値を指定したDiamondSquareAverageIslandのインスタンスを生成します。 |
v0.1.0 |
DiamondSquareAverageIsland(uint startX, uint startY, uint width, uint height, int minValue) | 描画範囲と最低高度を指定したDiamondSquareAverageIslandのインスタンスを生成します。 | v0.1.0 |
DiamondSquareAverageIsland(uint startX, uint startY, uint width, uint height, int minValue, int altitude) | 描画範囲と最低高度, 高度を指定したDiamondSquareAverageIslandのインスタンスを生成します。 | v0.1.0 |
DiamondSquareAverageIsland(uint startX, uint startY, uint width, uint height, int minValue, int altitude, int addAltitude) | 描画範囲と最低高度, 高度, HeightMapの各要素に[0, addAlititude] の間で追加される変動値を指定したDiamondSquareAverageIslandのインスタンスを生成します。 |
v0.1.0 |
Name | Accessibility | Descriptions | Version |
---|---|---|---|
uint startX | public get, protected set | 描画の開始点X | v0.1.0 |
uint startY | public get, protected set | 描画の開始点Y | v0.1.0 |
uint width | public get, protected set | 描画横幅W | v0.1.0 |
uint height | public get, protected set | 描画縦幅H | v0.1.0 |
altitude | public get, protected set | 高度 | v0.1.0 |
addAltitude | public get, protected set | 高度の変動値 | v0.1.0 |
minValue | public get, protected set | 最低高度 | 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 |
GetPoint | 描画始点を取得 | v0.1.0 |
GetValue | 高度を取得 | v0.1.0 |
GetAltitude | 高度を取得 | v0.1.0 |
GetMinValue | 最低高度を取得 | v0.1.0 |
GetAddAltitude | 変動値を取得 | 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 |
SetAltitude | 高度を指定 | 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 |
ClearMinValue | 最低高度を消去 | v0.1.0 |
ClearAltitude | 高度を消去 | v0.1.0 |
ClearrAddAltitude | 変動値を消去 | v0.1.0 |
Name | Descriptions | Version |
---|---|---|
Draw(int[,]) | Matrixに描画する | v0.1.0 |
Create(int[,]) | Matrixに描画してMatrixを返す | v0.1.0 |
DrawNormalize(float[,]) | [0, 1]に正規化した値をMatrixに描画する | v0.1.0 |
public class GenerateDiamondSquareAverageIsland : MonoBehaviour {
public int height = 66;
public int width = 66;
public int minWidth = 10;
public int altitude = 30;
public int addAltitude = 20;
private DiamondSquareAverageIsland diamondSquareAverageIsland;
void Start () {
var matrix = new int[height, width];
diamondSquareAverageIsland = new DiamondSquareAverageIsland(minWidth, altitude, addAltitude);
diamondSquareAverageIsland.Draw(matrix);
new OutputConsole().Draw(matrix);
new OutputConsole(arg => arg < (altitude + addAltitude) / 2 + minWidth , "..", "##").Draw(matrix);
}
}
20 19 19 18 19 18 18 18 19 18 18 18 18 18 18 18 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18
20 19 19 18 19 18 19 18 19 18 19 18 19 18 19 18 19 17 18 17 19 17 18 16 18 16 18 16 18 16 18 16 18 16 17 16 18 16 18 17 19 18 19 18 19 17 18 17 19 17 18 17 19 17 18 16 18 16 18 16 18 16 17 16 17
20 20 20 20 21 20 21 20 21 20 20 20 21 20 20 20 20 19 19 19 20 19 19 18 19 18 18 18 19 18 19 18 19 17 17 17 18 18 18 19 20 20 20 20 21 19 19 19 20 19 19 19 20 19 19 18 19 18 18 18 18 17 16 16 16
20 20 21 21 22 22 22 22 22 22 22 22 22 21 21 20 21 19 20 19 21 19 19 18 19 18 19 18 19 18 19 18 19 17 17 16 18 17 19 19 21 20 21 21 22 20 20 19 21 19 20 19 21 19 19 18 19 17 18 16 18 16 16 15 15
20 21 22 23 24 24 24 24 24 24 24 24 25 23 23 22 22 22 22 22 23 21 21 20 21 20 20 20 20 20 20 20 20 19 19 18 19 19 20 21 22 22 23 23 24 23 23 22 22 22 22 22 22 21 21 20 21 19 19 18 19 17 16 15 15
20 20 22 22 24 24 25 24 25 24 25 24 25 23 23 22 23 21 22 20 22 20 21 20 21 20 21 20 20 20 20 20 20 19 19 18 19 19 20 21 23 21 22 22 24 23 23 22 23 21 22 20 22 20 21 20 21 18 18 16 18 15 15 13 13
20 21 23 23 24 25 26 26 27 26 26 26 26 25 24 24 24 23 23 22 23 22 22 22 22 22 22 21 21 20 21 20 21 20 21 20 21 20 21 22 24 23 23 23 25 24 24 24 24 23 22 22 23 22 22 22 22 20 19 18 18 16 14 13 13
20 20 22 22 24 24 26 25 28 26 27 26 27 25 25 24 25 23 23 22 23 22 23 22 23 21 22 20 21 20 21 20 21 20 21 21 22 22 22 23 25 23 24 23 25 24 25 24 25 23 23 22 23 22 23 22 23 20 19 17 18 14 14 12 12
20 21 22 23 25 25 27 28 31 29 29 28 28 27 27 26 26 25 25 24 25 24 24 24 25 23 23 22 23 22 22 22 23 22 23 23 24 24 25 25 27 26 26 26 26 26 26 26 26 25 25 24 25 24 24 24 25 22 21 19 18 16 15 13 13
20 20 22 22 24 24 26 26 29 28 28 28 28 27 27 26 27 25 25 24 25 24 24 24 24 23 23 22 23 22 23 21 22 20 22 22 24 24 25 24 26 24 26 25 27 25 26 25 27 25 25 24 24 24 24 23 23 20 19 17 17 14 14 11 11
20 21 22 23 24 25 27 27 29 28 28 28 29 28 28 28 28 27 26 26 26 25 25 24 25 24 24 24 25 24 24 23 23 22 23 23 25 25 26 26 27 26 27 27 28 27 26 27 28 27 26 25 25 24 24 23 23 20 19 17 17 15 14 12 11
20 20 22 22 24 24 26 26 28 28 28 28 29 28 29 28 29 27 27 26 27 25 25 24 25 24 25 25 26 25 25 23 23 22 23 23 25 24 26 25 27 26 27 27 29 27 28 27 29 27 27 25 25 24 24 22 22 18 18 16 16 14 13 10 10
20 21 22 23 25 25 26 27 28 28 29 29 30 30 30 30 30 29 29 28 28 27 27 26 27 26 27 27 29 27 26 25 25 24 25 25 27 26 27 27 28 28 29 29 30 30 30 30 30 29 28 27 27 25 24 23 22 20 19 17 16 14 13 11 10
20 20 22 21 23 23 25 25 27 27 28 28 30 28 30 29 31 29 29 28 29 27 27 26 27 26 27 27 28 26 26 24 25 24 25 24 26 25 27 27 28 28 28 28 30 28 30 29 31 29 28 26 26 23 23 21 21 18 17 15 15 13 12 10 9
20 21 22 22 23 23 25 25 27 27 28 29 30 30 30 31 32 31 30 30 30 29 28 28 28 28 28 28 28 27 27 26 26 26 27 26 27 27 28 28 29 28 29 29 31 30 30 31 32 30 28 27 26 24 23 21 21 18 17 15 15 13 12 10 9
20 20 21 20 22 22 24 24 26 26 28 28 30 29 31 31 33 31 31 30 31 29 29 28 29 28 28 28 28 27 27 26 27 26 27 26 27 27 28 28 29 28 29 29 31 30 31 31 33 30 29 26 26 22 22 20 20 18 16 14 14 11 11 9 8
20 20 21 21 23 23 24 25 27 27 28 29 30 31 32 33 34 33 33 32 32 31 31 30 31 29 29 28 29 28 28 28 29 28 28 28 29 28 29 29 31 30 31 31 32 32 33 33 34 32 30 28 27 24 23 21 21 18 17 15 14 12 11 9 9
20 20 20 21 23 23 24 24 26 25 27 27 30 29 31 31 33 32 32 32 32 30 30 29 31 29 29 28 29 28 28 28 28 28 28 28 28 28 28 28 30 28 30 30 32 32 32 32 33 29 28 25 25 22 22 19 19 17 16 14 14 10 10 7 7
20 20 21 22 24 24 24 25 26 26 27 28 30 30 30 31 33 32 32 32 32 31 31 31 32 31 31 30 30 29 29 28 29 28 28 28 29 28 29 29 30 30 30 31 32 32 32 32 32 29 27 25 25 23 22 20 19 17 16 15 15 12 11 8 7
20 20 21 22 25 24 25 24 26 25 27 27 30 28 30 30 32 32 32 32 32 31 31 31 33 31 31 30 31 29 29 28 29 28 29 28 29 28 29 28 30 28 30 30 32 31 31 30 31 27 26 24 24 22 21 18 18 16 16 15 15 11 10 6 6
20 21 23 24 26 26 26 26 26 27 28 29 30 30 31 31 33 32 32 32 33 32 33 33 35 33 33 32 32 31 31 30 31 30 30 30 30 30 30 30 31 30 31 31 32 31 31 30 30 28 27 25 25 22 21 19 18 17 17 16 16 13 11 8 6
20 20 21 22 25 24 25 24 26 25 27 27 29 28 30 30 32 32 33 32 33 32 33 33 35 34 34 33 33 31 31 30 31 29 30 28 30 28 30 28 30 28 30 29 31 29 29 28 29 26 25 23 23 20 19 17 17 15 15 14 14 11 9 6 5
20 20 21 22 24 24 24 25 26 26 27 27 29 29 30 31 32 33 34 34 34 34 35 35 37 36 36 35 34 33 33 32 32 31 31 30 31 30 31 30 31 30 30 30 30 29 29 28 28 26 25 23 22 20 19 17 17 15 15 13 13 10 8 6 5
20 20 20 21 23 23 24 24 26 24 26 26 28 28 30 30 32 32 34 33 35 34 36 36 38 37 37 35 35 33 33 32 33 31 31 30 31 30 31 30 31 29 30 28 29 27 27 26 27 24 23 21 21 18 18 16 16 14 13 11 11 8 7 5 4
20 20 21 21 23 23 24 25 27 26 27 27 29 29 30 31 32 33 34 35 36 37 38 39 41 39 38 37 37 35 35 34 34 33 33 32 33 32 32 32 33 31 30 29 29 27 27 26 27 24 23 21 21 19 18 17 17 14 13 11 10 8 7 5 4
20 20 21 21 23 22 23 23 25 24 26 26 28 28 30 29 31 31 33 33 35 35 37 37 39 37 38 36 37 35 35 33 34 32 33 32 33 32 32 31 31 29 29 28 28 26 26 24 25 22 21 19 19 17 17 15 15 12 11 9 9 6 5 3 3
20 21 22 23 24 23 23 23 25 25 27 27 28 29 30 30 31 31 33 33 34 35 36 37 38 38 38 38 38 37 36 35 35 34 34 34 34 33 33 31 31 29 29 28 28 27 26 25 24 22 20 19 19 17 16 15 14 12 11 9 9 6 5 3 3
20 20 22 22 25 23 23 23 24 24 26 26 28 28 29 28 30 29 31 31 33 33 35 35 37 36 38 37 39 37 37 35 35 34 35 34 35 33 32 30 30 28 28 28 28 26 25 23 23 21 20 18 18 15 15 13 13 10 10 8 8 6 4 2 2
20 21 23 24 26 25 25 24 25 25 26 27 28 28 29 29 31 30 31 31 33 33 34 35 37 37 38 39 40 39 38 37 37 36 36 36 36 34 33 31 31 29 29 28 29 26 25 23 23 21 20 19 18 16 15 13 13 11 10 9 9 6 5 3 2
20 20 21 22 25 24 24 24 24 24 25 25 27 27 28 28 30 28 30 30 32 32 34 33 35 35 37 37 39 37 38 36 37 36 36 35 35 33 32 30 30 27 27 26 27 25 24 22 21 19 18 17 17 14 13 11 11 9 9 7 7 5 4 2 1
20 20 21 22 24 24 24 24 24 24 25 25 27 27 28 29 30 30 31 31 32 33 34 34 35 35 37 37 38 38 39 38 38 37 36 35 35 33 32 31 30 28 27 26 26 25 24 22 21 18 17 16 16 14 13 11 11 9 8 7 6 5 4 2 1
20 20 20 21 23 22 23 23 24 24 24 24 26 26 28 28 30 28 30 30 32 32 33 32 34 33 35 35 37 36 38 37 39 37 36 34 34 32 32 30 30 26 26 24 25 23 23 21 20 18 16 15 15 13 12 10 10 7 7 5 5 3 3 1 0
20 20 21 21 22 22 23 23 25 24 25 25 27 27 28 29 30 30 31 31 32 32 33 33 35 34 35 35 37 37 38 39 40 38 37 35 35 33 32 31 30 28 27 25 25 23 22 21 20 18 17 15 15 13 12 11 10 8 7 5 5 3 2 1 0
19 19 20 20 22 21 23 23 24 24 25 24 26 25 27 27 30 28 30 30 32 32 32 32 34 32 34 34 36 36 37 37 39 36 35 33 34 32 32 30 30 27 27 25 25 23 23 21 20 18 16 14 14 12 12 10 10 7 7 5 5 2 2 0 0
19 19 20 21 23 23 24 24 25 25 26 26 27 26 27 28 30 30 30 31 33 32 33 33 34 34 35 35 36 36 37 37 38 36 35 34 34 33 32 31 31 29 29 27 26 25 24 22 20 18 17 15 15 13 13 11 11 9 8 7 6 4 3 1 0
18 18 20 21 23 23 24 24 25 24 26 25 27 26 27 27 30 29 31 31 33 32 33 32 34 32 34 34 36 36 36 36 37 34 34 32 34 32 32 31 31 29 29 27 27 25 24 22 20 18 17 15 15 13 13 11 11 9 9 7 7 4 3 1 0
18 19 21 22 25 24 25 25 26 26 27 27 28 28 29 29 30 31 32 33 34 34 34 34 34 34 35 35 37 36 36 36 36 35 35 34 34 33 33 32 32 31 30 29 29 26 24 22 20 19 18 17 16 15 14 13 13 11 10 9 9 6 4 2 1
17 17 19 20 23 23 24 24 26 25 27 27 28 28 28 28 30 29 31 31 33 32 33 32 34 32 34 33 35 34 35 34 35 33 33 32 33 32 32 32 32 30 29 27 27 24 23 21 20 18 18 16 16 15 15 13 13 10 10 8 8 6 4 2 0
17 17 19 20 23 23 25 25 27 27 28 28 28 28 28 29 30 30 30 31 33 32 32 33 34 34 34 34 34 34 35 34 34 33 33 32 33 32 32 32 33 30 29 27 27 24 23 21 20 19 19 17 17 16 16 15 14 12 11 9 8 6 4 2 1
16 16 18 18 22 22 24 25 27 27 28 28 28 28 28 28 30 28 30 30 32 32 32 32 34 32 33 32 33 32 33 32 33 32 32 32 32 32 32 32 33 30 29 26 26 22 22 20 20 18 18 16 17 16 16 15 15 12 11 9 8 6 4 2 1
17 17 19 20 22 23 25 26 29 28 28 28 29 28 29 29 31 30 31 31 32 32 33 33 34 33 33 32 33 32 32 32 33 32 32 32 33 32 33 33 34 32 30 28 27 24 23 21 21 19 19 18 18 17 17 16 16 14 12 10 9 6 5 3 3
15 15 17 18 22 21 23 24 27 27 28 28 28 28 28 28 30 28 30 30 32 31 31 31 33 31 31 31 32 32 32 31 31 30 31 30 31 30 31 30 32 28 28 25 25 22 22 20 20 18 18 16 18 15 15 14 15 13 12 10 8 6 5 2 2
15 15 17 19 22 22 23 24 26 27 28 28 29 28 29 29 30 30 30 31 32 31 31 31 32 31 31 31 32 32 32 31 30 30 31 30 30 30 31 30 31 28 27 25 25 23 23 21 20 19 19 18 18 16 15 14 15 13 12 10 8 7 6 4 3
14 14 17 18 22 20 22 22 25 25 27 27 29 28 29 28 30 28 30 30 32 30 30 29 31 29 30 30 32 31 31 29 29 28 29 28 29 28 29 28 29 26 26 24 24 22 22 20 20 18 18 16 18 15 15 13 14 11 11 9 8 6 6 3 3
15 16 18 20 22 22 23 23 25 25 27 28 31 30 30 30 31 30 31 31 33 31 31 30 31 30 31 31 32 31 30 29 29 28 28 28 29 28 28 28 29 27 26 25 25 23 22 21 21 19 19 18 18 17 16 15 15 12 11 9 8 7 6 5 4
14 14 17 18 21 20 21 21 23 23 25 26 29 28 29 28 30 28 30 29 31 29 29 28 29 28 29 29 30 28 28 26 27 26 27 26 27 26 27 26 27 25 25 23 23 21 22 20 20 18 18 16 18 15 15 13 14 10 10 8 8 6 6 4 4
14 15 16 18 20 20 20 21 23 23 24 26 28 28 28 29 31 30 31 30 31 29 29 28 29 28 29 28 29 27 27 26 27 26 26 26 26 26 27 26 26 25 25 23 23 22 22 21 21 19 19 18 18 16 14 14 14 12 11 9 9 7 7 5 5
14 14 16 17 19 19 20 20 22 22 24 25 27 27 28 29 31 29 30 28 30 28 28 28 28 27 27 26 27 25 26 24 26 24 25 24 25 24 25 24 25 23 23 21 22 20 22 20 21 19 19 17 18 15 15 13 14 11 11 9 9 7 7 5 5
15 15 16 17 18 19 20 21 23 23 24 25 27 27 29 30 33 31 31 30 30 29 29 28 29 27 27 26 27 26 26 26 26 25 25 24 25 24 24 24 24 23 23 22 23 22 22 22 23 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6
13 13 15 15 17 17 18 19 21 21 22 23 25 25 27 28 30 28 28 27 29 27 27 26 27 25 25 24 25 23 24 23 25 24 24 24 24 24 24 24 24 22 22 20 22 20 21 20 21 19 19 17 18 15 15 13 14 11 11 9 10 7 7 5 6
13 13 14 15 16 16 17 18 20 20 21 22 25 25 26 27 29 27 27 27 28 27 26 26 26 25 24 24 24 23 23 23 24 24 24 24 25 24 24 24 24 23 23 22 23 21 21 20 20 19 19 18 19 16 15 14 14 12 10 10 10 8 7 6 6
12 12 13 13 15 15 16 17 19 19 20 22 24 24 25 25 27 25 26 25 27 25 25 24 25 23 23 22 23 21 22 21 23 23 24 24 25 24 24 24 24 23 23 22 23 21 20 19 19 17 18 17 19 16 15 13 14 11 11 9 10 7 7 5 6
13 12 13 13 15 15 16 17 18 19 21 22 25 24 25 25 26 26 26 26 27 25 25 24 24 23 23 22 23 22 22 22 22 23 24 25 26 25 25 24 24 24 24 24 25 22 21 19 19 18 19 19 20 18 17 15 15 13 12 11 10 9 8 7 7
12 12 12 12 13 13 14 15 17 17 18 20 22 22 22 22 24 22 24 22 24 22 23 22 23 21 21 20 21 19 20 19 21 21 22 22 24 23 24 24 24 23 23 22 23 20 19 17 17 16 17 17 19 17 16 14 14 12 12 10 10 8 8 6 6
12 12 12 12 13 12 13 14 16 16 17 18 20 20 21 21 23 22 23 22 23 22 23 22 22 21 20 20 20 19 19 19 20 20 21 21 23 23 24 24 24 23 23 22 22 20 19 17 17 16 17 17 18 17 16 15 15 13 12 11 11 9 9 7 7
12 12 12 12 12 12 12 13 15 14 15 16 18 18 19 19 21 20 21 20 21 20 21 20 21 19 19 18 19 17 18 17 19 18 19 19 21 21 23 23 24 22 22 20 21 18 18 16 16 16 16 16 17 16 16 15 15 13 13 11 11 9 9 7 7
12 12 12 12 13 12 13 13 15 14 15 15 17 17 18 19 21 20 20 20 20 20 20 20 20 19 19 18 19 18 18 18 19 18 19 19 21 21 22 23 24 23 22 21 20 19 18 17 17 16 16 16 16 16 16 16 16 15 14 13 12 11 10 9 9
11 10 11 10 11 10 11 11 13 12 14 13 15 14 16 16 18 18 18 18 19 18 19 18 18 16 16 15 17 15 16 15 17 16 17 17 19 19 21 21 22 21 21 19 19 17 17 15 15 14 15 14 15 14 15 14 15 13 14 12 12 10 10 8 8
11 10 11 10 11 10 11 11 13 13 14 14 15 14 15 15 17 16 17 17 18 18 18 17 17 15 15 15 16 15 15 15 16 16 16 17 18 19 20 20 21 20 20 19 18 17 17 15 15 14 14 14 15 14 14 14 15 14 14 13 12 11 11 9 9
10 8 10 8 10 8 10 10 12 12 13 12 14 12 14 13 15 14 15 15 17 15 16 14 15 13 14 13 15 13 14 13 15 14 15 15 17 17 18 18 19 18 18 17 17 15 15 13 14 12 14 12 14 12 14 12 14 12 13 12 12 10 10 8 9
11 10 10 10 10 10 11 11 12 12 13 13 15 14 14 14 15 14 15 15 17 15 15 14 15 14 14 14 14 14 14 14 15 14 15 15 17 16 17 17 18 17 17 16 16 15 15 14 14 14 14 14 15 14 14 14 14 13 13 12 12 11 11 10 10
10 8 9 8 10 8 9 9 11 10 11 11 13 11 12 11 13 12 13 13 14 12 12 11 13 11 12 11 13 12 13 12 13 12 13 13 15 14 15 14 16 14 15 14 15 13 14 12 13 12 13 12 13 12 13 12 13 12 12 12 12 11 11 9 10
10 9 9 9 10 9 9 9 11 10 10 11 12 11 10 11 12 12 12 12 13 11 11 11 12 11 10 11 12 12 12 12 13 12 13 13 14 14 14 14 15 14 14 14 14 14 14 13 13 12 13 12 13 12 12 12 13 12 12 12 12 12 12 11 11
10 8 9 8 10 8 9 8 10 8 10 9 11 9 10 9 11 10 11 10 11 9 10 9 11 9 10 9 11 10 11 11 12 12 12 12 13 12 13 12 13 12 13 12 13 12 13 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 10 10 10 10 10 10 10 11 10 10 10 11 10 11 11 13 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
................................................##................................................................................
................................................##................................................................................
............................................############..........................................................................
........................................##..##############........................................................................
......................................########################....................................................................
........................................######################....................................................................
..........................................########################................................................................
............................................######################..##..##........................................................
..............................................############################........................................................
................................................##########################........................................................
................................................##########################........................................................
....................................................##################............................................................
................................................##..######################........................................................
........................................................##############............................................................
....................................................##################............................................................
........................................................##########................................................................
....................................................##################............................................................
........................................................##..##..##................................................................
............................................................##....................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
Copyright (c) 2017-2019 Kasugaccho. Copyright (c) 2018-2019 As Project.
Distributed under the Boost Software License, Version 1.0.(See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)