我试图模拟两个球在一个维度上的系统。
但是在模拟我的程序时,我收到以下错误:
elif (bola1.pos.z+0.5) >= (bola2.pos.z-0.5):
^
IndentationError: unindent does not match any outer indentation level
不知道为什么我得到这个错误,我无法修复我的代码如下:
#En est programa se realiza la amimacion de una colision elastica
#entre dos esferas moviendose sobre el mismo eje
#para particulas de diferente masa pero con direcciones opuestas
#el usuario puede elegir que masa darles a las particulas y su radio
from visual import *
scene=display()
scene.title ='Boucing Ball'
m1=input('Dime que masa deseas en tu particula 1: ')
m2=input('Dime que masa deseas en tu particula 2: ')
v1==input('Dime que velocidad inicial deseas en tu particula 1: ')
v2==input('Dime que velocidad inicial deseas en tu particula 2: ')
x1==input('Dime que posicion inicial deseas en tu particula 1: ')
x2==input('Dime que posicion inicial deseas en tu particula 2: ')
bola1=sphere(pos=(0,0,x1), radius=0.5, color=color.yellow)
bola2=sphere(pos=(0,0,x2), radius=0.5, color=color.red)
bola1.vel=vector(0,0,v1) #Se define la velocidad de las esferas
bola2.vel=vector(0,0,v2)
dt=0.0003
t=0.0
g=9.8
while (bola2.pos.z)>=0.0: #Este while hace que tome varios snapshots
rate(20) # Mas lento
if (bola1.pos.z+0.5)<=0.0:
bola1.vel.z=-bola1.vel.z
ap1=bola1.vel.z
ap2=bola2.vel.z
bola1.vel.z=bola1.vel.z-(g*t)
bola2.vel.z=bola2.vel.z-(g*t)
bola1.pos.z=bola1.pos.z+(((bola1.vel.z-ap1)/2.0)*dt)
bola2.pos.z=bola2.pos.z+(((bola2.vel.z-ap2)/2.0)*dt)
elif (bola1.pos.z+0.5) >= (bola2.pos.z-0.5):
ap1=bola1.vel.z
ap2=bola2.vel.z
bola1.vel.z=(((m1-m2)/(m1+m2))*ap1) + (((2.0*m2)/(m1+m2))*ap2)
bola2.vel.z=(((2.0*m1)/(m1+m2))*ap1) + (((m2-m1)/(m1+m2))*ap2)
ap1=bola1.vel.z
ap2=bola2.vel.z
bola1.vel.z=bola1.vel.z-(g*t)
bola2.vel.z=bola2.vel.z-(g*t)
bola1.pos.z=bola1.pos.z+(((bola1.vel.z-ap1)/2.0)*dt)
bola2.pos.z=bola2.pos.z+(((bola2.vel.z-ap2)/2.0)*dt)
else:
ap1=bola1.vel.z
ap2=bola2.vel.z
bola1.vel.z=bola1.vel.z-(g*t)
bola2.vel.z=bola2.vel.z-(g*t)
bola1.pos.z=bola1.pos.z+(((bola1.vel.z-ap1)/2.0)*dt)
bola2.pos.z=bola2.pos.z+(((bola2.vel.z-ap2)/2.0)*dt)
t=t+dt
抱歉,西班牙语的评论是我的母语。如果不了解,改变。但我认为错误是指出来的。
请帮帮我。
答案 0 :(得分:1)
用
运行它python -t my_script.py
你会发现我认为你的问题