使用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 21 Python
Python中获取对象信息的方法
Apr 27 Python
Python中实现最小二乘法思路及实现代码
Jan 04 Python
使用Python实现一个栈判断括号是否平衡
Aug 23 Python
python实现一组典型数据格式转换
Dec 15 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
Jun 21 Python
Keras load_model 导入错误的解决方式
Jun 09 Python
基于python实现生成指定大小txt文档
Jul 20 Python
Python实现一个优先级队列的方法
Jul 31 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
Nov 18 Python
python编程学习使用管道Pipe编写优化代码
Nov 20 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
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
PHP7内核之Reference详解
2019/03/14 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
jQuery 位置插件
2008/12/25 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
javascript表单正则应用
2017/02/04 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
vue如何截取字符串
2019/05/06 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
vue使用axios实现excel文件下载的功能
2020/07/16 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
python3+selenium自动化测试框架详解
2019/03/17 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
护理个人求职信范文
2014/01/08 职场文书
舞蹈比赛获奖感言
2014/02/04 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers