python的使用方法,怎样使用Python

  python的使用方法,怎样使用Python

  上期跟大家说了关于大蟒绘图内容,这期跟大家讲讲能够构造立体图形的大蟒内容,感兴趣的小伙伴可以来看下哦~

  1.1 利用python的pygame和OpenGL制作动态正方体cube。

  1.2 安装python3.8和pygame(省略)。

  1.3 安装OpenGL:

  效果图【动态】

  完整代码:

  # - 导出模块-

  importpygame

  frompygame.localsimport*

  来自OpenGL .GLimport*

  来自OpenGL .GLUimport*

  # - 初始化简介及安装和定义窗口大小-

  pygame.init()

  # OPENGL 双缓冲=双缓冲 OPENGL

  #DOUBLEBUF:双缓冲模式(推荐和HWSURFACE或计算机图形学一起使用)

  #创建一个计算机图形学渲染的显示

  pygame.display.set_mode((640,480),OPENGLDOUBLEBUF)

  # - 元组定义-

  #定义正方体的坐标坐标点

  CUBE_POINTS=((0.5,-0.5,-0.5),(0.5,0.5,-0.5),(0.5,-0.5,0.5),(0.5,0.5),0.5,(0.5,-0.5,0.5),0.5,(0.5,-0.5,0.5),0.5,(0.5,-0.5,0.5),0.5,(0.5,-0.5,0.5),0.5,(0.5,-0.5,0.5),0.5,(0.5,-0.5,0.5),0.5,(0.5)。

  #定义RGB颜色

  立方体颜色=((1,0,0),(1,1,0),(0,1,0),(0,nbs

  p;0,0),(1,0,1),(1,1,1),(0,0,1),(0,1,1))

  #定义面,四个点构成一个面

  CUBE_QUAD_VERTS=((0,1,2,3),(3,2,7,6),(6,7,5,4),(4,5,1,0),(1,5,7,2),(4,0,3,6))

  #定义线,两个点构成一个线

  CUBE_EDGES=((0,1),(0,3),(0,4),(2,1),(2,3),(2,7),(6,3),(6,4),(6,7),(5,1),(5,4),(5,7),)

  

  #---定义画立方体函数---

  defdrawcube():

  #"绘制正方体",zip和list法

  allpoints=list(zip(CUBE_POINTS,CUBE_COLORS))

  

  #画面积---开始---结束---

  glBegin(GL_QUADS)

  forfaceinCUBE_QUAD_VERTS:

  forvertinface:

  pos,color=allpoints[vert]

  #在第2个for下面

  glColor3fv(color)

  glVertex3fv(pos)

  #与第1个for对齐

  glEnd()

  

  #边线颜色黑色

  glColor3f(0,0,0)

  

  #绘制线---开始---结束---

  glBegin(GL_LINES)

  forlineinCUBE_EDGES:

  forvertinline:

  pos,color=allpoints[vert]

  glVertex3fv(pos)

  glEnd()

  

  #---主函数---

  defmain():

  glEnable(GL_DEPTH_TEST)

  #初始化摄像头

  glMatrixMode(GL_PROJECTION)

  gluPerspective(45.0,640/480.0,0.1,100.0)

  glTranslatef(0.0,0.0,-3.0)

  glRotatef(25,1,0,0)

  #启动循环---

  whileTrue:

  #事件检测

  event=pygame.event.poll()

  #定义退出机制,在pygame的while循环中,这一步必备设置

  ifevent.type==QUITor(event.type==KEYDOWNandevent.key==K_ESCAPE):

  break

  #清除屏幕

  glClear(GL_COLOR_BUFFER_BITGL_DEPTH_BUFFER_BIT)

  #摄像机旋转

  glRotatef(1,0,1,0)

  drawcube()

  #刷新画面

  pygame.display.flip()

  

  if__name__=='__main__':

  main()

以上内容并不多,大家非常容易消化理解,如需了解更多python实用知识,点击进入PyThon学习网教学中心

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: