入题,有人能告诉我么

解决方案 »

  1.   

    http://www.codeproject.com/csharp/graphs_astar.asp
      

  2.   

    <PRE lang=cs>public class Graph
    {
        public Graph()    public IList Nodes { get }
        public IList Arcs { get }    public void Clear()
        public bool AddNode(Node NewNode)
        public Node AddNode(float x, float y, float z)
        public bool AddArc(Arc NewArc)
        public Arc AddArc(Node StartNode, Node EndNode, float Weight)
        public void Add2Arcs(Node Node1, Node Node2, float Weight)
        public bool RemoveNode(Node NodeToRemove)
        public bool RemoveArc(Arc ArcToRemove)
        public void BoundingBox(out double[] MinPt, out double[] MaxPt)
        public Node ClosestNode(double X, double Y, double Z, out double Dist, 
                                bool IgnoreFreeWay)
        public Arc ClosestArc(double X, double Y, double Z, out double Dist, 
                                bool IgnoreFreeWay)
    }public class Node
    {
        public Node(double PositionX, double PositionY, double PositionZ)    public IList IncomingArcs { get }
        public IList OutgoingArcs { get }
        public double X { get }
        public double Y { get }
        public double Z { get }
        public void ChangeXYZ(double PositionX, double PositionY, 
                              double PositionZ)
        public bool Passable { get/set }    public Node[] AccessibleNodes { get }
        public Node[] AccessingNodes { get }
        public void UntieIncomingArcs()
        public void UntieOutgoingArcs()
        public void Isolate()
        public Arc ArcGoingTo(Node N)
        public Arc ArcComingFrom(Node N)
        public object Clone()    public static void BoundingBox(IList NodesGroup, out double[] MinPt, 
                                       out double[] MaxPt)
        public static double EuclidianDistance(Node N1, Node N2)
        public static double SquareEuclidianDistance(Node N1, Node N2)
        public static double ManhattanDistance(Node N1, Node N2)
        public static double MaxDistanceAlongAxis(Node N1, Node N2)    public override string ToString()
        public override bool Equals(object O)
        public override int GetHashCode()
    }public class Arc
    {
        public Arc(Node Start, Node End)    public Node StartNode { get/set }
        public Node EndNode { get/set }
        public double Weight { get/set }
        public bool Passable { get/set }    virtual public double Cost { get }
        public double Length { get }
        virtual protected double CalculateLength()    public override string ToString()
        public override bool Equals(object O)
        public override int GetHashCode()
    }public class AStar
    {
        public AStar(Graph G)    public bool SearchPath(Node StartNode, Node EndNode)
        public void Initialize(Node StartNode, Node EndNode)
        public bool NextStep()    public bool Initialized { get }
        public int StepCounter { get }
        public bool SearchStarted { get }
        public bool SearchEnded { get }
        public bool PathFound { get }
        public Node[] PathByNodes { get }
        public Arc[] PathByArcs { get }
        public bool ResultInformation(out int NbArcsOfPath, out double CostOfPath)    public double DijkstraHeuristicBalance { get/set }
        public Heuristic ChoosenHeuristic { get/set }
        public static Heuristic EuclidianHeuristic { get }
        public static Heuristic MaxAlongAxisHeuristic { get }
        public static Heuristic ManhattanHeuristic { get }
    }
    </PRE>
      

  3.   

    我想在问下
    类ARC与NODE是干什么用的