




已阅读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重庆市永川区数字化城市运行和治理中心公益性岗位人员招聘1人备考练习题库及答案解析
- 2025年光缆熔接试题及答案
- 2025内蒙古鄂尔多斯伊金霍洛旗布连矿区消防救援大队招聘4人考试参考试题及答案解析
- 2025国家电投集团中国电力招聘2人备考练习试题及答案解析
- 2025内蒙古包头医学院公寓管理中心招聘公寓管理员临时用工人员3人备考练习题库及答案解析
- 七年级上册数学期末试卷及答案
- 2025浙江台州温岭市第一人民医院医共体石塘分院派遣员工招聘1人备考练习试题及答案解析
- 2025年广西壮族自治区生殖医院第三季度招聘7人考试参考试题及答案解析
- 2025下半年黑龙江中医药大学附属第二医院招聘人事代理工作人员14人备考练习题库及答案解析
- 2025年商丘永城市特岗教师招聘递补备考练习试题及答案解析
- 苏州人证网约车资格证试题及答案
- 马拉松志愿者考试试题及答案
- 2025成都中医药大学辅导员考试试题及答案
- 储能运维安全应急预案
- 赊销产品协议书范本
- 少儿创意美术:奇幻蘑菇绘画教程
- 采购桉木合同协议
- 2025劳动仲裁证据清单
- 易制毒化学品运输管理制度
- 养老院护理九防内容课件
- 长周期材料在高压环境下的适应性研究
评论
0/150
提交评论