外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
jw.rbで正多角形を返す(n.pg 基点)
:jw.rbで正多角形を返す(n.pg 基点)
@echo off
ruby -x %0
goto:eof
REM #jww
REM #0 位置を指示してください
REM #e
#!ruby -Ks -rjw
jww
for k in 0..2
n, r, d = 3 + k, 100, 30
1.step(5, 0.5).each.with_index(1) do |c, j|
x = ( (j % 3) == 0 ? 900 : 450 * ( (j % 3) - 1)) + 1350 * k
y = j < 4 ? 0 : (j < 7 ? 450 : 900)
for i in 0..2
#0:中心→頂点指定、1:中心→辺指定、2:辺寸法指定
lc 6+i
b = n.pg(mode:i, r:r, d:d)
#正多角形 b の開始点 [0, 0]
plot a = b.kiten(c, [0, 0]).mov(x, y)
plot ci([0, 0], 10 * (i+1)).mov(x, y)
a.each_with_index { |z, i| plot ch z, i.to_s if z != "#" && i < n }
end
end
end
__END__
正多角形の基点は 始点を 1 、始辺の中央を 1.5、終点を 2、次の頂点を 3~、辺の中央を 2.5~ としています。
上図の左下の正三角形は
lc 6
plot 3.pg(mode:0, r:100, d:30).kiten(1, [0, 0])
lc 7
plot 3.pg(mode:1, r:100,d:30).kiten(1, [0, 0])
lc 8
plot 2.pg(mode:2, r:100, d:30).kiten(1, [0, 0])
のようになります。