等圧線を描くアルゴリズムについて


1.概要
・本ソフトでは高気圧と低気圧の位置と気圧をもとに等圧線を描いています。
・地図に縦と横の格子を設定し、各交点の気圧を求めます。
・格子の各交点の気圧の値から等圧線を描きます。


2.任意の点の気圧の求めかた
			図1
図1のように低気圧と高気圧が合計3つあるとします。
低気圧の気圧は L1 Hp, L2 Hp 高気圧の気圧は H1 Hp とします。
任意の点 (x, y) と各気圧団との距離は D1, D2, D3 とします。
任意の点 (x, y)の気圧は次の手順で求めます。


2-1.平均気圧を求める
 平均気圧:AvePress = (L1 + L2 + H1) / 3

2-2.各気圧団から影響を受ける気圧を求める。
 中心からの距離と気圧の変化は高気圧の場合は図2のように、低気圧の場合は図3のようになります。

			図2
			図3
 中心からの距離 D と気圧 Press(D) の関係を次の式で近似します。


高気圧の場合
Press(D) = CP - (CP - AvePress) / (Kh * (1 - D / Dmax) + 1)
CP:中心気圧 AvePress:平均気圧 Kh:係数 Dmax:中心から十分遠い距離

低気圧の場合
Press(D) = AvePress - (AvePress - CP) / (Kl * D + 1)
CP:中心気圧 AvePress:平均気圧 Kl:係数

2-3.各気圧団から得られた気圧に距離の逆数の重みをつけて平均値を求める
各気圧団が任意の点(x, y)におよぼす気圧を上記式より計算し、その値を L1(x, y)、H1(x, y)、L2(x, y) とすると

気圧*距離の逆数の総和 = L1(x, y) / D1 + H1(x, y) / D2 + L2(x, y) / D3

距離の逆数の総和 = 1 / D1 + 1 / D2 + 1 / D3
平均値 = 気圧*距離の逆数の総和 / 距離の逆数の総和
この平均値を任意の点(x, y) の気圧とします。


3.各格子の交点の気圧を求める
地図に縦と横の格子を設定し、(2.の任意の点の気圧の求めかた)を基に各交点の気圧を求めます。


4.格子の各交点の気圧の値から等圧線を描く
 格子状の値から等圧線を描くアルゴリズムは文献を探せばかなりあると思いますが、このソフトは次のような方法をとっています。


4-1.格子で囲まれた任意の矩形の中に等圧線を描く

			図4
図4のように任意の格子で囲まれた矩形に等圧線を描きます。
・矩形の四隅の各点をそれぞれ P1, P2, P3, P4 とします。
・図は P1の気圧を 1025.5 Hp、P2の気圧を 1020.3 Hp、P3の気圧を 1017.2 Hp、P4の気圧を 1019.0 Hp とした場合に描かれる等圧線を示しています。
・等圧線は 2 Hp 間隔で整数の偶数値に描きます。
・まず P1-P2 間で 整数の偶数値のポイントを探します。図の場合は 1024, 1022 のポイントを探します。
・同様にして P2-P3間、P3-P4 間、P4-P1 間の整数の偶数値のポイントを探します。
・最後に同じ値を持つ点に線を引きます。


4-2.格子で囲まれた各矩形に等圧線を描く
 上記の方法で格子で囲まれた各矩形に等高線を描きます。図5

			図5


トップに戻る