真实感图形的程序

真实感图形的程序

ID:35419030

大小:77.39 KB

页数:25页

时间:2019-03-24

真实感图形的程序_第1页
真实感图形的程序_第2页
真实感图形的程序_第3页
真实感图形的程序_第4页
真实感图形的程序_第5页
资源描述:

《真实感图形的程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、/*纹理映射到球doubles,t,u,v,x,y,z,r;doublepi=3.1415926535;r=1.0;for(u=-0.5*pi;u<=0.5*pi;u+=1e-002)for(v=0.0;v<=pi;v+=1e-002){s=(u/pi+0.5);t=v/pi;x=r*sin(u)*sin(v);y=r*cos(v);if(Texture(s,t))pDC->SetPixel(dtxs(x),dtys(y),RGB(255,0,0));elsepDC・>SetPixel(dtxs(x),dtys(y),RGB(25

2、5,255,0));}}//光亮度双线性插值,返回0-1间一个光亮度值doubleCX2View::Texture(doubles,doublet){doubleII,I2,I3,I4,I5,I6,Imax,Imin;Il=300.0;I2=2000.0;I3=10.0;I4=100.0;Imax=2000.0;Imin=10.0;I5=(1.0-s)*(1.0-t)*Il+s*(l.0-t)*I2+(l.0-s)*t*I3+s*t*I4;I6=(I5-Imin)/(Imax4min);return(I6);}//先看正方形显示f

3、or(s=0.0;s<=l.0;s+=2e-003)for(t=0.0;t<1.0;t+=2e-003){c=Texture(s,t);pDC->SetPixel(dtxs(s)-200,dtys(t),RGB(255*c,255*c,255*c));}//再贴到球上doubles,t,u,v,x,y,z,r,c;doublepi=3.1415926535;r=0.4;for(u=-0.5*pi;u<=0.5*pi;u+=2e-003)for(v=0.0;v<=pi;v+=2e-003){s=(u/pi+0.5);t=v/pi;x

4、=r*sin(u)*sin(v);y=r*cos(v);c=Texture(s,t);pDC->SetPixel(dtxs(x)+300,dtys(y)-200,RGB(255*c,255*c,255*c));}〃利用重心樂标在三角形内部做亮度线性插值x1=1;y1=5;x2=5;y2=1;x3=4;y3=9;il=0;i2=80;i3=255;for(r=0.0;r<=1.0;r+=0.001)for(s=0.0;s<=1.0-r;s+=0.001){t=1.0-r-s;xx=r*x1+s*x2+t*x3;yy=r*y1+s*y

5、2+t*y3;ii二卢订+s*i2+t*i3;pDC・>SetPixel(xwtov(xx),ywtov(yy),RGB(0,ii,0));〃变为屏幕坐标intCX4View::xwtov(doublex){return(int)(260.0+350.0*(x-xmin)/(xmax-xmin));}intCX4View::ywtov(doubley){return(int)(400.0-350.0*(y-ymin)/(ymax-ymin));}〃生成立方体voidCX4View::cube(CDC*pDC){structplan

6、e{doublenx,ny,nz,fx,fy,fz;}pn[6]={{-1,0,0,0,0,0},{0,-1,0,0,0,0},{0,0,-1,0,0,0},{1,0,0,222},{0,1,0,2,2,2},{0,0,1,2,2,2}};doubletl,tu,dx,dy,dz,wx,wy,wz,nx,ny,nz,NDOTD,NDOTW,tt;doubleLx,Ly,Lz,Vx,Vy,Vz,kpa,kpd,kps;intrpa,rpd,ips,nn=5;doublexs,ys,x0,y0,z0;doublevxO,vyO,vzO

7、,hxO,hyO,hzO,lxO,lyO,lzO,ss,NdotL,NdotH;inti,j,k,a;Lx=6.0;Ly=6.0;Lz=6.0;Vx=5.0;Vy=5.0;Vz=15.0;kpa=kpd=0.15;kps=0.8;rpa=255;rpd=255;rps=255;a=0;for(xs=xmin;xs<=xmax;xs+=xstp){for(ys=ymin;ys<=ymax;ys+=ystp){tl=0.0;tu=9999.9;dx=xs-Vx;dy=ys-Vy;dz=-Vz;k=0;for(i=0;i<6;i++){

8、wx=Vx-pnfi].fx;wy=Vy・pn[i].fy;wz二Vz・pn[i].fz;nx=pn[i].nx;ny=pn[i].ny;nz=pn[i].nz;NDOTD=nx*dx+ny*dy+nz*dz;NDOTW=nx*wx+ny*wy+n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。