计算机图形学作业

计算机图形学作业

ID:14376651

大小:59.00 KB

页数:7页

时间:2018-07-28

计算机图形学作业_第1页
计算机图形学作业_第2页
计算机图形学作业_第3页
计算机图形学作业_第4页
计算机图形学作业_第5页
资源描述:

《计算机图形学作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《计算机图形学》实验报告二维几何变换专业:班级:1002学号:姓名:完成日期:2012.10.201.实验目的(1)掌握二维平移、比例、旋转几何变换矩阵。(2)掌握矩阵乘法的编程实现。(3)掌握相对于任意参考点的比例变换和旋转变换。(4)掌握定时器的使用方法。2.实验要求(1)设计包含齐次坐标的二维点类CP2。(2)设计二维几何变换类。平移变换矩阵,比例变换矩阵和旋转变换矩阵。(3)设计双缓冲技术。(4)生成正多边形顶点。(5)绘制几何变换图形。(6)使用定时器动态更新图形。(7)平移变换(x,y)

2、===>(-50,50)之间往复变换。旋转变换绕中心旋转10/帧,比例变换[0.5,2]0.01/帧之间往复变换。3.程序代码CTestView::CTestView(){//TODO:addconstructioncodeheredirectionX=1;directionY=1;directionS=1;R=30;translateX=1;translateY=1;rotate=1;scale=1;}CTestView::~CTestView(){}voidCTestView::DoubleBu

3、ffer(){intflag=0;CDC*pDC=GetDC();CRectrect;if(scale>2)directionS=-1;if(scale<-2)directionS=1;GetClientRect(&rect);pDC->SetMapMode(MM_ANISOTROPIC);pDC->SetWindowExt(rect.Width(),rect.Height());pDC->SetViewportExt(rect.Width(),-rect.Height());pDC->SetVie

4、wportOrg(rect.Width()/2,rect.Height()/2);CDCMemDC;CBitmapNewBitmap,*pOldBitmap;MemDC.CreateCompatibleDC(pDC);NewBitmap.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height());pOldBitmap=MemDC.SelectObject(&NewBitmap);MemDC.SetMapMode(MM_ANISOTROPIC);Mem

5、DC.SetWindowExt(rect.Width(),rect.Height());MemDC.SetViewportExt(rect.Width(),-rect.Height());MemDC.SetViewportOrg(rect.Width()/2,rect.Height()/2);ReadPoint();tran.Translate(translateX,translateY);tran.Rotate(rotate,CP2(translateX,translateY));tran.Sca

6、le(scale,scale,CP2(translateX,translateY));DrawObject(&MemDC);BorderCheck();pDC->BitBlt(-rect.Width()/2,-rect.Height()/2,rect.Width(),rect.Height(),&MemDC,-rect.Width()/2,-rect.Height()/2,SRCCOPY);MemDC.SelectObject(pOldBitmap);NewBitmap.DeleteObject()

7、;MemDC.DeleteDC();ReleaseDC(pDC);if(P!=NULL){delete[]P;P=NULL;}}voidCTestView::ReadPoint(){doubleDtheta=2*PI/degree;P=newCP2[degree+1];//staticintx=0;//staticinty=0;for(inti=0;i

8、[degree].y=0;tran.SetMat(P,degree+1);}voidCTestView::DrawObject(CDC*pDC){//CLine*line=newCLine;CPenpen(PS_SOLID,1,RGB(255,0,0));pDC->SelectObject(&pen);for(inti=0;iMoveTo(ROUND(P[degree].x),ROUND(P[degree].y));pDC->Lin

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

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

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