Our goal is to find an approximate shortest path for a point robot moving in a planar subdivision with n vertices. Let 1 be a real number. Distances in each face of this subdivision are measured by a convex distance function whose unit disk is contained in a concentric unit Euclidean disk, and contains a concentric Euclidean disk with radius 1/. Different convex distance functions may be used for different faces, and obstacles are allowed. These convex distance functions may be asymmetric. For any (0, 1) and for any two points vs and vd, we give an algorithm that finds a path from vs to vd whose cost is at most (1 + ) times the optimal. Our algorithm runs in O 2 log 2 n3 log n time. This bound does not depend on any other parameters; in particular it does not depend on the minimum angle in the subdivision. We give applications to two special cases that have been considered before: the weighted region problem and motion planning in the presence of uniform flows. For the weighted reg...