一、前言
圣诞节是基督教纪念耶稣诞生的重要节日。亦称耶稣圣诞节、主降生节,天主教亦称耶稣圣诞瞻礼。耶稣诞生的日期,《圣经》并无记载。公元336年罗马教会开始在12月25日过此节。12月25日原是罗马帝国规定的太阳神诞辰。有人认为选择这天庆祝圣诞,是因为基督教徒认为耶稣就是正义、永恒的太阳。5世纪中叶以后,圣诞节作为重要节日,成了教会的传统,并在东西派教会中逐渐传开。因所用历法不同等原因,各教派会举行庆祝的具体日期和活动形式也有差别。圣诞节习俗传播到亚洲主要是在十九世纪中叶,日本、韩国等都受到了圣诞文化的影响。现在西方在圣诞节常互赠礼物,举行欢宴,并以圣诞老人、圣诞树等增添节日气氛,已成为普遍习俗。圣诞节也成为西方世界以及其他很多地区的公共假日。
二、效果展示
三、实现步骤
1.随机产生51个坐标,在每一个坐标上绘制“*”号,产生 450 个雪花
2.我们可知。树是一个圆锥,我们利用cylinder函数产生一个圆锥,并且在surf在三维坐标面显示出来,也就是我们利用数学图形来展示实物效果,给人一个好的视觉效果。
四、编码实现
1.绘制漫天雪花
snow_count=450;
snowX=(rand(snow_count-200,1)*25-12.5)/30;
snowY=(rand(snow_count-200,1)*25-12.5)/30;
snowZ=(rand(snow_count-200,1)*27)/30;
color0 = jet(length(snowX));
for ii = 1:length(snowX)
plot3(snowX(ii),snowY(ii),snowZ(ii),'*','color',color0(ii, :),'markersize',randi(15))
end
hight=plot3(snowX,snowY,snowZ,'w*');
2.绘制树和装饰零件文章来源:https://www.toymoban.com/news/detail-762361.html
N = 6^5;
c = 50;
k = randi(6,c,1);
l = randperm(N,c);
q = @(x) rand(N,1);
a = q()*2*pi;
z = q(); r = .4*(1-z);
t = q();
x = r.*cos(a);
y = r.*sin(a);
P = {'ro','ys','md','b^','kh','c*'};
scatter3(x.*t,y.*t,z,[],[zeros(N,1) (t.*r).^.6 zeros(N,1)],'*')
plot3(0,0,1.05,'rp','markers',12,'markerf','r')
for i = 1:6
L = l(k==i);
plot3(x(L),y(L),z(L),P{i},'markers',8,'linew',2);
end
[X,Y,Z] = cylinder(.025,30);
surf(X,Y,-Z*.1)
view(3, 9)
axis equal off
整体代码如下文章来源地址https://www.toymoban.com/news/detail-762361.html
clc
clear all
close all
figure('color','k'),
hold on
snow_count=450;
snowX=(rand(snow_count-200,1)*25-12.5)/30;
snowY=(rand(snow_count-200,1)*25-12.5)/30;
snowZ=(rand(snow_count-200,1)*27)/30;
color0 = jet(length(snowX));
for ii = 1:length(snowX)
plot3(snowX(ii),snowY(ii),snowZ(ii),'*','color',color0(ii, :),'markersize',randi(15))
end
hight=plot3(snowX,snowY,snowZ,'w*');
N = 6^5;
c = 50;
k = randi(6,c,1);
l = randperm(N,c);
q = @(x) rand(N,1);
a = q()*2*pi;
z = q(); r = .4*(1-z);
t = q();
x = r.*cos(a);
y = r.*sin(a);
P = {'ro','ys','md','b^','kh','c*'};
scatter3(x.*t,y.*t,z,[],[zeros(N,1) (t.*r).^.6 zeros(N,1)],'*')
plot3(0,0,1.05,'rp','markers',12,'markerf','r')
for i = 1:6
L = l(k==i);
plot3(x(L),y(L),z(L),P{i},'markers',8,'linew',2);
end
[X,Y,Z] = cylinder(.025,30);
surf(X,Y,-Z*.1)
view(3, 9)
axis equal off
for i = 1:3:c*9
set(gca,'vie',[i, 9]);
drawnow
end
到了这里,关于程序员的浪漫—利用Matlab 实现圣诞树动态显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!