Three-dimensional path planning for unmanned aerial vehicle based on linear programming