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