使用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获取目录下所有文件的方法
Jun 01 Python
Python实现信用卡系统(支持购物、转账、存取钱)
Jun 24 Python
Win7 64位下python3.6.5安装配置图文教程
Oct 27 Python
python创建文件备份的脚本
Sep 11 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
Django Docker容器化部署之Django-Docker本地部署
Oct 09 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
Python使用psutil获取进程信息的例子
Dec 17 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 Python
python如何调用字典的key
May 25 Python
Django项目创建及管理实现流程详解
Oct 13 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在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
总结PHP中数值计算的注意事项
2016/08/14 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
PHP时间戳和日期相互转换操作实例小结
2018/12/18 PHP
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
2016/11/21 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
python client使用http post 到server端的代码
2013/02/10 Python
python解析中国天气网的天气数据
2014/03/21 Python
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
Python执行时间的计算方法小结
2017/03/17 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
对django 2.x版本中models.ForeignKey()外键说明介绍
2020/03/30 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
python中如何打包用户自定义模块
2020/09/23 Python
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
模具专业推荐信
2013/10/30 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书