主頁(yè) > 知識(shí)庫(kù) > html5模擬平拋運(yùn)動(dòng)(模擬小球平拋運(yùn)動(dòng)過(guò)程)

html5模擬平拋運(yùn)動(dòng)(模擬小球平拋運(yùn)動(dòng)過(guò)程)

熱門標(biāo)簽:百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 阿里云 美圖手機(jī) 硅谷的囚徒呼叫中心 智能手機(jī) 網(wǎng)站建設(shè) 使用U盤裝系統(tǒng) 檢查注冊(cè)表項(xià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) 平拋運(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.fillStyle="rgb(200,0,50)";
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>

html5模擬小球平拋運(yùn)動(dòng)過(guò)程。

標(biāo)簽:煙臺(tái) 湘潭 湖北 通遼 懷化 賀州 黃山 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html5模擬平拋運(yùn)動(dòng)(模擬小球平拋運(yùn)動(dòng)過(guò)程)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266