【问题标题】:finding the x and y coordinates for every angle找到每个角度的 x 和 y 坐标
【发布时间】:2018-12-05 21:17:31
【问题描述】:

我正在尝试编写一些代码来查找轨道上卫星的坐标,但我目前正在尝试只为一个忽略重力等的圆做这件事,并且你已经得到了半径。我已经尝试过这段代码,但循环不起作用,请帮忙

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

【问题讨论】:

  • 虽然答案已经指出了这里的问题,但以后请在一段代码的上下文中说明“不会工作”的意思。

标签: python math physics


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    首先,正如@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
    

    【讨论】:

      猜你喜欢
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      • 2020-03-25
      • 1970-01-01
      • 2013-04-06
      • 2020-08-15
      • 2011-10-01
      • 1970-01-01
      相关资源
      最近更新 更多