【ケーニッヒ、2002]で説明したように
DSTAR LiteはD * LiteのアルゴリズムのCの実装です。
計算時間と経路距離を向上させるために、このコードにいくつかのマイナーな変更があります。これは、ソフトウェアの非常にシンプルな作品ですし、理解し、統合するために非常に少しの時間を取る必要があります。
コマンド:
[Q / Q] - 終了
[R / R] - 再計画
[A / A] - トグル自動再計画
[C / C] - クリア(再起動)
マウスの左クリック - 作る細胞untraversable(コスト-1)
中央のマウスクリック - セルへの移動の目標
細胞への移行開始 - マウスの右クリック
次のようにセルの色は、次のとおりです。
レッド - untraversable
トラバースが、変更コスト - グリーン
小さな紫色の正方形と赤/緑 - セルがopenListにあり
セルを開始 - イエロー
パープル - 目標セル
独自のソースに使用する場合:
ここDSTARクラスを使用する簡単な作業テストプログラムは、次のとおりです。
の#include "Dstar.h」
{int型のmain()
DSTAR * DSTAR =新しいDSTAR();
リストmypathで。
dstar->のinit(0,0,10,5)。 //に設定してスタート(0,0)とする目標(10,5)
dstar-> updateCellを(3,4、-1); //設定セル(3,4)非トラバースすることにします
dstar-> updateCellを(2,2,42.432)。 42.432を要したのは、//設定された設定(2,2)
dstar->再計画(); //パスを計画
mypathで= dstar->ある、getPath(); //パスを取得
dstar-> updateStart(10,2); //(10,2)に開始移動
dstar->再計画(); //パスを計画
mypathで= dstar->ある、getPath(); //パスを取得
dstar-> updateGoal(0,1); (0,1)への//移動目標
dstar->再計画(); //パスを計画
mypathで= dstar->ある、getPath(); //パスを取得
0を返します。
}
コメントが見つかりません