<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
效果如下:
調一下資料還能改成三角眼:
南瓜主體函數從知友 [九章演演算法] 的一張圖而來,大體是瓜身瓜柄分段函數,然後繞著z軸旋轉一週得到曲面,我對數值做了微調,原圖及原始資料:
這裡我故意保留了網格讓南瓜看起來有一點布娃娃的感覺,(大家也可以根據自己喜好改寫,例如將’EdgeColor’設定為’none’並打個光啥的)
% 構造網格 [t,p]=meshgrid(linspace(0,2*pi,200),linspace(0,pi-.05,200)); % 二元分段函數 foutline=@(t,p)(p<=.14).*90.*cos(7.*p)+(p>.14).*(cos(20.*t)+70).*(p.*(pi-p+.1)).^.2; % 球面座標轉化為X,Y,Z h=cos(p).*foutline(t,p); R=sin(p).*foutline(t,p); R=R; X=cos(t).*R; Y=sin(t).*R; % 顏色矩陣構造 CMap=ones([size(t),3]); tMap=ones(size(t)); c1=[253,158,3]./255; c2=[76,103,86]./255; for i=1:3 tMap(:,:)=c1(i); tMap(p<=.14)=c2(i); CMap(:,:,i)=tMap; end figure() surf(X,Y,h,'CData',CMap,'EdgeColor',[0,0,0],'EdgeAlpha',.2)
眼睛嘴巴部分:
這部分我就將一部分曲面上的點設定為nan,繪製出來的影象相對應地方就是空缺:
% 畫個嘴巴 mask(maskX>50&maskX<100&maskY>130&maskY<140)=nan; % 矩形眼睛 mask(maskX>45&maskX<65&maskY>90&maskY<100)=nan; mask(maskX>85&maskX<105&maskY>90&maskY<100)=nan; % 三角形眼睛 % mask(maskX>45&maskX<70&maskY>90&maskY<100)=nan; % mask(maskX>80&maskX<105&maskY>90&maskY<100)=nan; % mask(maskX>45&maskX<70&maskY>90&maskY<100&(maskX-maskY>-35))=1; % mask(maskX>45&maskX<70&maskY>90&maskY<100&(maskX-maskY(end:-1:1,:)<-55))=1; % mask(maskX>80&maskX<105&maskY>90&maskY<100&(maskX-maskY>5))=1; % mask(maskX>80&maskX<105&maskY>90&maskY<100&(maskX-maskY(end:-1:1,:)<-15))=1; % 球面座標轉化為X,Y,Z h=cos(p).*foutline(t,p); R=sin(p).*foutline(t,p); R=R.*mask; X=cos(t).*R; Y=sin(t).*R;
發光:
為了模擬發光,我在南瓜內部繪製了一個小一圈的南瓜並設定為燈光的顏色:
% 繪製一個小一圈的南瓜頭假裝光源 h=cos(p).*foutline(t,p).*0.95; R=sin(p).*foutline(t,p).*0.95; X=cos(t).*R; Y=sin(t).*R; surf(X,Y,h,'FaceColor',[248,240,186]./255,'EdgeColor','none')
function pumpkin clc;clear; % 構造網格 [t,p]=meshgrid(linspace(0,2*pi,200),linspace(0,pi-.05,200)); % 二元分段函數 foutline=@(t,p)(p<=.14).*90.*cos(7.*p)+(p>.14).*(cos(20.*t)+70).*(p.*(pi-p+.1)).^.2; mask=ones(size(t)); [maskX,maskY]=meshgrid(1:size(t,1),1:size(t,2)); % 畫個嘴巴 mask(maskX>50&maskX<100&maskY>130&maskY<140)=nan; % 矩形眼睛 mask(maskX>45&maskX<65&maskY>90&maskY<100)=nan; mask(maskX>85&maskX<105&maskY>90&maskY<100)=nan; % 三角形眼睛 % mask(maskX>45&maskX<70&maskY>90&maskY<100)=nan; % mask(maskX>80&maskX<105&maskY>90&maskY<100)=nan; % mask(maskX>45&maskX<70&maskY>90&maskY<100&(maskX-maskY>-35))=1; % mask(maskX>45&maskX<70&maskY>90&maskY<100&(maskX-maskY(end:-1:1,:)<-55))=1; % mask(maskX>80&maskX<105&maskY>90&maskY<100&(maskX-maskY>5))=1; % mask(maskX>80&maskX<105&maskY>90&maskY<100&(maskX-maskY(end:-1:1,:)<-15))=1; % 球面座標轉化為X,Y,Z h=cos(p).*foutline(t,p); R=sin(p).*foutline(t,p); R=R.*mask; X=cos(t).*R; Y=sin(t).*R; % 顏色矩陣構造 CMap=ones([size(t),3]); tMap=ones(size(t)); c1=[253,158,3]./255; c2=[76,103,86]./255; for i=1:3 tMap(:,:)=c1(i); tMap(p<=.14)=c2(i); CMap(:,:,i)=tMap; end figure() surf(X,Y,h,'CData',CMap,'EdgeColor',[0,0,0],'EdgeAlpha',.2) ax=gca; hold(ax,'on') % ax.Color=[0 0 0]; % 繪製一個小一圈的南瓜頭假裝光源 h=cos(p).*foutline(t,p).*0.95; R=sin(p).*foutline(t,p).*0.95; X=cos(t).*R; Y=sin(t).*R; surf(X,Y,h,'FaceColor',[248,240,186]./255,'EdgeColor','none') ax.View=[-137.3000 13.9844]; end
以上就是利用Matlab繪製一個可愛的南瓜燈的詳細內容,更多關於Matlab繪製南瓜燈的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45