




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津城建大学计算机图形学实验报告实验三三维图形的投影变换学生 姓名 平凯文专业、班级 地信二班指导 教师 任丽敏成 绩计算机与信息工程学院2014年月日天津城建大学设计性实验任务书地质与测绘 学院地理信息系统专业2 班姓名平凯文学号: 11290207课程名称: 计算机图形学 设计题目: 三维图形的投影变换 完成期限:自2014 年」月19日至2014 年丄月29日设计依据、要求及主要内容(可另加附页):设计依据:本课程设计是依据教材<<计算机计算机图形学>>一书的第4章三维图形的投影变换为设计依据,制作三维图形的投影变换的程序。设计要求:绘制三维物体的轴测投影图和一点透视图基本要求:(1) 在程序中给定控制多面体的顶点坐标及点线信息。(2) 视点固定在z轴某点上,输入物体的旋转角度及平移量。(3) 正轴测投影图和一点透视图。附加要求:绘制二点透视图指导教师:任丽敏实验目的:工程制图中常用到的三视图,是由空间中一个立体向3个互相垂直的投影面作正投影得到的。这三个正交的投影面分别称为:正立投影面(V面)、侧立投影面(W面)、水平投影面(H面)。在空间坐标系中,这三个投影面分别对应三个坐标平面。我们要编写程序实现三维物体的轴测投影图和一点透视图。题目:绘制三维物体的轴测投影图和一点透视图。(1)在程序中给定控制多面体的顶点坐标及点线信息。(2)视点固定在z轴某点上,输入物体的旋转角度及平移量。(3)正轴测投影图和一点透视图。设计思想:这次的实验与上次实验最大的不同之处在于要在二维的平面里显示三维的立体图,因此要绘制三维物体的轴测投影图和一点透视图,就需要进行三维坐标和二维坐标的转换(首先将二维转换到三维,然后再将三维转换到二维)。因此,我首先找到自己定义的三维坐标系和原有的二维坐标系之间的转换关系式,然后直接引用正等侧投影的矩阵对原有的图进行了变换,实现了正轴测投影图。原程序:一、在二维平面绘制三维立体图for(i=0;i<8;i++)<N2[il[01=250-w3[il[01+w3[il[ll*t;n2[i1[11=25B-h3[i][2T+H3[il[ll*t:line(H2[0][0],H2[0][l],H2[l][8],N2[l][ll);line(H2[0][0],H2[0][l],H2[3][8],H2[3][ll);line(H2[l][0],H2[l][l],H2[2][8],N2[2][ll);line(H2[2][0],H2[2][l],H2[3][8],H2[3][ll);1ine(H2[0][01,h2[Q1[11,h2C41[81,n2C41[11);line(H2[l][0],H2[l][l],H2[5][8],H2[5][ll);1ine(H2[21[01,h2C21[11,h2C61[81,n2C61[11);line(w2[3][01,W2E31E11,w2[71[0],h2[7][11);line(w2[41[01,W2E41E11,w2[5][01!h2[5][11);line(H2[4][0],H2[4][l],H2[7][8],N2[7][ll);line(H2[5][0],H2[5][l],H2[6][8],N2[6][ll);line(H2[6][01,H2[6][l],H2[7][8],N2[7][ll);二、正等侧投影图line(250,250,480,480);for(i=B;i<8;i++)<u2[i][0]=25B-h3[i][0]+H3[i][ll*t;w2[i1[11=250-w3[i][2]+w3Ei][l]*t;line(H2[0][01,H2[0][l],H2[l][0],H2[l][l]);line(H2[0][01,H2[0][l],H2[3][0],H2[3][l]);line(w2[ll[01,W2E11E11,w2E2][0],W2E21E11);line(H2[2][01,H2[21[l],H2[3][0],H2[3][l]);line(H2[0][01,H2[0][l],H2[4][0],H2[4][l]);line(H2[l][01,H2[ll[l],H2[5][0],H2[5][l]);line(H2[21[0],H2[21[l],H2[6][0],H2[6][l]);line(H2[3][0]!H2[3][l])H2[7][0])H2[7][l]);line(H2[41[0],H2[41[l],H2[5][0],H2[5][l]);line(H2[4][0]!H2[4][l])H2[7][0])H2[7][l]);line(H2[5][01,H2[51[l],H2[6][0],H2[6][l]);line(N2[6][0],N2[61[l],N2[7][0],N2[7][l]);Iine(zc2[0][01?zc2[0][l],zc2[l][0]!zc2[l][l]);Iine(zc2[0][01,zc2[0][l],zc2[3][0],zc2[3][ll);Iine(zc2[l][01)zc2[l][l])zc2[2][0])zc2[2][ll);Iine(zc2[2][01,zc2[2][l],zc2[3][0],zc2[3][ll);1ine(zc2[0J[0],zc2[0][11,zc2E41[0],zc2E4J[11);Iine(zc2[l][01?zc2[l][l],zc2[5][0]!zc2[5][l]);Iine(zc2[2][01,zc2[2][l],zc2[6][0],zc2[6][ll);1ine(zc2[3J[0],zc2t31[11,zc2E71[0],zc2E7J[11);Iine(zc2[4][01?zc2[4][l],zc2[5][0]!zc2[5][l]);Iine(zc2[4][01,zc2[4][l],zc2[7][0],zc2[7][ll);Iine(zc2[5][0])zc2[5][l],zc2[6][0])zc2[6][l]);Iine(zc2[6][01?zc2[6][l],zc2[7][0]!zc2[7][l]);运行结果:二、一点透视图二、一点透视图FileEditRunCompileProjectOptionsDebugBreak/watch Edit Line1Col17InsertIndentTabFillUnindent*C:SANUEI.Cinclude<graphics.h>include<Math.h>Main()<intgd=UGA,gM=UGAHI;floath2[Q][41;floatw3[81[41=<<0,0)0)IT,<100,0,0,1},<100,70,0,1},<0,70,0,11,<0,0,80,11,<100,8,80,IT,<100,70,80,IT,<0,70,80,1}};floatt=cos(45*B.0174533);floatT[4][4]=<1)0)0)0)0)1,0,-0.003,0,0,1,0,200,200,200,0.4?;floatts3[81[41)ts2[8][41;inti=0,j=0,k=0,a=0;initgraph ,&gM,"c:Wtc");cleardeuice();setbkcolorCLIGHTBLUE);setcolor(RED);11116(250,250,250,0);line(250,250,0,250);1ine(B,8,488,488);for(i=8;i<8;i++)H2[i][81=25B-w3[i][01+H3[i][ll*t;n2[i1[11=250-w3[i][21+H3[i][ll*t;line(H2[0][0],H2[81[ll,H2[l][0],H2[l][l])1ine(H2[01[01,h2[Q1[11,n2[31[01,h2[3][1])line(H2[l][0],H2[l][ll,H2[2][0],H2[2][l])line(w2[21[01,W2E21E11,W2E31E0],W2E31E11)line(H2[0][0],H2[8][ll,N2[4][0],H2[4][l])line(H2[ll[01,w2[1][11,h2[5][0],h2[5][1])line(N2[2][0],H2[2][ll,N2[6][0],N2[6][l])line(H2[3][0],w2[3][11,h2[7][0],h2[7][1])1ine(w2[41[0],w2[41[11,w2E5][0],w2E5J[11)line(H2[4][0],H2[41[ll,H2[7][0],H2[7][l])line(w2[51[01,w2£51[ll,W2E61E0],W2E61E11)11«6(«2[6][01,»2?61[1],»2[7][0]^2[7][1])setcolorCYELLOU);for(i=B;i<8;i++)for(k=B;k<4;k++)a=0;u3[il[13=30000;for(j=B;j<4;j++)a=a+H3[i][j]*T[j][kl;ts3[i][kl=a/(-0.003*h3Eiltll+1);for(i=0;i<8;i++)ts2[i][0]=250-ts3[i][0]+ts3[il[l]*t;ts2[il[ll=250-ts3[i][21+ts3[il[l]«t;line(ts2[0][0],ts2[0][ll,ts2[ll[0],ts2[ll[ll)line(ts2[0][01,ts2[0][ll,ts2[31[01,ts2[31[ll)line(ts2[ll[01,ts2[ll[ll,ts2[21[01,ts2[21[ll)line(ts2[21[0],ts2[2][ll,ts2[31[01,ts2[31[ll)line(ts2[0][01,ts2[0][ll,ts2[41[01,ts2[41[ll)line(ts2[ll[0],ts2[l][ll,ts2[51[01,ts2[51[ll)line(ts2[21[01,ts2[21[ll,ts2[61[01,ts2[61[ll)1ine(ts2[31[0],ts2t31[11,ts2t71[0],ts2t71[11)line(ts2[41[01,ts2[41[ll,ts2[51[01,ts2[51[ll)line(ts2[41[01,ts2[41[ll,ts2[71[01,ts2[71[ll)line(ts2[51[0],ts2[5][ll,ts2[61[01,ts2[61[ll)line(ts2[61[01,ts2[61[ll,ts2[71[01,ts2[71[ll)set1inestyle(3,0,1);for(i=B;i<8;i++)<line(H2[i][0],H2[i][l])ts2[i][0])ts2[i][l]);getch(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纤维增强塑料水箱企业数字化转型与智慧升级战略研究报告
- 农产品加工专用设备企业数字化转型与智慧升级战略研究报告
- 曲筛企业数字化转型与智慧升级战略研究报告
- 叠加式平衡阀企业数字化转型与智慧升级战略研究报告
- 印刷包装机械企业县域市场拓展与下沉战略研究报告
- 旅居车辆企业ESG实践与创新战略研究报告
- 2025年笔配件项目可行性研究报告
- 2025年涂蜡机项目可行性研究报告
- 2024年中国关心下一代健康体育基金会招聘笔试真题
- 2024年象山县安全技术服务有限公司招聘笔试真题
- 桩基及基坑支护工程技术施工方案(三篇)
- 司法考试2024年知识点背诵版-民法
- 2024年耐磨铸件项目规划申请报告样文
- 凝中国心铸中华魂铸牢中华民族共同体意识-小学民族团结爱国主题班会课件
- 重度哮喘诊断与处理中国专家共识(2024)解读
- 新能源汽车电控系统的新型传感器应用考核试卷
- 苏教版数学一年级下学期期中测试卷10套及但
- 2024年全国职业院校技能大赛高职组(法律实务赛项)考试题库(含答案)
- 全过程工程咨询管理服务方案投标方案(技术方案)
- 中铁十五局集团安全质量部管理制度大全
- 2024老年烧创伤创面MEEK植皮技术规范
评论
0/150
提交评论