import matplotlib.pyplot as plt import numpy as np import math v_x_0=1 v_y_0=0.2 dt=0.01 sdt=0.0001 end_t=10000 x=[3] y=[2] v_x=[] v_y=[] v_x.append(v_x_0) v_y.append(v_y_0) for i in range(int(end_t/dt)): if abs(math.sqrt(math.pow(x[i],2)+math.pow(y[i],2))-1)>0.1: if abs(x[i])<4.9: if abs(y[i])<4.9: x.append(x[i]+v_x[i]*dt) y.append(y[i]+v_y[i]*dt) v_x.append(v_x[i]) v_y.append(v_y[i]) elif 4.90.0001: x.append(x[i]+v_x[i]*sdt) y.append(y[i]+v_y[i]*sdt) v_x.append(v_x[i]) v_y.append(v_y[i]) elif abs(y[i])>5: pass elif 4.90.0001: x.append(x[i]+v_x[i]*sdt) y.append(y[i]+v_y[i]*sdt) v_x.append(v_x[i]) v_y.append(v_y[i]) elif 4.90.0001: x.append(x[i]+v_x[i]*dt) y.append(y[i]-v_y[i]*dt) v_x.append(v_x[i]) v_y.append(-v_y[i]) elif abs(abs(y[i])-5)>0.0001: if abs(abs(x[i])-5)<0.0001: x.append(x[i]-v_x[i]*dt) y.append(y[i]+v_y[i]*dt) v_x.append(-v_x[i]) v_y.append(v_y[i]) elif abs(abs(x[i])-5)>0.0001: x.append(x[i]+v_x[i]*sdt) y.append(y[i]+v_y[i]*sdt) v_x.append(v_x[i]) v_y.append(v_y[i]) elif abs(y[i])>5: pass elif abs(x[i])>5: pass elif 0.0001