




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第利用Matlab實現(xiàn)繪制中秋山間秋月和皓月當空效果hold(ax,'on');
%=========================================================================
%顏色預定義,注意此處是hsv格式
cClouds=[330,25,100];%云的顏色
cSky=[220,50,50];%天空的顏色
cFurther=[230,25,90];%遠山的顏色
cCloser=[210,70,10];%近山的顏色
%=========================================================================
%繪圖函數(shù)調(diào)用
ax.Color=hsv2rgb(cFurther./[360,100,100]);%背景為遠山的顏色
drawSky(cSky,cFurther)%畫出天空顏色漸變效果
drawClouds(cClouds)%畫出彩色云朵效果
drawMountains(cFurther,cCloser)%畫出山脈效果
%=========================================================================
%功能函數(shù):
%-------------------------------------------------------------------------
%漸變背景生成函數(shù)
functiondrawSky(colSky,colFurther)
%顏色由hsv轉rgb
colSky=hsv2rgb(colSky./[360,100,100]);
colFurther=hsv2rgb(colFurther./[360,100,100]);
%構建漸變色網(wǎng)格
[XMesh,YMesh]=meshgrid(1:800,301:600);
ZMesh=zeros(size(XMesh));
CMesh=vColorMat([800,300],[colFurther;colSky]);
surf(XMesh,YMesh,ZMesh,'CData',CMesh,'EdgeColor','none');
%-------------------------------------------------------------------------
%云繪制函數(shù)
functiondrawClouds(colClouds)
colClouds=hsv2rgb(colClouds./[360,100,100]);
%隨機噪聲生成
[X,Y]=meshgrid(linspace(0,1,500));
CLX=(-cos(X.*2.*pi)+1).^.2;
CLY=(-cos(Y.*2.*pi)+1).^.2;
r=(X-.5).^2+(Y-.5).^2;
alp=abs(ifftn(exp(3i*rand(500))./r.^.8)).*(CLX.*CLY);
alp=alp./max(alp,[],'all');
CMesh=zeros([size(alp),3]);
CMesh(:,:,1)=colClouds(1);
CMesh(:,:,2)=colClouds(2);
CMesh(:,:,3)=colClouds(3);
%越向下、云越透明
dy=(1:500)./500.*0.8+0.2;
image([0,800],[350,600],CMesh,'AlphaData',alp.*(dy'));
%-------------------------------------------------------------------------
%山峰繪制函數(shù)
functiondrawMountains(colFurther,colCloser)
[X,Y]=meshgrid(linspace(0,1,800));
CLX=(-cos(X.*2.*pi)+1).^.2;
CLY=(-cos(Y.*2.*pi)+1).^.2;
r=(X-.5).^2+(Y-.5).^2;
%8層山
fori=1:8
%每次都生成一次二維隨機噪聲,并取其中一行的數(shù)據(jù)
h=abs(ifftn(exp(5i*rand(800))./r.^1.05)).*(CLX.*CLY).*10;
nh=(8-i)*30+h(400,:);
ifi==1,nh=nh.*.8;end
hm=ceil(max(nh));
CMesh=zeros([hm,800,3]);
%顏色矩陣構造,
tcol=colFurther+(colCloser-colFurther)./8.*(i);
tcol=hsv2rgb(tcol./[360,100,100]);
CMesh(:,:,1)=tcol(1);
CMesh(:,:,2)=tcol(2);
CMesh(:,:,3)=tcol(3);
%用nan數(shù)值框出山的輪廓
alp=ones(hm,800);
alp((1:hm)'nh)=nan;
%繪制山峰
image([-50,850],[0,hm],CMesh,'AlphaData',alp.*0.98);
%=========================================================================
%一個線性插值的漸變圖生成函數(shù)
functioncolorMat=vColorMat(matSize,colorList)
yList=((0:(matSize(2)-1))./(matSize(2)-1))';
xList=ones(1,matSize(1));
%線性插值
colorMat(:,:,1)=(colorList(1,1)+yList.*(colorList(2,1)-colorList(1,1)))*xList;
colorMat(:,:,2)=(colorList(1,2)+yList.*(colorList(2,2)-colorList(1,2)))*xList;
colorMat(:,:,3)=(colorList(1,3)+yList.*(colorList(2,3)-colorList(1,3)))*xList;
本人將代碼再次略作改編,貼合中秋主題,又寫了山間秋月的代碼,能夠動態(tài)展示變換的云霧以及慢慢變圓的月亮:
functionautumoon_2
%@author:slandarer
%gzh:slandarer隨筆
%axes設置
ax=gca;
ax.XTick=[];
ax.YTick=[];
ax.XLim=[0,800];
ax.YLim=[0,600];
ax.DataAspectRatio=[111];
hold(ax,'on');
%=========================================================================
%顏色預定義,注意此處是hsv格式
cFurther=[225,35,70];%遠山的顏色
cCloser=[210,70,10];%近山的顏色
cClouds=[2502643];%云的顏色
cSky=[21510018];%天空的顏色
%月亮顏色格式為rgb
cMoon=[253,252,222]./255;
%=========================================================================
%繪圖函數(shù)調(diào)用
ax.Color=hsv2rgb(cFurther./[360,100,100]);%背景為遠山的顏色
drawSky(cSky,cFurther)%畫出天空顏色漸變效果
%基礎繪制月亮
t1=linspace(-pi/2,pi/2,100);
t2=linspace(pi/2,3*pi/2,100);
X1=cos(t1).*35;Y1=sin(t1).*35;
X2=cos(t2).*35;Y2=sin(t2).*35;
moonHdl=fill([X1,X2]+600,[Y1,Y2]+500,cMoon,'E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育行業(yè)數(shù)字化營銷與招生策略在在線教育平臺用戶行為分析中的應用報告
- 成本控制哲學
- 經(jīng)驗成本管理
- 2025年重慶市事業(yè)單位招聘考試綜合類專業(yè)能力測試試卷(計算機類)解析
- 2025年中式面點師(高級)考試試卷:面點制作行業(yè)挑戰(zhàn)
- 2025年制冷空調(diào)特種作業(yè)操作證考試試卷:實操技能春季提升
- 2025年鑄造工(初級)鑄造生產(chǎn)現(xiàn)場安全管理與責任落實試題
- 2025年裝配鉗工(高級)考試試卷解析與高分試題
- 表面處理廢水處理與回收方案
- 復式層鋼木樓梯供貨安裝合同協(xié)議書范本
- 校服采購投標方案
- 病原生物與免疫學基礎
- 單個軍人隊列動作教案
- 柬埔寨鐵礦資源簡介
- 九年級上冊英語英語閱讀理解匯編題20套及解析
- GB/T 41837-2022溫泉服務溫泉水質要求
- 第二講東方管理學形成和發(fā)展
- GB/T 39604-2020社會責任管理體系要求及使用指南
- 《高等教育管理學》考試參考題庫(含答案)
- 物業(yè)公司經(jīng)營分析工作匯報課件
- 中心靜脈導管評估觀察記錄表
評論
0/150
提交評論