图形学基础部分程序段..docVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
//实验屏幕使用 int i,j,c;double x,y,pi,t;pi=3.1416; // for(i=0;i1024;i++) for(j=0;j720;j++) pDC-SetPixel(i,j,i*j); for(i=0;i1024;i++) for(j=0;j720;j++){ t=pi*i/102.4;x=(double)t;t=pi*j/72.0;y=(double)t; c=127.5*(cos(x)+cos(y)+2.0); pDC-SetPixel(i,j,c); //画有颜色的色块 long int c[8]; c[0]=RGB(200,200,200);c[1]=RGB(255,0,0);c[2]=RGB(0,255,0);c[3]=RGB(0,0,255); c[4]=RGB(255,255,0); c[5]=RGB(255,0,255);c[6]=RGB(0,255,255);c[7]=RGB(0,0,0); int k=0; for(int i=10;i=1024;i+=250) for(int j=10;j=768;j+=200){ for(int x=i;x=i+150;x++) for(int y=j;y=j+150;y++) pDC-SetPixel(x,y,c[k]); k++;if(k7)k=0; } // 画任意的函数,以x=cos(2*pi*t),y=sin(2*pi*t)的1/4,1/2,1,2,4次乘方为例。 double pi,t,x0,y0,x1,y1,x2,y2,x3,y3,x4,y4; pi=3.1415926535; for(t=0;t=1.0;t+=0.001){ x2=cos(2.0*pi*t);y2=sin(2.0*pi*t);pDC-SetPixel(400.0+150*x2,200+150*y2,RGB(255,0,0)); x3=x2*x2;y3=y2*y2;pDC-SetPixel(400.0+150*x3,200+150*y3,RGB(255,255,0)); x4=x3*x2;y4=y3*y2;pDC-SetPixel(400.0+150*x4,200+150*y4,RGB(0,255,0)); x1=sqrt(x2);y2=sqrt(y2);pDC-SetPixel(400.0+150*x1,200+150*y1,RGB(0,255,255)); x0=sqrt(x1);y0=sqrt(y1);pDC-SetPixel(400.0+150*x0,200+150*y0,RGB(0,0,255)); } //画一个填充颜色cl的正方形,角点(s,t),大小k*k void CW6View::fillrect(CDC *p, int s, int t, int k,int cl) { int i,j; for(i=s;i=s+k;i++) for (j=t;jt+k;j++) if(cl==1) p-SetPixel(i,j,RGB(255,0,0)); else if(cl==2) p-SetPixel(i,j,RGB(255,255,0)); else p-SetPixel(i,j,RGB(0,0,255)); } //角点(sx,sy),长 n, k*k的棋盘格 void CW6View::checkerbord(CDC *p, int sx, int sy, int n,int k) { int i,j,l; double tx,ty;tx=sx;ty=sy; l=int((double)n/(double)k+0.5); for(i=0;ik;i++) for (j=0;jk;j++){ if((i+j)%2) fillrect(p,tx,ty,l,3); else fillrect(p,tx,ty,l,1); tx=tx+l;if( tx = sx+n) {tx=sx;ty=ty+l;} } } //DDA算法 void CW1View::dda(int x0,int y0,int x1,int y1,CDC *pDC) { double dx,dy,e,x,y; dx=x1-x0;dy=y1-y0; e=(fabs(dx)fabs(dy))? fabs(dx):fabs(dy); dx=dx/e;dy=dy/e;x=x0;y=y0; for(int i=1;i=e

文档评论(0)

sfkl + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档