绚丽烟花的matlab源程序.pdf

上传人:李医生 文档编号:8857829 上传时间:2021-01-20 格式:PDF 页数:3 大小:56.44KB
返回 下载 相关 举报
绚丽烟花的matlab源程序.pdf_第1页
第1页 / 共3页
绚丽烟花的matlab源程序.pdf_第2页
第2页 / 共3页
绚丽烟花的matlab源程序.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《绚丽烟花的matlab源程序.pdf》由会员分享,可在线阅读,更多相关《绚丽烟花的matlab源程序.pdf(3页珍藏版)》请在三一文库上搜索。

1、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,FireW

2、ork); % 烟花炸开前的初始位置 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;

3、 % 烟花头爆炸前所经历时间 zs = v0*usedtime+0.5*g*usedtime2; %烟花头爆炸前达到的最高高度 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 0.5 0.75 1.0 0.5 0.5 1.0 0.75 0.5 1

4、.0 1.0 0.5 1.0 1.0 0.5 0.75; % 随机产生各粒子对应的颜色序号 colorid = randsample(12,250,true); % 粒子对应的颜色矩阵 colormat = colormat(colorid,:); % 粒子颜色与背景色(夜色)的距离 colordist = sqrt(sum(colormat.2,2); v1 = 20; % 粒子的初始速度 k = 1; % 颜色衰减率初始序号 timerA = timer(TimerFcn,TimerFcnA,. executionmode,fixedspacing,Period,0.001); start

5、(timerA); h = getappdata(gcf,HandleParticle); timerB = timer(TimerFcn,TimerFcnB,. executionmode,fixedspacing,period,0.001); %- - % 定时器回调函数(烟花头) %- - function TimerFcnA(timerA,event) ta = get(timerA,TasksExecuted)*0.1; if ta 0 colordist = sqrt(sum(colormat.2,2); for i = 1:250 xi = v1*cos(phi(i)*cos(theta(i)*tb; yi = v1*cos(phi(i)*sin(theta(i)*tb; zi = zs+v1*sin(phi(i)*tb+0.5*g*tb2; set(h(i),XData,xi,YData,yi,ZData,zi,. MarkerEdgeColor,colormat(i,:),. MarkerFaceColor,colormat(i,:) end drawnow age = age-0.1; k = k+1; else stop(timerB); delete(h) end end %- end

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1