《计算机动画课程设计方案宋青云 .docx》由会员分享,可在线阅读,更多相关《计算机动画课程设计方案宋青云 .docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结运算机动画课程设计制作报告学院:明德学院专业:运算机科学与技术班级:计科 091同学姓名:宋青云学号: 092003111142指导老师:班兴建2021 年 12 月 1 日可编辑资料 - - - 欢迎下载精品名师归纳总结运算机动画制作报告一、 运算机动画概述随着运算机越来越广泛的应用于各行各业,运算机动画也深化了我们的各个领域,运算机动画是借助于运算机生成一系列的图像并且可以动态播放的运算机技术。在这里的设计报告中我主要运用了OpenGLBEGIN_MESSAGE_MAPCMy123View, CView/AFX_MSG_MAPCMy123View ON_WM_DESTROY
2、 ON_WM_CREATE ON_WM_SIZE/AFX_MSG_MAP/ Standard printing commands ON_COMMANDID_FILE_PRINT, CView:OnFilePrint ON_COMMANDID_FILE_PRINT_DIRECT, CView:OnFilePrintON_COMMANDID_FILE_PRINT_PREVIEW, CView:OnFilePrintPreview END_MESSAGE_MAP/ CMy123View construction/destructionCMy123View:CMy123View/ TODO: add
3、construction code hereCMy123View:CMy123ViewBOOL CMy123View:PreCreateWindowCREATESTRUCT& cs/ TODO: Modify the Window class or styles here by modifying/ the CREATESTRUCT csreturn CView:PreCreateWindowcs。/ CMy123View drawingvoid CMy123View:OnDrawCDC* pDCCMy123Doc* pDoc = GetDocument 。ASSERT_VALIDpDoc。i
4、f .pDoc可编辑资料 - - - 欢迎下载精品名师归纳总结return。/ TODO: add draw code for native data here wglMakeCurrentpDC-m_hDC,m_hRC。glClearColor1.0f,1.0f,1.0f,1.0f。glClearDepth1.0。glClearGL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT。glEnableGL_COLOR_MATERIAL。 glEnableGL_LIGHTING 。glEnableGL_LIGHT0 。glEnableGL_AUTO_NORMAL。 g
5、lEnableGL_DEPTH_TEST。glDepthFuncGL_LESS 。glMatrixModeGL_MODELVIEW。glLoadIdentity。GLfloat light_position = 1.0f, 1.0f, 1.0f, 0.0f 。GLfloat light_ambient = 0.2f, 0.2f, 0.2f, 0.2f 。GLfloat light_diffuse = 0.5f, 0.5f, 0.5f, 0.2f 。GLfloat light_specular = 0.5f, 0.5f, 0.5f, 0.2f 。glLightfvGL_LIGHT0, GL_PO
6、SITION, light_position。glLightfvGL_LIGHT0, GL_AMBIENT, light_ambient。glLightfvGL_LIGHT0, GL_DIFFUSE, light_diffuse。glLightfvGL_LIGHT0, GL_SPECULAR, light_specular。GLfloat material_ambient = 0.2f,0.2f,0.2f,0.2f。GLfloat material_diffuse = 0.2f,0.8f,0.4f,0.8f。GLfloat material_specular = 0.2f,0.8f,0.4f,
7、0.8f。GLfloat material_emission = 0.2f,0.2f,0.2f,1.0f。GLfloat material_shininess = 10.0f。glMaterialfvGL_FRONT,GL_AMBIENT,material_ambient。glMaterialfvGL_FRONT,GL_DIFFUSE,material_diffuse。glMaterialfvGL_FRONT,GL_SPECULAR,material_specular。glMaterialfvGL_FRONT,GL_EMISSION,material_emission。glMaterialfv
8、GL_FRONT,GL_SHININESS,material_shininess。glLoadIdentity。glRotated45.0,1.0,0.0,0.0。glColor3f20.0f,0.5f,0.8f。auxSolidIcosahedron4.0。SwapBufferspDC-m_hDC。wglMakeCurrentNULL,NULL 。/ CMy123View printingBOOL CMy123View:OnPreparePrintingCPrintInfo* pInfo可编辑资料 - - - 欢迎下载精品名师归纳总结/ default preparationreturn D
9、oPreparePrintingpInfo。void CMy123View:OnBeginPrintingCDC* /*pDC*/, CPrintInfo* /*pInfo*/ TODO: add extra initialization before printingvoid CMy123View:OnEndPrintingCDC* /*pDC*/, CPrintInfo* /*pInfo*/ TODO: add cleanup after printing/ CMy123View diagnostics#ifdef _DEBUGvoid CMy123View:AssertValid con
10、stCView:AssertValid。void CMy123View:DumpCDumpContext& dc constCView:Dumpdc 。CMy123Doc* CMy123View:GetDocument / non-debug version is inlineASSERTm_pDocument-IsKindOfRUNTIME_CLASSCMy123Doc。 return CMy123Doc*m_pDocument。#endif /_DEBUG/ CMy123View message handlersvoid CMy123View:OnDestroyCView:OnDestro
11、y。/ TODO: Add your message handler code here wglMakeCurrentNULL,NULL 。wglDeleteContextm_hRC。m_hRC = NULL。int CMy123View:OnCreateLPCREATESTRUCT lpCreateStruct可编辑资料 - - - 欢迎下载精品名师归纳总结if CView:OnCreatelpCreateStruct = -1 return -1。/ TODO: Add your specialized creation code here CClientDC dcthis。PIXELFO
12、RMATDESCRIPTOR p。fdmemset&pfd,0,sizeofPIXELFORMATDESCRIPTOR。pfd.nSize=sizeofPIXELFORMATDESCRIPTOR。pfd.nVersion =1。pfd.dwFlags =PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL |PFD_DOUBLEBUFFE。Rpfd.iPixelType = PFD_TYPE_RGBA。pfd.cColorBits = 24。pfd.cDepthBits = 32。int pixelFormat = ChoosePixelFormatdc.m_hDC,
13、&pfd。SetPixelFormatdc.m_hDC,pixelFormat,&pfd。m_hRC = wglCreateContextdc.m_hDC。return 0。void CMy123View:OnSizeUINT nType, int cx, int cyCView:OnSizenType, cx, cy。/ TODO: Add your message handler code here CClientDC dcthis。wglMakeCurrentdc.m_hDC, m_hRC 。glMatrixModeGL_PROJECTION。glLoadIdentity。double
14、d=10 。double n=100。glOrtho-cx/n, cx/n, -cy/n, cy/n, -d, d。glMatrixModeGL_MODELVIEW。glViewport0, 0, cx, cy。wglMakeCurrentNULL, NULL。五、 调试结果可编辑资料 - - - 欢迎下载精品名师归纳总结编译后调试,结果如下所示5.1 编译的颜色程序代码为: glColor3f20.0f,0.5f,0.8f。调整参数: glColor3f1.0f,0.5f,0.8f。 调整后运行结果如下列图:可编辑资料 - - - 欢迎下载精品名师归纳总结5.1 旋转的角度程序代码为: gl
15、Rotated45.0,1.0,0.0,0.0。调整参数: glRotated45.0,0.5,1.5,0.0。调整后运行结果如下列图:可编辑资料 - - - 欢迎下载精品名师归纳总结5.3 实体线路或者图形的设置实体模型代码: auxSolidIcosahedron4.0。线框模型代码: auxWireIcosahedron4.0。调整后运行结果如下列图:可编辑资料 - - - 欢迎下载精品名师归纳总结5.4 其他模型代码如圆环的线框模型: auxWireTorus1.0,3.0)。运行结果为:可编辑资料 - - - 欢迎下载精品名师归纳总结六、 心得与体会:在仍没有接触这一门课以前对运算机
16、动画的熟悉仍只是肤浅的熟悉,认为动画都是由一些软件制作而成的,学了后才知道动画是可以通过一些算法来完成的。在这门课中可以说是受益匪浅,特别在动手制作的时候遇到了很多的困难和问题,由于以前并没有解除太多的算法,现在做起来必定有些吃力。但是在逐步的学习后发觉OpenGL应用程序的开对初学计 算动画算法与编程基础的我们来说,仍是比较简单把握的。OpenGL 应用博大精深,图形实体的参数配置较难,很多参数对于初学的我们仍不是太明白,在反复调整运行后,大致能把握一些。在整个过程中,我发觉问题,和同学沟通,同时也发觉同学的补足,各自发觉不足,取长补短,使各悠闲学习中进步,我信任以后会学的更好。可编辑资料 - - - 欢迎下载