使用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的Bottle框架中实现最基本的get和post的方法的教程
Apr 30 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
Jan 02 Python
Python线程同步的实现代码
Oct 03 Python
Python微信操控itchat的方法
May 31 Python
Django CBV与FBV原理及实例详解
Aug 12 Python
python pygame实现挡板弹球游戏
Nov 25 Python
python实现图像拼接功能
Mar 23 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
May 11 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
python 删除excel表格重复行,数据预处理操作
Jul 06 Python
python调用百度API实现人脸识别
Nov 17 Python
Pycharm中使用git进行合作开发的教程详解
Nov 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
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
js 幻灯片的实现
2011/12/06 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
JSON 数据格式详解
2017/09/13 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
Python中使用Inotify监控文件实例
2015/02/14 Python
详解python中requirements.txt的一切
2017/03/03 Python
Python基于OpenCV实现视频的人脸检测
2018/01/23 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
pytorch使用 to 进行类型转换方式
2020/01/08 Python
Python3 用什么IDE开发工具比较好
2020/11/28 Python
美国隐形眼镜销售网站:ContactsDirect
2017/10/28 全球购物
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
简述进程的启动、终止的方式以及如何进行进程的查看
2014/02/20 面试题
思想政治自我鉴定
2013/10/06 职场文书
费用会计岗位职责
2014/01/01 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
设计专业自荐信
2014/06/19 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
入伍通知书
2015/04/23 职场文书
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js