freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

長方體體的光照效果_計算機圖形學(xué)課程設(shè)計-文庫吧

2025-06-10 11:51 本頁面


【正文】 pts[6].z= 1。 pts[6].w=1。 pts[7].x= 1。 pts[7].y= 2。 pts[7].z= 1。 pts[7].w=1。 fn=6。 faces=new PLANE[fn]。 faces[0].v0=0。 faces[0].v1=1。 faces[0].v2=2。 faces[0].v3=3。 faces[1].v0=4。 faces[1].v1=5。 faces[1].v2=1。 faces[1].v3=0。 faces[2].v0=5。 faces[2].v1=6。 faces[2].v2=2。 faces[2].v3=1。 faces[3].v0=6。 faces[3].v1=7。 faces[3].v2=3。 faces[3].v3=2。 faces[4].v0=7。 faces[4].v1=4。 faces[4].v2=0。 faces[4].v3=3。 faces[5].v0=7。 faces[5].v1=6。 faces[5].v2=5。 faces[5].v3=4。 8 、視線方向、光照方向 1) 點光源 = 100。 = 100。 = 100。 Ia = 。//環(huán)境光入射強度 Ip = 。//漫反射入射光強度 2) 視線方向 VECTOR eye_vec。 = 0。 = 0。 = 1。 3) 定義光照方向 light_vec = new VECTOR[fn]。 VECTOR vector[6][2] 。 for(i=0。 i6。 i++) { vector[i][0] = CalculateVector(pts[faces[i].v0], pts[ faces[i].v1], i )。 vector[i][1] = CalculateVector(pts[faces[i].v0], pts[ faces[i].v2], i )。 } 9 1) 計算各個面的外法向量 faces[0].n = VecCross(vector[0][0], vector[0][1] )。 for(i=0。 i6。 i++) { faces[i].n = VecCross(vector[i][0], vector[i][1] )。 } 2) 各個面的可見性判定 float cos_angle。 for(i=0。 i6。 i++) { cos_angle = ()*(InnerProduct(faces[i].n, eye_vec))/(GetModule(faces[i].n)*GetModule(eye_vec))。 if(cos_angle0) faces[i].flag = VISIABLE。 else faces[i].flag = UNVISIABLE。 } 3) 計算各個面的中心點 for(i=0。 ifn。 i++) { 10 faces[i]. = (pts[faces[i].v0].x+pts[faces[i].v1].x+pts[faces[i].v2].x+pts[faces[i].v3].x)/ 。 faces[i]. = (pts[faces[i].v0].y+pts[faces[i].v1].y+pts[faces[i].v2].y+pts[faces[i].v3].y)/ 。 faces[i]. = (pts[faces[i].v0].z+pts[faces[i].v1].z+pts[faces[i].v2].z+pts[faces[i].v3].z)/ 。 faces[i]. = (pts[faces[i].v0].w+pts[faces[i].v1].w+pts[faces[i].v2].w+pts[faces[i].v3].w)/ 。 } 4) 計算各個面的光照方向 for(i=0。 ifn。 i++) { light_vec[i] = CalculateVector(illuminant, faces[i].center, EOF)。 } 5) 計算各個面的漫反射光強 for(i=0。 ifn。 i++) { faces[i].Id = Ip*faces[i].kd*(1)*(InnerProduct(faces[i].n, 11 light_vec[i])/(GetModule(faces[i].n)*GetModule(light_vec[i])))。 } 6) 計算 各個面環(huán)境光反射光強 for(i=0。 ifn。 i++) { faces[i].Ie = faces[i].ka*Ia。 } 7) 計算各個面光強 (漫反射光強和環(huán)境反射光強之和) for(i=0。 ifn。 i++) { faces[i].I = faces[i].Id+faces[i].Ie 。 } //窗口 視區(qū)變換實現(xiàn)過程 float wxl=5,wxr=5,wyb=5,wyt=5。 int vxl=0,vxr=800,vyb=0,vyt=600。 視區(qū)變 換 int a = (int)((vxrvxl)/(wxrwxl))。 int b = (int)(vxlwxl*a)。 int c = (int)((vytvyb)/(wytwyb))。 int d = (int)(vybwyb*c)。 for(i=0。iptn。i++) 12 { pts2D[i].x = a*pts[i].x+b。 pts2D[i].y = c*pts[i].y+d。 } 10. 路徑填充 CBrush B
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1