This paper presents a method, using a fast graph-search algorithm, of finding a feasible flight path for an air vehicle that flies between two locations. This flight path must satisfy the many constraints required to make the flight safe and efficient. We start by constructing a virtual terrain as a search space above the real terrain, to take into account real flight conditions and the limitations of the vehicle's performance. Consideration of safe altitude, the horizontal safety distance of the flight path and the phase of take-off and landing are included. The idea of a virtual terrain could also eliminate a significant amount of search space, from 3-Dimensions to 2-Dimensions, which takes much less computation time, but which may have a shortcoming in rugged terrain where most path points are higher than the cruise altitude. Hence we propose a further process, which takes less than a second with no extra computational load, to overcome this problem. A dimensionless fuel consumption ratio between climbing and level-turn is proposed to deal with the case of level flying between valleys. If climbing requires greater fuel consumption than taking a level turn, the algorithm chooses the level altitude flight path, hence improving the vertical smoothness of the flight. Using all these methods, including multi-resolution terrain and a fast searching method using a heuristic, we have successfully reduced the computation time of the algorithm to an acceptable level, and the simulation results show that our algorithm is feasible.Nomenclature C(i, j, m) = cost tensor DTEM = digital terrain elevation map D (i, j, m) = Distance function dh = altitude difference between two neighboring points EG = number of extended frontiers for hierarchical scheme F (i, j) = Forbidden matrix FCC = fuel consumption of climbing FCLT = fuel consumption of level turn g d = grid space(size) g dx , g dy = grid space in x and y coordinate H = cruise altitude Hc = safe altitude for flying over obstacles h (i, j ) = heuristic function = integer grid indices (i d , j d ) = integer grid index of destination point (i s , j s ) = integer grid index of start point KD = heuristic factor Kdh = dimensionless factor of fuel consumption ratio L (i, j, m) = Mapping function (L 1 (i, j, m), L 2 (i, j, m)) = one of the eight adjacent points of point(i, j )in direction m M(i, j, m) = 1 = Admissible matrix m = integer move indices mt = take-off direction ml = landing direction n = number of running step of algorithm nl = stages number of landing slope nt = stages number of take-off slope P (i, j) = point in grid space RC = maximum climbing rate of the air vehicle R min = minimum radius of level turn RC pg = climbing altitude per grid distance r = integer move indices of the points in second frontier r * (i, j, m) = optimal move tensor res = map down sampling factor S = number of states of search space S h = horizontal safety distance for passing through obstacles S m (i, j ) = admissible set of first frontier S r (i, j, m) = admissible set funct...