Это происходит потому, что cos(angle)
равно -0.9680080671170238
, поэтому 2 * cos(angle)
равно -1.9360161342340476
, что означает, что sqrt(2 * cos(angle))
является мнимым.
Встроенный math.sqrt
не может обрабатывать отрицательные аргументы, поэтому он выдает ValueError.
Если вы действительно хотите найти квадрат root отрицательного числа, вы можете использовать метод sqrt
из библиотеки cmath
:
from cmath import sqrt
, который в этом примере даст:
>>> end_xy
((761708.6575534055+739486.7340101058j), (4055734.2602401497+0j))