Arrow()は、最初の点から次の点までの矢印を描きます。デフォルトの矢じりの長さは、(矢印の長さの平方根 + 1)/2です。矢じりの長さを設定するには、オプションの第1引数を使って矢じりの長さをピクセルで設定します。次の例は、単純な矢印を描きます。
win = New Window( "矢じり",
Graph Box(
Pen Size( 4 );
/* 行列1は矢印のx座標を定義
行列2は矢印のy座標を定義 */
Arrow( 20, [10 30 90], [88 22 44] );
)
);
次の例は、矢印を円状に描きます。
win = New Window( "ハリケーン",
Graph Box(
Frame Size( 100, 100 ),
X Scale( -100, 100 ),
Y Scale( -100, 100 ),
For( r = 35, r < 100, r += 20,
ainc = 2 * Pi() * 3 / r;
For( a = 0, a < 2 * Pi(), a += ainc,
x = r * Cosine( a );
y = r * Sine( a );
aa = a + ainc * 45 / r;
rr = r - r / 6;
x2 = rr * Cosine( aa );
y2 = rr * Sine( aa );
/* リスト1は矢印の始まる点を定義
リスト2は矢印の終わる点を定義 */
Arrow( {x, y}, {x2, y2} );
);
)
)
);
図12.11 矢印を描く
次の例は、指定された長さ(19ピクセル)とデフォルトの長さで矢じりを描いて比較します。
win = New Window( "矢じり",
Graph Box(
Frame Size( 300, 300 ),
X Scale( 0, 100 ),
Y Scale( 0, 220 ),
x = 10;
y1 = 10;
y2 = y1 + 10;
For( i = 1, i < 10, i++,
Pen Color( "Red" );
Arrow( {x, y1}, {x, y2} );
y2 += 10;
y1 += 100;
y2 += 100;
Pen Color( "Blue" );
Arrow( 20, {x, y1}, {x, y2} );
x += 10;
y1 -= 100;
y2 -= 100;
Text Color( "Red" );
Text( {10, 80}, "長さの引数なし" );
Text Color( "Blue" );
Text( {10, 200}, "長さの引数あり" );
);
)
);
図12.12 矢じりのサイズ
Line()と同様に、上に示したような2項目のリスト、もしくは、x座標とy座標の行列によって座標を指定できます。