已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机图形学实验报告一、 实验要求1、 练习使用GDI函数绘出基本几何元素,如点、线、矩形、圆、椭圆、多边形、圆弧等、并能够用颜色填充2、练习使用GDI函数显示图像3、使用opengl函数写一个控制台程序,要求输出一些简单的二维图形:如线(实线、虚线)、四边形、多边形、圆、六面体、球、圆锥、茶壶等。二、 实验目的1.掌握Window图形编程的基本方法;2.学会使用基本绘图函数和Window GDI对象;三、 实验环境Windows系统,vs2017四、 实验内容与步骤1、 练习使用GDI函数绘出基本几何元素,如点、线、矩形、圆、椭圆、多边形、圆弧等、并能够用颜色填充/线pDC-MoveTo(100, 50);pDC-LineTo(200, 100);pDC-SelectObject(&pOldPen1);/矩形pDC-Rectangle(250, 50, 550,175);pDC-SelectObject(&pOldPen2);pDC-SelectObject(&pOldBrush);pen2.DeleteObject();/圆pDC-SelectObject(&pen2);pDC-Ellipse(50,120,150,220);pDC-SelectObject(&pOldBrush);/椭圆pDC-SelectObject(&pen2);pDC-Ellipse(600, 100, 1025, 325);pDC-SelectObject(&pOldBrush);/多边形pDC-SelectObject(&pen2);pDC-SelectObject(&pen2);CPoint lpPoint5;lpPoint0 = CPoint(200,200);lpPoint1 = CPoint(100, 300);lpPoint2 = CPoint(150, 400);lpPoint3 = CPoint(250, 400);lpPoint4 = CPoint(300, 300);pDC-Polygon(lpPoint,5);/圆弧pDC-SelectObject(&pen2);pDC-SelectObject(&pen2);pDC-Arc(450,200,650,550,50,50,600,900);2、 练习使用GDI函数显示图像3.使用opengl函数写一个控制台程序,要求输出一些简单的二维图形:如线(实线、虚线)、四边形、多边形、圆、六面体、球、圆锥、茶壶等。void display(void)glClearColor(1.0f, 1.0f, 1.0f, 1.0f);glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glColor3f(1.0, 0.0, 0.0);glLineWidth(3.0);/线glBegin(GL_LINES);glVertex2f(-0.75, 0.9);glVertex2f(-0.25, 0.9);glEnd();/虚线glLineStipple(1, 0x00FF);glEnable(GL_LINE_STIPPLE);glBegin(GL_LINES);glVertex2f(-0.75, 0.8);glVertex2f(-0.25, 0.8);glEnd();glLineStipple(2, 0x00FF);glBegin(GL_LINES);glVertex2f(-0.75, 0.7);glVertex2f(-0.25, 0.7);glEnd();glLineStipple(1, 0x0C0F);glBegin(GL_LINES);glVertex2f(-0.75, 0.6);glVertex2f(-0.25, 0.6);glEnd();glLineStipple(3, 0x0C0F);glBegin(GL_LINES);glVertex2f(-0.75, 0.5);glVertex2f(-0.25, 0.5);glEnd();glLineStipple(1, 0xAAAA);glBegin(GL_LINES);glVertex2f(-0.75, 0.4);glVertex2f(-0.25, 0.4);glEnd();glLineStipple(2, 0xAAAA);glBegin(GL_LINES);glVertex2f(-0.75, 0.3);glVertex2f(-0.25, 0.3);glEnd();glLineStipple(3, 0xAAAA);glBegin(GL_LINES);glVertex2f(-0.75, 0.2);glVertex2f(-0.25, 0.2);glEnd();glLineStipple(4, 0xAAAA);glBegin(GL_LINES);glVertex2f(-0.75, 0.1);glVertex2f(-0.25, 0.1);glEnd();glDisable(GL_LINE_STIPPLE);glRectf(-0.25, -0.25, -0.75, -0.75);glPolygonMode(GL_FRONT, GL_FILL);glPolygonMode(GL_BACK, GL_LINE);glBegin(GL_POLYGON);glVertex3f(0.2, 0.1, 0.0);glVertex3f(0.6, 0.3, 0.0);glVertex3f(0.7, 0.45, 0.0);glVertex3f(0.4, 0.75, 0.0);glVertex3f(0.1, 0.6, 0.0);glEnd();glBegin(GL_POLYGON);for (int i = 0; in; i+)glVertex2f(R*cos(2 * Pi / n*i) + 0.5, R*sin(2 * Pi / n*i) - 0.5);glEnd();glFlush();/主程序void main(int argc, char * *argv)glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowSize(1000, 1000);glutInitWindowPosition(0, 0);glutCreateWindow(实验一);glutDisplayFunc(&display);glutMainLoop();茶壶void display(void)glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glColor3f(0.0, 1.0, 0.0);/绿色绘制glEnable(GL_DEPTH_TEST);/深度缓冲区glutWireTeapot(2);/绘制茶壶glFlush();glutSwapBuffers();void reshape(int w, int h)glViewport(0, 0, w, h); /设置视口glMatrixMode(GL_PROJECTION); /将当前矩阵指定为投影模式 glLoadIdentity();gluPerspective(60, (GLfloat)w / (GLfloat)h, 1.0, 20); /创建透视投影矩阵glMatrixMode(GL_MODELVIEW);glLoadIdentity();gluLookAt(0, 5, 5, 0, 0, 0, 0, 1, 0);/观测点球void display(void)glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glColor3f(0.0, 1.0, 0.0);/绿色绘制glEnable(GL_DEPTH_TEST);/深度缓冲区glutWireSphere(1, 20, 16);/绘制球体glFlush();glutSwapBuffers();void reshape(int w, int h)glViewport(0, 0, w, h); /设置视口glMatrixMode(GL_PROJECTION); /将当前矩阵指定为投影模式 glLoadIdentity();gluPerspective(60, (GLfloat)w / (GLfloat)h, 1.0, 20); /创建透视投影矩阵glMatrixMode(GL_MODELVIEW);glLoadIdentity();gluLookAt(0, 3, 3, 0, 0, 0, 1, 1, 0);/观测点六面体void display(void)glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glColor3f(0.0, 1.0, 0.0);/绿色绘制glEnable(GL_DEPTH_TEST);/深度缓冲区glutWireCube(3);/绘制立方体glFlush();glutSwapBuffers();void reshape(int w, int h)glViewport(0, 0, w, h); /设置视口glMatrixMode(GL_PROJECTION); /将当前矩阵指定为投影模式 glLoadIdentity();gluPerspective(60,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年私人租房合同协议书
- 变更管理最佳实践分享
- 创新公共服务供给模式降低社会成本措施
- 2025年小额借款合同协议范本
- 2025物业车位租赁合同
- 传媒中心2025年年终总结
- 【2025年】前端业务部高风险作业分级管控人员培训考试题及答案
- 2025年区交通运输局通执法辅助人员招聘交考试笔试试题(含答案)
- 《基础护理学》试题库及答案
- 2025房屋租赁违约合同
- 研发部门激励活动方案
- 民法典合同编案例课件
- 甘蔗制糖毕业论文
- 2025至2030中国航空燃油行业发展趋势分析与未来投资战略咨询研究报告
- 初中英语人称代词专项练习题
- 2025年浙江省公安机关人民警察特殊职位公务员招录考试(网络安全技术)历年参考题库含答案详解(5套)
- 房屋安全性鉴定方案
- 智慧口岸数据可视化工具创新创业项目商业计划书
- 超高效时间管理课件
- 钢材物资组织供应、运输、售后服务方案
- 美术班安全管理管理制度
评论
0/150
提交评论