class Sim{ public double px=0.0; public double py=0.0; public double v=1.0; public double myu=0.3; public double alpha=30; public Sim(double x0,double y0,double v0){ init(x0,y0,v0); } public void init(double x0,double y0,double v0){ px=x0; py=y0; v=v0; } public void setMyu(double myu0){ myu=myu0; if(myu>1) myu=1.0; if(myu<0) myu=0.0; } public double dx_dt(){ return Math.cos(alpha*3.14159/180)*(v+dv_dt()); } public double dy_dt(){ return Math.sin(alpha*3.14159/180)*(v+dv_dt()); } public double dv_dt(){ if(9.8065*Math.sin(alpha*3.14159/180)-myu*9.8065*Math.cos(alpha*3.14159/180)<0) return 0; else return 9.8065*Math.sin(alpha*3.14159/180)-myu*9.8065*Math.cos(alpha*3.14159/180); } public void one_step(double dt){ px=px+dt*dx_dt(); py=py+dt*dy_dt(); v=v+dt*dv_dt(); } }