MATLAB·大學(xué)物理·斜上拋運(yùn)動(dòng)之放煙花動(dòng)畫(huà)
對(duì)于于煙花綻放,我們的處理思路是在爆破點(diǎn)引入一系列隨機(jī)發(fā)射角度,然后沿每個(gè)角度進(jìn)行斜上拋運(yùn)動(dòng)。并把斜上拋運(yùn)動(dòng)處理為描點(diǎn)成線的動(dòng)畫(huà)。
對(duì)于描點(diǎn)成線的動(dòng)畫(huà),MATLAB中配備了animatedline和addpoints還有clearpoints
對(duì)于顏色變化,我們可以自由設(shè)置line的color。

N=50;%煙花條紋個(gè)數(shù)
theta=sort(rand(1,N))*2*pi;%隨機(jī)50個(gè)角度
t=linspace(0,2,N)'; % 時(shí)間
v0=25; % 初始速度
h=100;%爆破高度
x=v0*cos(theta).*t;%水平位移
y=(v0*sin(theta)+5).*t-1/2*10*t.^2+h;%豎直位移
然后我們對(duì)其循環(huán)添加點(diǎn)可得到煙花動(dòng)畫(huà):

這樣就是一個(gè)高樓處平視煙花的正視圖?,F(xiàn)在我們想造多個(gè)煙花,需要設(shè)置不同的x0和h0:
x0(j)=100*(rand-0.5);
h0(j)=80+20*rand;
……
然后在上一個(gè)煙花結(jié)束后,
? ? pause(0.2);
? ? clearpoints(L);
……
運(yùn)行程序效果為:

然后糊一張黑夜,比如:

唔,似乎有些拉跨,先不糊了。改天再整一篇MATLAB繪制星空的
再次運(yùn)行得:

快過(guò)年了……
標(biāo)簽: