外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
rubyで階段を割り付ける
:rubyで階段を割り付ける
@echo off
set n=%1
if defined n (
echo ^%1> %~dpn0.txt
) else (
if exist %~dpn0.txt (
for /f "tokens=*" %%a in (%~dpn0.txt) do set n=%%a
)
)
ruby -x %0 jwc_temp.txt
goto:eof
REM #jww
REM #1-%d 始点を指示してください
REM #2%d 終点を指示してください
REM #c 段数 =
REM #e
#!ruby -Ks -an -i.bak
BEGIN {
$hp = []
include Math
}
case $_
when /^hk/ then $hk = $F[1].to_f
when /^hp/ then $hp[$F[0].scan(/\d+/)[0].to_i] = [$F[1].to_f, $F[2].to_f]
end
END {
n = 12 if (n = ENV["n"].to_i) < 1
co = cos($hk * PI / 180)
si = sin($hk * PI / 180)
x1, y1, x2, y2 = $hp[1] + $hp[2]
w = (x2 - x1) * co + (y2 - y1) * si
h =-(x2 - x1) * si + (y2 - y1) * co
a, b = h / n, (n > 1 ? w / (n - c = 1) : w)
r, d = hypot(x1, y1), atan2(y1, x1)
puts "K1\n%s %s" % [d * 180 / PI, r]
n.times { puts "%s %s\n %s %s" % [90 + $hk, a, $hk, b] }
}
__END__