def dust(self, pyd, pxd, y1d, x1d, y2d, x2d): # debug
px = radians(pxd)
py = radians(pyd)
x1 = radians(x1d)
y1 = radians(y1d)
x2 = radians(x2d)
y2 = radians(y2d)
p_x = x2 - x1
p_y = y2 - y1
something = p_x * p_x + p_y * p_y
u = ((px - x1) * p_x + (py - y1) * p_y) / float(something)
if u > 1:
u = 1
elif u < 0:
u = 0
x = x1 + u * p_x
y = y1 + u * p_y
dx = x - px
dy = y - py
dist = sqrt(dx * dx + dy * dy)
return [round(abs(dist) * RADIUS, 2), round(degrees(y), 6), round(degrees(x), 6)]
评论列表
文章目录