因此,我試圖模擬地球在太陽周圍的行駛,其中地球的速度由其在原點和水平面的角度決定。我通過創建一個函數使用三角形的tanh(相對/相鄰)規則來做到這一點,O_correction(x,y)
。問題是,它不是一個圓形軌道而是螺旋形,我不知道爲什麼。模擬軌道
scene = canvas()
scene.background = color.white
O = 0
ball = sphere(pos=vector(10,0,0), radius=0.1, color=color.blue)
x = ball.pos.x
y = ball.pos.y
def O_correction(x,y):
O = math.atan((((y)**2)**0.5)/(((x)**2)**0.5))
answer = O
if x >= 0 and y >= 0:
answer = O
if x < 0 and y >= 0:
answer = pi - O
if x <= 0 and y < 0:
answer = O + pi
if x > 0 and y < 0:
answer =pi*2 - O
return answer
t =0
while t < 100:
x = ball.pos.x
y = ball.pos.y
print = (float(O_correction(x,y))
print = ((x**2) + (y**2))**0.5)
ball.pos.x -= sin(O_correction(x,y))
ball.pos.y += cos(O_correction(x,y))
print(" ")
t += 1
非常感謝一些幫助, 乾杯
這並不回答你的問題,但我認爲,而不是'O_correction',你可以使用['atan2'](https://docs.python.org/2/library/math.html#math.atan2)而不是'atan'。 – jadhachem