【发布时间】:2020-05-06 17:03:47
【问题描述】:
我正在尝试获取此代码的结果:
from math import cos, sin, atan2, sqrt
from numpy import rad2deg
dis_ab= 531466.5079260713
mid=(531353.2565883757, 10971.133034496568)
mid_angle_from_x_in_rad=1.5501517288292364
mid_angle_from_x_in_deg=88.8171516668233
gdt1_x=761708.6575534055
gdt1_y=3679240.5391967976
uav_x= 230355.40096502978
uav_y=3668269.406162301
angle=178.8171516668233
def find_point_for_second_gdt():
dist_ab = sqrt(((gdt1_x - uav_x) ** 2) + ((gdt1_y - uav_y) ** 2))
mid = (gdt1_x - uav_x), (gdt1_y - uav_y)
mid_angle_from_x_in_rad = atan2(mid[0], mid[1])
mid_angle_from_x_in_deg = (rad2deg(mid_angle_from_x_in_rad))
angle = 90 + mid_angle_from_x_in_deg
x = gdt1_x + (dis_ab * sqrt(2 * cos(angle)))
y = gdt1_y + (dis_ab * sqrt(2 * sin(angle)))
end_xy = (x, y)
point_in_lat_lon = convert_to_lat_lon(end_xy)
print(point_in_lat_lon)
output:
Traceback (most recent call last):
File "/home/yovel/PycharmProjects/TriangulationCalc/find_2nd_position.py", line 36, in <module>
find_point_for_second_gdt()
File "/home/yovel/PycharmProjects/TriangulationCalc/find_2nd_position.py", line 26, in find_point_for_second_gdt
x = gdt1_x + (dis_ab * sqrt(2 * cos(angle)))
ValueError: math domain erro
find_point_for_second_gdt()
我看了这篇文章: ValueError: math domain error
我的想法可能是使用 abs() 和 round()。
没有解决。
【问题讨论】:
标签: python python-3.x math trigonometry valueerror