使用PyOpenGL绘制三维坐标系实例

 更新时间:2019年12月24日 09:17:01   作者:Miha_Singh  
今天小编就为大家分享一篇使用PyOpenGL绘制三维坐标系实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我就废话不多说了,直接上代码吧!

def drawCoordinate():
  '''
  绘制三维的坐标系,并绘制由坐标轴构成的平面的网格,各个坐标轴的颜色以及由坐标轴所引出的网格线的颜色为:
  x: (1.0, 0.0, 0.0)
  y: (0.0, 1.0, 0.0)
  z: (0.0, 0.0, 1.0)
  :return:
  '''
  #设置网格线间的步长
  step = 0.2
  #设置网格线的数量、长度
  line_num = 15
  line_len = 4
  grid_color = [(1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)]

  glLineWidth(3)
  origin = [0.0, 0.0, 0.0]
  #画出xyz轴
  for i in range(3):
    tmp = [0.0, 0.0, 0.0]
    tmp[i] = line_len*1.02
    glColor3f(*grid_color[i])
    glBegin(GL_LINES)
    glVertex3f(*origin)
    glVertex3f(*tmp)
    glEnd()


  # 画出由坐标轴构成的平面的网格
  glLineWidth(1)
  for i in range(3):
  	#每次把一个坐标轴上引出的网格线都画出来,所以起点都是一致的
    start = [0.0, 0.0, 0.0]
    glColor3f(*grid_color[i])
    for j in range(line_num):
      end = [0.0, 0.0, 0.0]
      glBegin(GL_LINES)
      start[i] = start[i] + step
      end[i] = start[i]
      for k in {0,1,2} - {i,}:
        end[k] = line_len
        glVertex3f(*start)
        glVertex3f(*end)
        end[k] = 0.0
      glEnd()

以上这篇使用PyOpenGL绘制三维坐标系实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于Django filter中用contains和icontains的区别(详解)

    基于Django filter中用contains和icontains的区别(详解)

    下面小编就为大家分享一篇基于Django filter中用contains和icontains的区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • pycharm 2021.3最新激活码有效期至2100年(亲测可用)

    pycharm 2021.3最新激活码有效期至2100年(亲测可用)

    这篇文章主要介绍了pycharm 2021.3最新激活码有效期至2100年(亲测可用)
    2021-02-02
  • django多对多表的创建,级联删除及手动创建第三张表

    django多对多表的创建,级联删除及手动创建第三张表

    这篇文章主要介绍了django多对多表的创建,级联删除及手动创建第三张表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python实现爬虫设置代理IP和伪装成浏览器的方法分享

    Python实现爬虫设置代理IP和伪装成浏览器的方法分享

    今天小编就为大家分享一篇Python实现爬虫设置代理IP和伪装成浏览器的方法分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 使用PyQt5实现一个鼠标连点器

    使用PyQt5实现一个鼠标连点器

    这篇文章主要为大家详细介绍了如何使用PyQt5实现一个鼠标连点器,从而对QVBoxLayout、QHBoxLayout和QStackedWidget进行一个回顾复习,需要的可以参考一下
    2023-12-12
  • 浅析如何使用Python构建桌面图片浏览器

    浅析如何使用Python构建桌面图片浏览器

    这篇文章主要为大家详细介绍了如何使用Python构建一个简单的桌面图片浏览器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-04-04
  • python错误SyntaxError: invalid syntax的解决方法总结

    python错误SyntaxError: invalid syntax的解决方法总结

    SyntaxError: invalid syntax 是Python中常见的错误类型之一,它表示代码中存在语法错误,下面这篇文章主要给大家介绍了关于python错误SyntaxError: invalid syntax的解决方法,需要的朋友可以参考下
    2024-08-08
  • 如何利用Python解析超大的json数据(GB级别)

    如何利用Python解析超大的json数据(GB级别)

    果不想从头开始创建数据格式来存储数据,JSON是一个不错的选择,下面这篇文章主要给大家介绍了关于如何利用Python解析超大的json数据(GB级别)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Python中__name__的具体使用

    Python中__name__的具体使用

    在Python中,__name__是一个内置变量,用于表示当前模块的名称,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • 跟老齐学Python之编写类之二方法

    跟老齐学Python之编写类之二方法

    上一讲中创建了类,并且重点讲述了构造函数以及类实例,特别是对那个self,描述了不少。在讲述构造函数的时候特别提到,init()是一个函数,只不过在类中有一点特殊的作用罢了,每个类,首先要运行它,它规定了类的基本结构。
    2014-10-10

最新评论