报告四 计算机图形学的报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学实习报告 四 图形变换 题目4 二维和三维图形变换 【问题描述】 一 目标 1、理解各种图形变换的原理及方法; 2、在二维变换的基础之上 增加三位维变换的功能,尽可能多的实现三维变换的种类; 3、调用对话框控制变换的幅度,比如平移距离,旋转角度等; 二 任务 实现各种类的二维图形变换; 实现三维变换平行投影中的正平行投影和斜平行投影; 实现对话框控制。 【程序设计】 一 数据结构设计 1、二维图形的变换是通过一个已经存贮好的图形来变换的,首先设计一个类,里面封装了二维图形各顶点坐标和各种操作的函数。 2、三维图形变换实际上是由二维变换衍生来的,就是添加了一个二维图形的Z坐标,图形类和二维相似 二 核心算法设计 1、二维图形变换是将图形M的个坐标值和变换矩阵相乘,得到新的图形坐标,变换矩阵是一个5*5的矩阵。其中用到的是右下角的3*3部分。这样便于读程序。 旋转变换: 平移变换: void CFgView::OnTranslation() { // TODO: Add your command handler code here CTRANSLATDLG dlg; int i,j; C2DGraph my1; dlg.m_X=30; dlg.m_Y=30;//构造新的C2DGraph 对象 //将图形变换矩阵清零 for ( i=1;i=3;++i) { for ( j=1;j=3;++j) my1.A1[i][j]=0; } //给图形变换矩阵赋值 my1.A1[1][1]=1; my1.A1[2][2]=1; my1.A1[3][3]=1; if(IDOK==dlg.DoModal()) { //将图形变换矩阵清零 for ( i=1;i=3;++i) { for ( j=1;j=3;++j) my1.A[i][j]=0; } //给图形变换矩阵赋值 my1.A[1][1]=1; my1.A[2][2]=1; my1.A[3][1]=-dlg.m_X; my1.A[3][2]=-dlg.m_Y; my1.A[3][3]=1; RedrawWindow(); my1. Display (); // } } 错切变换 void CFgView::OnCuoqie() { // TODO: Add your command handler code here CCUOQIE dlg; int i,j; C2DGraph my1; dlg.m_X=0; dlg.m_Y=0; //将图形变换矩阵清零 for ( i=1;i=3;++i) { for ( j=1;j=3;++j) my1.A1[i][j]=0; } //给图形变换矩阵赋值 my1.A1[1][1]=1; my1.A1[2][2]=1; my1.A1[3][3]=1; if(IDOK==dlg.DoModal()) { //将图形变换矩阵清零 for ( i=1;i=3;++i) { for ( j=1;j=3;++j) my1.A[i][j]=0; } //给图形变换矩阵赋值 my1.A[1][1]=1; my1.A[1][2]=dlg.m_Y; my1.A[2][1]=dlg.m_X; my1.A[2][2]=1; my1.A[3][3]=1; RedrawWindow(); my1. Display (); } } 关于X轴对称矩阵 关于Y轴对称矩阵 关于原点对称矩阵 2、三维投影是将已经在计算机内存储好的一个立体物体通过旋转两次再进行平行投影变换后得到的二维图形,其基本原理和二维图形变换相似,还是将各个坐标点和变换矩阵相乘再显示到屏幕上。 正等侧投影变换矩阵 正二测投影变换矩阵 斜等测投影变换矩阵 【测试范例】 一 测试数据基本背景 平行变换对话框 变换前后 变换前后 变换前后 变换前后 详细代码 void C2DGraph ::ReadWorkpiece() { X[1]=-20;Y[1]=20; C[1]=1; X[2]=-20;Y[2]=80; C[2]=1; X[3]=-40;Y[3]=60; C[3]=1; X[4]=-60;Y[4]=80; C[4]=1; X[5]=-60;Y[5]=20; C[5]=1; X[6]=-25;Y[6]=20;

文档评论(0)

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

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

1亿VIP精品文档

相关文档