查找每个角度的x和y坐标

时间:2018-11-26 16:40:57

标签: python math physics

我正在尝试编写一些代码,以找到卫星在轨道上的坐标,但是我目前正在尝试仅对忽略重力等的圆执行此操作,并且已经获得了半径。我已经尝试过此代码,但是循环无法正常工作

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 :(得分:2)

在执行行angle = math.radians(angle)时,这将替换在上一行中检查的同一angle变量的值-因此,由于angle永远不会高于360,循环将永远不会结束。

我的建议是在将变量转换为弧度时更改其名称,以免覆盖其值,例如:angle_radians = math.radians(angle)。因此,您还必须更改sincos才能使用新变量。

答案 1 :(得分:1)

首先,如@Random所指出的,您需要为angle = math.radians(angle)使用不同的变量名。例如,angle_radians

第二,当您使用print时,需要将x_coordy_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