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

正文內(nèi)容

長方體體的光照效果計(jì)算機(jī)圖形學(xué)課程設(shè)計(jì)-在線瀏覽

2025-08-12 04:22本頁面
  

【正文】 7。 faces[5].v2=5。 、視線方向、光照方向1)點(diǎn)光源 = 100。 = 100。//環(huán)境光入射強(qiáng)度 Ip = 。 = 0。 = 1。 VECTOR vector[6][2] 。 i6。 vector[i][1] = CalculateVector(pts[faces[i].v0], pts[ faces[i].v2], i )。 for(i=0。 i++) { faces[i].n = VecCross(vector[i][0], vector[i][1] )。 for(i=0。 i++) { cos_angle = ()*(InnerProduct(faces[i].n, eye_vec))/(GetModule(faces[i].n)*GetModule(eye_vec))。 else faces[i].flag = UNVISIABLE。 ifn。 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].w+pts[faces[i].v1].w+pts[faces[i].v2].w+pts[faces[i].v3].w)/ 。 ifn。 } 5)計(jì)算各個(gè)面的漫反射光強(qiáng) for(i=0。 i++) { faces[i].Id = Ip*faces[i].kd*(1)*(InnerProduct(faces[i].n, light_vec[i])/(GetModule(faces[i].n)*GetModule(light_vec[i])))。 ifn。 } 7)計(jì)算各個(gè)面光強(qiáng)(漫反射光強(qiáng)和環(huán)境反射光強(qiáng)之和) for(i=0。 i++) { faces[i].I = faces[i].Id+faces[i].Ie 。 int vxl=0,vxr=800,vyb=0,vyt=600。 int b = (int)(vxlwxl*a)。 int d = (int)(vybwyb*c)。iptn。 pts2D[i].y = c*pts[i].y+d。 (RGB(faces[j].I*255,faces[j].I*255,faces[j].I*255+40))。Brush)。 (p[0])。i4。 (p[0])。 ()。四、流程圖五、源程序//定義三維齊次向量結(jié)構(gòu)體typedef struct Vector3D{ float x。 float z。 //f表示所在的平面的編號(hào)}VECTOR。 float y。 float w。//定義面的結(jié)構(gòu)typedef struct tagPLANE{ int v0, v1, v2, v3。 //外法向量 HOMOCOORD center。 //漫反射光強(qiáng) int flag。 //漫反射率 float ka。 //環(huán)境光反射光強(qiáng) float I。//定義點(diǎn)的結(jié)構(gòu),需要浮點(diǎn)數(shù)的x,ytypedef struct tagMYPOINT{ float x,y。public: VECTOR CalculateVector(HOMOCOORD start, HOMOCOORD end, int face)。//計(jì)算兩個(gè)向量叉積,即外法向量 float InnerProduct(VECTOR vec1, VECTOR vec2)。 //計(jì)算向量的模 void RotateY(int angle)。 //繞x軸逆時(shí)針旋轉(zhuǎn) void DrawMy3DGraphics()。protected: HOMOCOORD illuminant。 //定義光源光強(qiáng) float Ia。 //各個(gè)面的光照方向指針 HOMOCOORD *pts。 //自定義的二維浮點(diǎn)數(shù)結(jié)構(gòu),表示變換后的二維點(diǎn) PLANE *faces。 //頂點(diǎn)個(gè)數(shù)與面的個(gè)數(shù)int x_angle = 0。void CDraw3DView::DrawMy3DGraphics(){ int i。 pts=new HOMOCOORD[ptn]。 pts[0].y=2。 pts[0].w=1。 pts[1].y=2。 pts[1].w=1。 pts[2].y=2。 pts[2].w=1。 pts[3].y=2。 pts[3].w=1。 pts[4].y=2。 pts[4].w=1。 pts[5].y=2。 pts[5].w=1。 pts[6].y=2。 pts[6].w=1。 pts[7].y=2。 pts[7].w=1。 faces=new PLANE[fn]。 faces[0].v1=1。 faces[0].v3=3。 faces[1].v1=5。 faces[1].v3=0。 faces[2].v1=6。 faces[2].v3=1。 faces[3].v1=7。 faces[3].v3=2。 faces[4].v1=4。 faces[4].v3=3。 faces[5].v1=6。 faces[5].v3=4。 for(i=0。 i++) { faces[i].ka = 。 } //定義點(diǎn)光源 = 100。
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1