资源描述:
《PyOpenGL在三维图形动画中的应用.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《自动化与仪器仪表》2017年第2期(总第208期)PyOpenGL在三维图形动画中的应用许豪,陈可(南阳理工学院河南南阳,473004)摘要:为了实现太阳系八大行星模拟动画,对基于PyOpenGL的三维图形动画绘制技术进行研究。包括PyOpenGL开发环境的搭建,利用PyOpenGL进行三维图形动画绘制的基本程序框架以及绘制原理、绘图要素等。采用等比例缩小的方法,结合PyOpenGL提供的投影矩阵,模型视图矩阵把太阳系八大行星映射到一个矩形窗口内,然后借助PyOpenGL提供的视图变换矩阵设置观察该矩
2、形窗口的观察点。为了增强三维立体感,采用PyOpenGL提供的光照模型,对矩形窗口中的光源个数、漫反射和镜面反射的光线强弱分别进行设置。为了实现动画效果,采用公式近似模拟出每个行星的轨道和周期,结合PyOpenGL提供的图形绘制函数,绘制在矩形窗口中。最后利用PyOpenGL提供的坐标变换矩阵绘制部分行星的卫星。最终实现了对太阳系八大行星的模拟动画。关键词:三维动画;光照模型;坐标变换;PyOpenGL中图分类号:TP37文献标识码:ADOI编码:10.14016/j.cnki.1001-9227.20
3、17.02.131Abstract:Torealizethreedimensionalanimationofthesolarsystem,thispaperstudiesthe3DanimationtechnologybasedonPyOpenGl.ThestudyincludesthedevelopmentenvironmentofPyOpenGL,thebasicprogramframeworkof3Dgraphicanimation,thedrawingprincipleanddrawingele
4、mentsofPyOpenGL.Withtheprojectionmatrixandmodel-viewmatrixprovidedbyPyOpenGl,thescaled-downsolarsystemismappedintoarectangularwindow.Then,theobservationpointthatobservetherectangularwindowissetbytheviewtransformationmatrixthatprovidedbyPyOpenGL.Toenhance
5、three-dimensional,lightingmodelthatprovidebyPyOpenGLisused,withwhichcansetthethenumberoflightsources,diffusereflectionandspecularreflectionofthelightintensityintherectangularwindow.Toachieveanimationeffects,theorbitandperiodofeachplanetthatinthesolarsyst
6、emareapproximatesimulatedbyformulaandplottedintherectangularwindowbygraphicsrenderingfunctionfromPyOpenGL.Finally,thesatellitesofsomeplanetsaredrawnbythecoordinatetransformmatrixprovidedbyPyOpenGL.Intheend,theanimationofsolarsystemisrealized.Keywords:thr
7、ee-dimensionalgraphicsanimation;lightingmodel;coordinatetransformation;PyOpenGL来完成对现实世界的模拟,比如可以通过模型变换矩阵对0引言现实世界中的物体进行放大缩小,通过投影变换矩阵把现三维动画是通过计算机来模拟现实世界中的某些场实世界中的物体投影到某个区域,通过视口变换矩阵观察景。由于其准确性、形象性及可操作性,在现实生活中的建立起来的模型等。除了可以绘制静态的2D、3D图形,应用越来越广泛,尤其在医疗、教育、天文、军事、娱
8、乐等领也可以结合python语言实现动画效果,从而更加真实的模域的应用效果显著。通过计算机模拟现实世界中的场景,拟现实世界中的某些场景。本文主要介绍利用PyOpenGL不仅可以让观察者对这些场景有全局直观的认识,而且可进行三维图形动画设计时开发环境的搭建,PyOpenGL程以帮助观察者更好的理解场景,为更深层次的探索打下基序框架的分析,及PyOpenGL绘制三维图形的基本原理,础。实现三维动画的软件、工具种类繁多,各有特点。最后利用PyOp