




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第利用Matlab實現繪制中秋山間秋月和皓月當空效果hold(ax,'on');
%=========================================================================
%顏色預定義,注意此處是hsv格式
cClouds=[330,25,100];%云的顏色
cSky=[220,50,50];%天空的顏色
cFurther=[230,25,90];%遠山的顏色
cCloser=[210,70,10];%近山的顏色
%=========================================================================
%繪圖函數調用
ax.Color=hsv2rgb(cFurther./[360,100,100]);%背景為遠山的顏色
drawSky(cSky,cFurther)%畫出天空顏色漸變效果
drawClouds(cClouds)%畫出彩色云朵效果
drawMountains(cFurther,cCloser)%畫出山脈效果
%=========================================================================
%功能函數:
%-------------------------------------------------------------------------
%漸變背景生成函數
functiondrawSky(colSky,colFurther)
%顏色由hsv轉rgb
colSky=hsv2rgb(colSky./[360,100,100]);
colFurther=hsv2rgb(colFurther./[360,100,100]);
%構建漸變色網格
[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');
%-------------------------------------------------------------------------
%云繪制函數
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'));
%-------------------------------------------------------------------------
%山峰繪制函數
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
%每次都生成一次二維隨機噪聲,并取其中一行的數據
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數值框出山的輪廓
alp=ones(hm,800);
alp((1:hm)'nh)=nan;
%繪制山峰
image([-50,850],[0,hm],CMesh,'AlphaData',alp.*0.98);
%=========================================================================
%一個線性插值的漸變圖生成函數
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;
%=========================================================================
%繪圖函數調用
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壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 借用協(xié)議合同范例
- 鄉(xiāng)村農家樂合同范例
- 商品銷售與管理實習總結模版
- 2024年掃路車項目資金需求報告代可行性研究報告
- 集合及函數概念知識點總結模版
- 醫(yī)療器械市場趨勢報告技術創(chuàng)新的核心驅動力分析
- 小兒脫水護理課件
- 醫(yī)院管理與IP責任減少醫(yī)療差錯的策略
- 人工智能在藥物研發(fā)中的倫理考量
- 個人林地流轉合同范例
- 《李煜詩詞鑒賞:以〈虞美人〉為例》名師課件1
- 結婚函調報告表
- 廣鐵招聘機考題庫
- 公司外派工作合同協(xié)議書
- 城市道路與開放空間低影響開發(fā)雨水設施
- 巾幗家政職業(yè)技能競賽(家政服務)理論考試題庫(含答案)
- 電工電子學智慧樹知到期末考試答案章節(jié)答案2024年湖南大學
- 七年級期中考試后家長會-圖文課件
- Python自動化運維(技術與最佳實踐)
- HY/T 0386-2023赤潮災害損失調查與評估指南
- 小學期中家長會活動方案及流程
評論
0/150
提交評論