计算机图形学实验报告一.doc_第1页
计算机图形学实验报告一.doc_第2页
计算机图形学实验报告一.doc_第3页
计算机图形学实验报告一.doc_第4页
计算机图形学实验报告一.doc_第5页
已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论