найти координаты x и y для каждого угла - PullRequest
0 голосов
/ 26 ноября 2018

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

import math

r = 5

angle = 0

while angle <= 360:

    angle = math.radians(angle)

    x_coord = math.sin(angle)*r

    y_coord = math.cos(angle)*r
    print ("Position [",x_coord,y_coord,"]")
    angle +=1

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Во-первых, как указал @Random, вам нужно использовать другое имя переменной для angle = math.radians(angle).Например, angle_radians

Во-вторых, когда вы используете print, вам необходимо преобразовать x_coord и y_coord в строку: str(x_coord) и str(y_coord)

Попробуйте это:

import math

r = 5

angle = 0

while angle <= 360:

    angle_radians = math.radians(angle)

    x_coord = math.sin(angle_radians)*r

    y_coord = math.cos(angle_radians)*r
    print ("Position [",str(x_coord),str(y_coord),"]")
    angle +=1
0 голосов
/ 26 ноября 2018

Когда выполняется строка angle = math.radians(angle), это заменяет значение той же переменной angle, которая проверяется в предыдущей строке - таким образом, поскольку angle никогда не будет больше 360, цикл никогда не завершится.

Я рекомендую изменить имя переменной при преобразовании ее в радианы, чтобы не перезаписывать ее значение - например, так: angle_radians = math.radians(angle).Таким образом, вам также придется изменить sin и cos, чтобы использовать также новую переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...