Python: Попытка преобразовать результирующий угол и угол в исходные значения i и j. - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь заставить python получить результирующее значение и значение угла, чтобы вернуть исходные значения i и j вектора. Я могу заставить его перейти от значений i и j к результирующему и угловому, но с другой стороны это сложно.

    #vector conversion (x,y) to resultant and angle#
import math

menu = input('Vector Conversion: for vector to (x,y) press 1. \n                   for (x,y) to vector press 2.')
if menu == '2':
    user_distancex = float(input('What is the distance in x-direction?'))
    user_distancey = float(input('What is the distance in y-direction?'))

    r = (math.sqrt(user_distancex**2 + user_distancey**2))  
    theta = math.atan(user_distancey/user_distancex)*(180/math.pi)

    print(r, 'feet',theta, 'degrees')
elif menu == '1':

    user_angle = float(input('What is the angle of your vector?'))
    user_resultant = float(input('What is the distance (resultant) of your vector'))
    x_dist = user_resultant*math.cos(math.degrees(user_angle))
    y_dist = user_resultant*math.sin(math.degrees(user_angle))
    print((x_dist,y_dist))

1 Ответ

0 голосов
/ 02 ноября 2018

math.degrees(user_angle) преобразует ваш пользовательский угол из радиан в градусы. Но это уже в градусах, если пользователь вводит его в градусах!

Вы должны использовать math.radians(user_angle) вместо.

Это также помогает уточнить вашу подсказку ввода:

user_angle = float(input('What is the angle of your vector (in degrees)?'))
...