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


Posted in Python onDecember 24, 2019

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

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绘制三维坐标系实例

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

Python 相关文章推荐
详解python如何调用C/C++底层库与互相传值
Aug 10 Python
插入排序_Python与PHP的实现版(推荐)
May 11 Python
Python如何通过subprocess调用adb命令详解
Aug 27 Python
Python2随机数列生成器简单实例
Sep 04 Python
django限制匿名用户访问及重定向的方法实例
Feb 07 Python
Python基于辗转相除法求解最大公约数的方法示例
Apr 04 Python
Python类中的魔法方法之 __slots__原理解析
Aug 26 Python
python pyinstaller打包exe报错的解决方法
Nov 02 Python
将python2.7添加进64位系统的注册表方式
Nov 20 Python
解决安装pyqt5之后无法打开spyder的问题
Dec 13 Python
Python如何根据时间序列数据作图
May 12 Python
基于python获取本地时间并转换时间戳和日期格式
Oct 27 Python
Python 限定函数参数的类型及默认值方式
Dec 24 #Python
python+opencv实现车牌定位功能(实例代码)
Dec 24 #Python
Python scrapy增量爬取实例及实现过程解析
Dec 24 #Python
Python 元组拆包示例(Tuple Unpacking)
Dec 24 #Python
Python 余弦相似度与皮尔逊相关系数 计算实例
Dec 23 #Python
Python编译成.so文件进行加密后调用的实现
Dec 23 #Python
Cython编译python为so 代码加密示例
Dec 23 #Python
You might like
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
node.js操作mongodb学习小结
2015/04/25 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
vue动态改变背景图片demo分享
2018/09/13 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
Python中super的用法实例
2015/05/28 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
python3.4实现邮件发送功能
2018/05/28 Python
Python下简易的单例模式详解
2019/04/08 Python
python 发送json数据操作实例分析
2019/10/15 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
一套PHP的笔试题
2013/05/31 面试题
WSDL的操作类型主要有几种
2013/07/19 面试题
成功的酒店创业计划书
2013/12/27 职场文书
物流仓管员工作职责
2014/01/06 职场文书
公司授权委托书
2014/04/04 职场文书
就业意向书
2014/07/29 职场文书