資源簡介
顯示曲面(x-120)^2+z^2<=40(20<=y<=100),其中視點坐標P(120,0,100),點光源坐標為(120,80,100),屏幕坐標系為z平面,即坐標系為(i,j,0),顯示曲面。
代碼片段和文件信息
%本程序是一個三維曲面光照模型,描述如下:
%顯示曲面(x-120)^2+z^2<=40(20<=y<=100)其中視點坐標P(1200100)點光源坐標為
%(12080100)屏幕坐標系為z平面,即坐標系為(ij0),以真實感顯示曲面。
%分析,絕大部分分析工作老師上課已經講過,大體過程如下:
%按行掃描屏幕,每次填一個像素a(ij0),計算a點應為背景點還是對應曲面上的哪個點
%上課已經講過,另外如何計算漫反射和鏡面反射公式中的夾角也講過,相關內容見筆記
%下面介紹本程序在此基礎上改進的地方
%原本老師講的方法是每次掃描一個像素點就求方程組判斷是否是背景點。
%如此若背景很大的話計算會很耗時,本程序中先根據條件計算出可能是曲面投影點的區域,
%對這個區域進行計算確定應為前景還是背景,再進行填充,其他區域直接填充背景色。以
%此加快速度
%說明:
%本程序只為了表達光照模型的思想,所以其中中的相關參數是隨便取的,沒有查資料確定
%是什么材料的參數。
ka?=?0.8;%環境反射參數
kd?=?0.5;%漫反射參數
ks?=?0.7;%鏡面反射參數
acolor?=?[5015020]‘;%環境光強
dcolor?=?[2553078]‘;%漫反射光強
scolor?=?[23050144]‘;%點光源光強
backcolor?=?[14415523]‘;%背景色
m?=?200;%畫布高度
n?=?200;%畫布寬度
pixels?=?zeros(mn3);%存儲畫面像素信息,其中第三維的每層分別表示RGB顏色分量
%以下計算可能是曲面投影點區域的左右邊界
left?=?ceil(120?-?100*tan(asin(0.4)));%畫布上前景的左邊緣
- 上一篇:大地電磁一維正演MATLAB程序
- 下一篇:食品加工問題的數學建模論文
評論
共有 條評論