1、计算机辅助应用计算机辅助应用技术基础姓 名:学 号:班 级:完成时间:第一题 2第二题 6第三题 8第四题 10第一题/*/b5E2RGbCAP/*旋转的风轮*/p1EanqFDPw/*/DXDiTa9E3d/*这是一个基于OpenGL的小程序,其绘制了几个由三角形构成的风轮。通过乘上移动、缩放以及旋转的矩阵实现风轮在转动过程中的不同效果。 */RTCrpUDGiT/*/5PCzVD7HxA/*作者:xx*班级:xxxxxxxx*学号:xxxxxxxxx*/jLBHrnAILg/*程序代码*/xHAQX74J0X#include #include static int i =0。 / 设置i的
2、初始值为0LDAYtRyKfEvoid myinit(void glClearColor (1.0, 0.9, 0.9, 0.0。 /设置背景色Zzz6ZB2Ltk glEnable(GL_LINE_SMOOTH。 void DrawTangle( glBegin(GL_TRIANGLES。 /绘制四个锐角顶点相对的直角三角形dvzfvkwMI1 glColor3f (0.0, 0.0, 1.0。 /该点的RGB颜色参数rqyn14ZNXI glVertex2f(0,0。 /一个顶点的坐标 glColor3f (0.0, 1.0, 0.0。 glVertex2f(0,-140.0。 glCol
3、or3f (1.0, 0.0, 0.0。 glVertex2f(50,-140.0。 glColor3f (0.0, 0.0, 1.0。 glVertex2f(0,0。 glColor3f (0.0, 1.0, 0.0。 glVertex2f(0,140.0。 glColor3f (1.0, 0.0, 0.0。 glVertex2f(-50,140.0。 glColor3f (0.0, 0.0, 1.0。 glVertex2f(0,0。 glColor3f (0.0, 1.0, 0.0。 glVertex2f(140.0,0。 glColor3f (1.0, 0.0, 0.0。 glVerte
4、x2f(140.0,50.0。 glColor3f (0.0, 0.0, 1.0。 glVertex2f(0,0。 glColor3f (0.0, 1.0, 0.0。 glVertex2f(-140,0.0。 glColor3f (1.0, 0.0, 0.0。 glVertex2f(-140.0,-50.0。 glEnd(。void display(void glClear (GL_COLOR_BUFFER_BIT。 glMatrixMode(GL_MODELVIEW。 /指定“GL_MODELVIEW”矩阵为当前矩阵EmxvxOtOco glLoadIdentity(。 /重置当前指定的矩阵
5、为单位矩阵SixE2yXPq5 glPolygonMode(GL_FRONT,GL_LINE。 /显示模式将适用于物体的前向面,显示线段,多边形用轮廓显示6ewMyirQFL glLoadIdentity(。 glPolygonMode(GL_FRONT,GL_LINE。 /显示模式将适用于物体的前向面,显示线段,多边形用轮廓显示 kavU42VRUs glTranslatef(135.0, 135.0, 0.0。 /把当前矩阵和一个表示移动物体的矩阵相乘,三个参数分别表示了在三个坐标上的位移值。y6v3ALoS89 glScalef(0.4,0.4,0.0。 /把当前矩阵和一个表示缩放物体的
6、矩阵相乘,x,y,z分别表示在该方向上的缩放比例。M2ub6vSTnP glRotatef(i/10,1.0,0.0,0.0。 /把当前矩阵和一个表示旋转物体的矩阵相乘,物体将绕着(0,0,0到(x,y,z的直线以逆时针旋转,参数angle表示旋转的角度。0YujCfmUCw DrawTangle(。 glLoadIdentity(。 glPolygonMode(GL_FRONT,GL_LINE。 glTranslatef(135.0, -135.0, 0.0。 glScalef(0.4,0.4,0.0。 glRotatef(i/10,0.0,0.0,1.0。 DrawTangle(。 glL
7、oadIdentity(。 glPolygonMode(GL_FRONT,GL_LINE。 glTranslatef(-135.0, 135.0, 0.0。 glScalef(0.4,0.4,0.0。 glRotatef(i/10,0.0,0.0,1.0。 DrawTangle(。 glLoadIdentity(。 glPolygonMode(GL_FRONT,GL_LINE。 glTranslatef(-135.0, -135.0, 0.0。 glScalef(0.4,0.4,0.0。 glRotatef(i/10,0.0,1.0,0.0。 DrawTangle(。 glLoadIdenti
8、ty(。 glPolygonMode(GL_FRONT,GL_FILL。 /GL_FILL表示显示面,多边形采用填充形式eUts8ZQVRd glScalef(i*0.00015,i*0.00015,0.0。 glRotatef(i/20,0.0,0.0,1.0。 DrawTangle(。 glutSwapBuffers(。 /交换两个缓冲区指针sQsAEJkW5T glDisable(GL_LINE_STIPPLE。 /是取消将normal 。void myIdle(void /* 新的函数,在空闲时调用,作用是参数i自加1重新绘制,达到动画效果 */ +i。 if( i = 7200 i
9、= 0。 display(。void myreshape (int w, int h glViewport (0,0, (GLsizei w, (GLsizei h。 /在同一个窗口中显示分割屏幕的效果,以显示多个视图TIrRGchYzg glMatrixMode (GL_PROJECTION。 /指定当前矩阵7EqZcWLZNX glLoadIdentity (。 gluOrtho2D(-(GLdoublew/2,(GLdoublew/2,-(GLdoubleh/2,(GLdoubleh/2。 /指定窗口大小lzq7IGf02Eint main(int argc, char* argv gl
10、utInit(&argc, argv。 /初始化zvpgeqJ1hk glutInitDisplayMode (GLUT_RGB |GLUT_DOUBLE 。 /指定 RGB 颜色模式的窗口和双缓存窗口NrpoJac3v1 glutInitWindowSize (400, 400。 /指定窗口大小1nowfTG4KI glutInitWindowPosition (200, 200。 glutCreateWindow (xxx 旋转的风轮。 /窗口的名称为“丁虎 旋转的风轮”fjnFLDa5Zo myinit (。 glutDisplayFunc(display。 /注册一个绘图函数 tfnN
11、hnE6e5 glutReshapeFunc(myreshape。 /绘制窗口函数HbmVN777sL glutIdleFunc(&myIdle。 /设置全局空闲回调函数V7l4jRB8Hs glutMainLoop(。 return 0。程序运行结果:第二题在本题中用UG软件分别绘制了活塞、连杆头部、连杆下部,曲轴、螺杆、垫片、活塞销等零件图,并进行了装配。除此之外,用PS软件根据本人名字的首字母DH设计了零件的标志。下面列出了装配图、标志、爆炸图及装配导航记录。83lcPA59W9图2-1 装配图图2-2标志图2-3 爆炸图图2-4 装配导航记录第三题该题的要求为将题2所设计的零件或部件转换成二维图,根据机械工程CAD制图国家标准用AutoCAD修改成合乎国家标准的图样,包括图框、标题栏、线条、文字与表达方法等都要求符合。将图纸打印出来,确保测量图纸打印的线性尺寸大小与所标的尺寸之比严格符合标题栏中所标的比例。并新建了多个图层,多个文字样式与多个尺寸标注样式,并截屏显示出所做的这些设置工作。mZkklkzaaP该提的图纸附于后面,下面是多个图层、文字样式及尺寸标注样式截图:图3-1 图层管理器图3-2 文字样式图3-2 标注样式申明:所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。