外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
gawkで2重線を引く(2sen)
:gawkで2重線を引く(2sen)
@echo off
set k=%1
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 #k 線の幅| 200(L) | 400(R) | 120 | 150 | 180 | 220 | 250 | 300 | 350 |
REM #e
#!ここから more +n %0 の n 行目:最初の行は 0 行
BEGIN { CONVFMT = OFMT = "%.15g" }
/^hp1/ { p1 = $2 FS $3 }
/^hp2/ { p2 = $2 FS $3
split("200 400 120 150 180 220 250 300 350", A)
w = A[ENVIRON["k"] * 1]
$0 = p1 FS p2
yw = w / 2 * cos(d = atan2($4 - $2, $3 - $1))
xw =-w / 2 * sin(d)
print $1 + xw, $2 + yw, $3 + xw, $4 + yw
if ( w ) {
print $1 - xw, $2 - yw, $3 - xw, $4 - yw
p = d * 45 / atan2(1, 1) + 90
print "ci", $1, $2, w / 2, p, p + 180, 1, 0
print "ci", $3, $4, w / 2, p - 180, p, 1, 0
}
}