jw_cad 外部変形 - (606) コマンドプロンプトで多角形の面積を計算する -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

コマンドプロンプトで多角形の面積を計算する

/* コマンドプロンプトで多角形の面積を計算する
@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

*/

jscriptによるスクリプト

=>コマンドによるスクリプトjscript のコメント文に記述しています。