Это код, который я написал на VPython до сих пор, я новичок в Vpython, и я не настолько опытен в python, так что немного перепутаю, пожалуйста, ошибка, которую я получаю:Проблема с имитацией орбит в Visual Python
Traceback (most recent call last): File "C:\Users\Makka Pakka\Documents\Planetary Orbits.py", line 28 SUVAT(EarthInitialV,Distance) File "C:\Users\Makka Pakka\Documents\Planetary Orbits.py", line 4, in SUVAT EarthFinalV.x = sqrt((A.x) + 2*Acceleration*(B.x)) TypeError: unsupported operand type(s) for +: 'float' and 'vector'
from visual import *
def SUVAT(A,B):
EarthFinalV.x = sqrt((A.x) + 2*Acceleration*(B.x))
EarthFinalV.y = sqrt((A.y) + 2*Acceleration*(B.y))
EarthFinalV.z = sqrt((A.z) + 2*Acceleration*(B.z))
GravitationalConstant = 10
Sun = sphere(pos=(0,0,0), radius=10, color=color.red,
make_trail=True)
Earth = sphere(pos=(50,0,0), radius=5, color=color.yellow,
make_trail=True)
Sun.mass = 50
Earth.mass = 10
EarthInitialV = vector(5,5,5)
EarthFinalV = vector(0,0,0)
while 1 != 2:
Distance = Earth.pos - Sun.pos
GravitationalEquation = (GravitationalConstant*Sun.mass*Earth.mass)*Distance/mag(Distance)**3
Acceleration = GravitationalEquation/Earth.mass
SUVAT(EarthInitialV,Distance)
Earth.x.pos = Earth.x.pos + EarthFinalV.x
Earth.y.pos = Earth.y.pos + EarthFinalV.y
Earth.z.pos = Earth.z.pos + EarthFinalV.z
В чем проблема, в частности, вы сталкиваетесь? Что вы наблюдаете с вышеуказанным кодом? Ответ на них в вашем Вопросе поможет получить больше ответов. – nbryans
О, извините, что я включил это, плохо отредактировал его сейчас –