########################### drawgraph.tclの利用方法 ########################### drawgraph.tcl: グラフデータとグラフの節点や辺に対する彩色やラベル変更のデー タを与えると, それらを描画します. ステップ実行や連続実行によ りアルゴリズムの動作のアニメーションが可能です. samplegraph0.dat: グラフデータとグラフの節点や辺に対する彩色やラベル変更のデー タのサンプルファイル. 注: drawgraph.tclの利用には, TCL/TKのインストールが必要です. 以下では, 1. drawgraph.tclの使い方 2. データファイルのフォーマット の順に説明します. 1. drawgraph.tclの使い方 ###################################################### ● 起動・終了方法とデータファイルの指定 データファイルとしてsamplegraph0.datを利用するものとして説明します. コマンドラ インより drawgraph.tcl samplegraph0.dat と入力すると, 画面が立ち上がります. ファイル名を指定せず, drawgraph.tcl として立ち上げることも可能です. drawgraph.tclの画面が立ち上がった状態でデータ ファイルの指定を行うには, "open file"ボタンをクリックしてファイルを選択してくだ さい. 終了する際には, "exit"ボタンをクリックするか, "q"を入力してください. 注1: 起動はUNIX上でしかテストしておりませんので, 説明はUNIX上のものとなります が, ご了承下さい. 注2: 通常, drawgraph.tclのファイルをコピーした直後は実行許可が与えられていませ ん. その場合, 上記の操作のみでは起動できません. chmod u+x drawgraph.tcl を実行の後再度お試し下さい. 注3: システムによってはTCL/TKの起動コマンドがwishになっていない場合があります. 例えば, wish8.0jpなどです. この場合は, 以下のいづれかの対処が必要です. (A)システム管理者にお願いしてwishというコマンド名でも起動できるようにシン ボリックリンクを張ってもらう. (B)個人のディレクトリ内からwishという名前で実体(wish8.0jpなど)にシンボリッ クリンクを張り, さらに, そのディレクトリにパスを通す. (C)drawgraph.tclの第3行目の「exec wish "$0" "$@"」の中のwishを実体の名前に 書き換える. ● 表示サイズの変更 画面の左から2列目に"resize"ボタンがあり, その下にスケールバーがあります. スケー ルバーをスライドし, 表示されている数値を変更した後, "resize"ボタンをクリックす ると, 画面の大きさが変わります. 数値が大きいほど画面は大きくなります. 注: ウィンドウマネージャーを利用して窓のサイズを一度変更してしまうと, 外枠の大 きさが固定されてしまうため, 上述の"resize"ボタンによるサイズ変更を行っても, あまりきれいにならないことがあります. ● ステップ実行・連続実行, およびスピード調整 ">>"ボタン: 1ステップ前進. "<<"ボタン: 1ステップ後退. "continue"ボタン: 連続実行開始 "continue"ボタンの右に">>"と表示されているときは前進 "continue"ボタンの左に"<<"と表示されているときは後退 "pause"ボタン: 連続実行中断 "continue"ボタンの左右のこれらの表示は, ">>"と"<<"ボタンで切り替わります. また, "continue"と"pause"ボタンは, 同一のボタンの表示が変わることにより, 必要な方のみ が現れます. 一番左の列のスケールバーは, 連続実行のスピード調整です. 数字が大きいほど遅く, 小さいほど速くなります. ● ポストスクリプトファイルの出力 "save as PS"ボタンをクリックすると, ファイル名を指定してPostScriptファイルを出 力できます. 現在表示されている画面がPSファイルとしてセーブされます. 注: 画面サイズの変更などにより, グラフの一部が隠れている場合は, 見えている部分 のみが出力されます. 2. データファイルのフォーマット ############################################### samplegraph0.datファイルを見れば大体分かると思います. 以下に意味を説明しておき ます. "#"で始まる行はコメント行です. begingraphからendgraphの間にグラフのデータを書きます. width: グラフを描画する格子の幅 nodenum: 節点数 edgenum: 枝数 source: 最短路問題の始点(輪郭が別の色になります) nodestart: 最小の節点番号(デフォルトは1) edge: 枝情報. 枝の重み, 枝の端点(2つ)の順に1つ以上のスペースで区切って並べ る. 節点番号は nodestart から nodestart+nodenum-1 までの連続する整数と仮定していま す. source と nodestart は省略可能です. 節点は, 小さい番号から順に, まず横に並 び, width 個を並べ終わった時点で次の行に移り, 再び左から順に並べられます. これ 以外の並べ方は出来ません. step から次の step または end までの間に, 1ステップで行う変更(枝の色など)を書き ます. この一区切りの中に書かれた命令が, ">>"や"<<"ボタンの1回のクリックにより同 時に実行されます. サポートしている命令は以下の3種類です. label: 節点のラベルの変更. 節点番号, ラベルの順に1つ以上のスペースで区切っ て並べる colornode: 節点の塗り潰しの色の変更. 節点番号, 色の順に1つ以上のスペースで区 切って並べる coloredge: 枝の色の変更. 枝の端点番号(2つ), 色の順に1つ以上のスペースで区切って 並べる ############################################################################### 質問, コメントなどは, 柳浦睦憲(yagiura@i.kyoto-u.ac.jp)まで お願いいたします.