使用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 相关文章推荐
使用Pyrex来扩展和加速Python程序的教程
Apr 13 Python
在Python上基于Markov链生成伪随机文本的教程
Apr 17 Python
Python正则表达式如何进行字符串替换实例
Dec 28 Python
利用python爬取散文网的文章实例教程
Jun 18 Python
python3使用scrapy生成csv文件代码示例
Dec 28 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
python按比例随机切分数据的实现
Jul 11 Python
Python shelve模块实现解析
Aug 28 Python
详解使用Python下载文件的几种方法
Oct 13 Python
python多进程并发demo实例解析
Dec 13 Python
vscode调试django项目的方法
Aug 06 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 17 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
深入解析Session是否必须依赖Cookie
2013/08/02 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
php eval函数一句话木马代码
2015/05/21 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
yii2 url重写并隐藏index.php方法
2018/12/10 PHP
Underscore.js 的模板功能介绍与应用
2012/12/24 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
浅谈js闭包理解
2019/03/28 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
Python里隐藏的“禅”
2014/06/16 Python
python socket 超时设置 errno 10054
2014/07/01 Python
简单介绍Python中利用生成器实现的并发编程
2015/05/04 Python
python修改操作系统时间的方法
2015/05/18 Python
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
Python探索之SocketServer详解
2017/10/28 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
合作协议书怎么写
2014/04/18 职场文书
迎七一演讲稿
2014/09/12 职场文书
任长霞观后感
2015/06/16 职场文书
NASA 机智号火星直升机拍到了毅力号设备碎片
2022/04/29 数码科技