外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
gawkで2線の交点に点を打つ
:gawkで2線の交点に点を打つ
@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%dln 線を指示してください
REM #2%dln 線を指示してください
REM #bz
REM #e
#!ここから more +n %0 の n 行目:最初の行は 0 行
function abs(x) { return x > 0 ? x : -x }
function inters(lni, lnj) {
$0 = lni
dx1 = $3 - (x1 = $1)
dy1 = $4 - (y1 = $2)
m1 = dx1 == 0 ? 1e20 : dy1 / dx1
$0 = lnj
dx2 = $3 - (x2 = $1)
dy2 = $4 - (y2 = $2)
m2 = dx2 == 0 ? 1e20 : dy2 / dx2
aa = m1 - m2
if (abs(aa) < 1e-10) aa = 0
if (aa != 0) {
u1 = y1 - m1 * x1
u2 = y2 - m2 * x2
return (u2 - u1) / aa FS (m1 * u2 - m2 * u1) / aa
} else {
print "he処理できません"; exit
}
}
BEGIN { CONVFMT = OFMT = "%.15g" }
END { print "pt", inters(ln[1], ln[2]) }
/^hq/ { print "bz" }
/^[ ]/ && NF == 4 { lnn++; ln[lnn] = $0 }