使用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创建和使用字典实例详解
Nov 01 Python
Python导出数据到Excel可读取的CSV文件的方法
May 12 Python
Python变量作用范围实例分析
Jul 07 Python
centos6.7安装python2.7.11的具体方法
Jan 16 Python
解决Pycharm无法import自己安装的第三方module问题
May 18 Python
Python将多个list合并为1个list的方法
Jun 27 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
深度辨析Python的eval()与exec()的方法
Mar 26 Python
Python搭建代理IP池实现接口设置与整体调度
Oct 27 Python
pytorch实现onehot编码转为普通label标签
Jan 02 Python
python实现串口通信的示例代码
Feb 10 Python
python套接字socket通信
Apr 01 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 归并排序 数组交集
2011/05/10 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
PHP实现上传图片到 zimg 服务器
2016/10/19 PHP
PHP实现合并两个排序链表的方法
2018/01/19 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
jquery操作select option 的代码小结
2011/06/21 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
JS实现div居中示例
2014/04/17 Javascript
jQuery的ready方法详解
2014/11/27 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
javascript 中关于array的常用方法详解
2017/05/05 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
前端 javascript 实现文件下载的示例
2020/11/24 Javascript
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
跟老齐学Python之Python安装
2014/09/12 Python
详解pandas安装若干异常及解决方案总结
2019/01/10 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
使用Tensorflow实现可视化中间层和卷积层
2020/01/24 Python
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
举例说明类变量和实例变量的区别
2016/06/30 面试题
大一军训感言
2014/01/09 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
搞笑婚礼主持词开场白
2015/11/24 职场文书
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL