jw_cad 外部変形 - (733) gawkでソリッド図形の円を描く -

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

 

gawkでソリッド図形の円を描く

:gawkでソリッド図形の円を描く
@echo off
call %~dp0set "w" "%1" %~dpn0.txt
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 #2%d 円周上の点を指示してください
REM #c 扁平率(0.1~10.0) w =
REM #e

#!ここから more +n %0 の n 行目:最初の行は 0 行
function rad(x) { return x * PI / 180 }
BEGIN { CONVFMT = OFMT = "%.15g"; PI = atan2(1, 1) * 4 }
/^hk/ { hk = $2 }
/^hp1/ { p1 = $2 FS $3 }
/^hp2/ { p2 = $2 FS $3
  $0 = p1 FS p2
  r = 0
  g = 128
  b = 128
  print "lc10", r+g*256+b*256*256
  r1 = sqrt(($3 - $1) ^ 2 + ($4 - $2) ^ 2)
  print "sc", p1, r1, ENVIRON["w"], rad(hk), 0, rad(360), 100
}

 

○set.bat

set %~1=%~2
if defined %~1 (
  echo ^%~2> %3
) else (
  if exist %3 (
    for /f "tokens=*" %%a in (%3) do set %~1=%%a
  )
)