外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
コマンドプロンプトで多角形の面積を計算する
/* コマンドプロンプトで多角形の面積を計算する
@cls & echo off
if exist jwc_temp.txt (
copy jwc_temp.txt myfiles > nul
cscript //nologo //e:jscript %0 < myfiles > jwc_temp.txt
)
goto:eof
REM #jww
REM #1-%d 点を指示してください
REM #99#%d
REM #e
*/
hp = [] //hp 指示点
with (WScript) {
f = StdIn
while (! f.AtEndOfStream) {
F = ($_ = f.ReadLine()).split(/\s+/)
if (/^hp[1-9][0-9]?/i .test($_)) {
hp[F[0].match(/[0-9]+/)] = F.slice(1, 3)
}
}
//座標法 左回りが正
n = hp.length-1
a = 0
//閉鎖形とし 1 点と n 点は同じ点とする
if (hp[1] != hp[n]) { hp[n+1] = hp[1]; n += 1 }
for (i = 1; i < n; i++) {
x1 = hp[i][0]*1
y1 = hp[i][1]*1
x2 = hp[i+1][0]*1
y2 = hp[i+1][1]*1
a += (x1 - x2) * (y1 + y2) / 2
}
echo("h#Area = " + a.toFixed(3))
}
コマンドプロンプトで実数や数学関数を利用するテクニックです。
外部変形のバッチファイルの構成は以下のとおりです。
/* タイトル
@cls & echo off
コマンドによるスクリプト
goto:eof
*/