外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
外部変形の弓形データを考えます。
◎弓形データ
yumi %lg %lg %lg %lg %lg %lg %lg ( "yumi" x y r p1 p2 w d )
x : 中心点の X 座標
y : 中心点の Y 座標
r : 半径
p1 : 始角(゚)
p2 : 終角(゚)
w : 扁平率
d : 傾角(゚)
・弓形データは指示番号や指標の利用ができません
・弓形データは配列、文字列が利用できます
④配列
( "yumi" x y r p1 p2 w d )
["yumi", x, y, r, p1, p2, w, d]
⑤文字列
( "yumi" x y r p1 p2 w d )
"yumi #{x} #{y} #{r} #{p1} #{p2} #{w} #{d}"
・配列、文字列の要素にキーワードが利用できます
⑥ハッシュ
( x y r p1 p2 w d )
yumi {x:1, y:2, r:3, p1:30, p2:120, w:1, d:0}
yumi {:x=>1, :y=>2, :r=>3, :p1=>30, :p2=>120, :w=>1, :d=>0}
⑦キーワード引数
( x y r p1 p2 w d )
yumi x:1, y:2, r:3, p1:30, p2:120, w:1, d:0
yumi :x=>1, :y=>2, :r=>3, :p1=>30, :p2=>120, :w=>1, :d=>0
⑧キーワード配列
( x y r p1 p2 w d )
yumi [x:1, y:2, r:3, p1:30, p2:120, w:1, d:0]
yumi [:x=>1, :y=>2, :r=>3, :p1=>30, :p2=>120, :w=>1, :d=>0]
⑨キーワード文字列
( x y r p1 p2 w d )
yumi "x:1, y:2, r:3, p1:30, p2:120, w:1, d:0"
yumi "x=1, y=2, r=3, p1=30, p2=120, w=1, d=0"
使用例
:jw.rbの弓形データ
@echo off
ruby -x %0
goto:eof
REM #jww
REM #1 位置を指示して下さい
REM #e
#!ruby -Ks -rjw
x, y, r, p1, p2, w, d = *hp(1), 500, 120, 30, 0.7, 30
jww
plot "yumi #{x} #{y} #{r} #{p1} #{p2} #{w} #{d}"
#plot ["yumi", x, y, r, p1, p2, w, d]
__END__