物體以一定的初速度沿水平方向拋出,如果物體僅受重力作用,這樣的運(yùn)動(dòng)叫做平拋運(yùn)動(dòng)。平拋運(yùn)動(dòng)可看作水平方向的勻速直線運(yùn)動(dòng)以及豎直方向的自由落體運(yùn)動(dòng)的合運(yùn)動(dòng)。平拋運(yùn)動(dòng)的物體,由于所受的合外力為恒力,所以平拋運(yùn)動(dòng)是勻變速曲線運(yùn)動(dòng),平拋物體的運(yùn)動(dòng)軌跡為一拋物線。平拋運(yùn)動(dòng)是曲線運(yùn)動(dòng) 平拋運(yùn)動(dòng)的時(shí)間僅與拋出點(diǎn)的豎直高度有關(guān);物體落地的水平位移與時(shí)間(豎直高度)及水平初速度有關(guān)。 復(fù)制代碼代碼如下: html head meta charset=utf-8 title html5炮彈 /title script //box var box_x=0; var box_y=0; var box_width=300; var box_height=300; //ball var ball_x=10; var ball_y=10; var ball_radius=10; var ball_vx=10; var ball_vy=0; //constant var g=10;//note var rate=0.9; //bound var bound_left=box_x+ball_radius; var bound_right=box_x+box_width-ball_radius; var bound_top=box_y+ball_radius; var bound_bottom=box_y+box_height-ball_radius; //context var ctx; function init() { ctx=document.getElementById('canvas').getContext('2d'); ctx.lineWidth=ball_radius; ctx.fill ; move_ball(); setInterval(move_ball,100); } function move_ball() { ctx.clearRect(box_x,box_y,box_width,box_height); move_and_check(); ctx.beginPath(); ctx.arc(ball_x,ball_y,ball_radius,0,Math.PI*2,true); ctx.fill(); ctx.strokeRect(box_x,box_y,box_width,box_height); } function move_and_check() { var cur_ball_x=ball_x+ball_vx; var temp=ball_vy; ball_vy=ball_vy+g; var cur_ball_y=ball_y+ball_vy+g/2; if(cur_ball_x bound_left) { cur_ball_x=bound_left; ball_vx=-ball_vx*0.9; ball_vy=ball_vy*0.9; } if(cur_ball_x bound_right) { cur_ball_x=bound_right; ball_vx=-ball_vx*0.9; ball_vy=ball_vy*0.9; } if(cur_ball_y bound_top) { cur_ball_y=bound_top; ball_vy=-ball_vy*0.9; ball_vx=ball_vx*0.9; } if(cur_ball_y bound_bottom) { cur_ball_y=bound_bottom; ball_vy=-ball_vy*0.9; ball_vx=ball_vx*0.9; } ball_x=cur_ball_x; ball_y=cur_ball_y; } /script /head body onLoad="init()" canvas id="canvas" width="400" height="400"/ /body /html