外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
gawkで多角形の面積を計算する
:gawkで多角形の面積を計算する
@echo off
for /f %%n in ('gawk "/^#!/ { print NR }" %0') do (
copy jwc_temp.txt myfiles > nul
more +%%n %0 | gawk -f - myfiles > jwc_temp.txt
)
goto:eof
REM #jww
REM #1-%d 点を指示してください
REM #99#%d
REM #e
#!ここから more +n %0 の n 行目:最初の行は 0 行
BEGIN { CONVFMT = OFMT = "%.15g" }
/^hp[1-9][0-9]?/ {
gsub(/(ln|ci|ch|-)$/, "", $1); hp[substr($1, 3)] = $2 FS $3
}
END {
#座標法 左回りが正
n = length(hp)
a = 0
#閉鎖形とし 1 点と n 点は同じ点とする
if (hp[1] != hp[n]) { hp[n+1] = hp[1]; n += 1 }
for (i = 1; i < n; i++)
{
$0 = hp[i] FS hp[i+1]
a += ($1 - $3) * ($2 + $4) / 2
}
printf "h#Area = %.03f ", a
}