使用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 实现简单的电话本功能
Aug 09 Python
python列表的常用操作方法小结
May 21 Python
Django读取Mysql数据并显示在前端的实例
May 27 Python
Python爬取数据并写入MySQL数据库的实例
Jun 21 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
Nov 14 Python
python递归法实现简易连连看小游戏
Mar 25 Python
Django CBV类的用法详解
Jul 26 Python
python如何把字符串类型list转换成list
Feb 18 Python
TensorFlow实现批量归一化操作的示例
Apr 22 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 Python
python搜索算法原理及实例讲解
Nov 18 Python
Python实现小黑屋游戏的完整实例
Jan 06 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脚本数据库功能详解(上)
2006/10/09 PHP
php遍历删除整个目录及文件的方法
2015/03/13 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
js 对象是否存在判断
2009/07/15 Javascript
由Javascript实现的页面日历
2011/11/04 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
jquery通过closest选择器修改上级元素的方法
2015/03/17 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
js querySelector() 使用方法
2016/12/21 Javascript
NodeJS链接MySql数据库的操作方法
2017/06/27 NodeJs
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
判断“命令按钮”是否被鼠标单击详解
2019/07/31 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
2020/02/27 Javascript
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
Python基于动态规划算法计算单词距离
2015/07/25 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
基于python实现判断字符串是否数字算法
2020/07/10 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
html5指南-7.geolocation结合google maps开发一个小的应用
2013/01/07 HTML / CSS
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
七匹狼男装广告词
2014/03/21 职场文书
《爱如茉莉》教后反思
2014/04/12 职场文书
教师个人发展总结
2015/02/11 职场文书