function firework
% 烟花烟花满天飞
% CopyRight:xiezhh(谢中华)
% 2011.6.25
OldHandle = findobj( 'Type', 'figure', 'Tag', 'FireWork' ) ;
if ishandle(OldHandle)
close(OldHandle) ;
end
% 图形窗口初始化
fig = figure('units','normalized','position',[0.1 0.1 0.8 0.8],...
'menubar','none','name','烟花满天飞(谢中华制作)',...
'numbertitle','off','color',[0 0 0],'tag','FireWork');
% 烟花炸开前的初始位置
h0 = line(0,0,0,'marker','.',...
'markersize',18,...
'MarkerEdgeColor',[1 1 1],...
'MarkerFaceColor',[1 1 1],...
'EraseMode' , 'xor',...
'color',[0 0 0]);
% 设置坐标系显示属性
axis equal
axis([-50 50 -50 50 0 100])
axis off
view(-42,22)
% 设置参数
rate = 1:-0.01:0; % 颜色衰减率
v0 = 45; % 烟花头初始速度
g = -9.8; % 重力加速度
usedtime = -v0/g; % 烟花头爆炸前所经历时间
zs = v0*usedtime+0.5*g*usedtime^2; %烟花头爆炸前达到的最高高度
theta = rand(250,1)*2*pi; % 各粒子速度的方位角
phi = rand(250,1)*2*pi-pi; % 各粒子速度的仰角
age = 20; % 粒子生存期
% 常用颜色矩阵
colormat = [1.0 0.5 0.5
1.0 0.75 0.5
1.0 1.0 0.5
0.75 1.0 0.5
0.5 1.0 0.5
0.5 1.0 0.75
0.5 1.0 1.0