【小沐学GIS】基于Python绘制三维数字地球Earth(OpenGL)

🍺三维数字地球系列相关文章如下🍺:
1【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut)第一期
2【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut)第二期
3【小沐学GIS】基于C++绘制太阳系SolarSystem(OpenGL、glfw、glut)
4【小沐学GIS】基于OpenSceneGraph(OSG)绘制三维数字地球Earth
5【小沐学GIS】基于C#绘制三维数字地球Earth(OpenGL)
6【小沐学GIS】基于Python绘制三维数字地球Earth(OpenGL)
7【小沐学GIS】基于Android绘制三维数字地球Earth(OpenGL)

文章目录

  • 1、简介
    • 1.1 Python
    • 1.2 OpenGL
  • 11、测试代码
    • 11.1 PyOpenGL / pygame / PIL / python(3d)
    • 11.2 PyOpenGL / glfw / python(3d)
    • 11.3 PyOpenGL / glut / python(3d)
  • 结语

1、简介

1.1 Python

https://www.python.org/
Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。
像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License) 协议。
在这里插入图片描述

  • 下载Python的安装包如下:
    https://www.python.org/downloads/windows/

在这里插入图片描述

1.2 OpenGL

OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口(Application programming interface)的规格,它用于生成二维、三维图像。这个接口由近三百五十个不同的函数调用组成,用来从简单的图元绘制复杂的三维景象。OpenGL常用于CAD、虚拟实境、科学可视化程式和电子游戏开发。
在这里插入图片描述

  • 顶点组装方式
    在这里插入图片描述

在这里插入图片描述

  • 安装pyopengl
pip install pyopengl

在这里插入图片描述

  • 运行测试代码如下:
#coding:utf-8
import sys
from math import pi as PI
from math import sin, cos
 
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def drawFunc():
    glClear(GL_COLOR_BUFFER_BIT)
    glutWireTeapot(0.5)      #画线框茶壶
    #glutSolidTeapot(0.5)    #画实心茶壶
    glFlush()
 
glutInit()
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowPosition(0,0)
glutInitWindowSize(400,400)
glutCreateWindow(b"opengl test")
glutDisplayFunc(drawFunc)
glutIdleFunc(drawFunc)
glutMainLoop()

在这里插入图片描述
运行报错如上。
安装pyopengl的64位离线包如下:

pip install PyOpenGL-3.1.5-cp38-cp38-win_amd64.whl
pip install PyOpenGL_accelerate-3.1.5-cp38-cp38-win_amd64.whl

在这里插入图片描述
在这里插入图片描述

11、测试代码

11.1 PyOpenGL / pygame / PIL / python(3d)

在这里插入图片描述
在这里插入图片描述

11.2 PyOpenGL / glfw / python(3d)

在这里插入图片描述
在这里插入图片描述

11.3 PyOpenGL / glut / python(3d)

在这里插入图片描述
在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/381005.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaSE——数组(2/2)-数组在计算机中的执行原理、数组案例、Debug工具的使用

目录 数组在计算机中的执行原理 Java内存分配介绍 数组的执行原理 多变量指向同一数组 数组案例 求最大值 数组反转 随机排名 Debug工具的使用 数组在计算机中的执行原理 Java内存分配介绍 程序都是在内存中执行的,Java程序编译之后会产生一个class文件&…

嵌入式学习之Linux入门篇笔记——17,makefile基本语法(上)

配套视频学习链接:http://【【北京迅为】嵌入式学习之Linux入门篇】 https://www.bilibili.com/video/BV1M7411m7wT/?p4&share_sourcecopy_web&vd_sourcea0ef2c4953d33a9260910aaea45eaec8 目录 一.设置 vim 首行缩进 二.Makefile 基本语法…

【JS逆向三】逆向某某网站的sign参数,并模拟生成仅供学习

逆向日期:2024.02.06 使用工具:Node.js 类型:webpack 文章全程已做去敏处理!!! 【需要做的可联系我】 可使用AES进行解密处理(直接解密即可):AES加解密工具 1、打开某某…

Ansible copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等

目录 参数复制文件然后进行同时复制操作 给定内容生成文件,并制定权限验证 关于覆盖先查看当前内容覆盖并备份查看文件权限 还有有没有备份查看文件内容 参数 这个模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等。   其相关选项…

深入理解java之多线程(一)

前言: 本章节我们将开始学习多线程,多线程是一个很重要的知识点,他在我们实际开发中应用广泛并且基础,可以说掌握多线程编写程序是每一个程序员都应当必备的技能,很多小伙伴也会吐槽多线程比较难,但因为其实…

gem5学习(17):ARM功耗建模——ARM Power Modelling

目录 一、Dynamic Power States 二、Power Usage Types 三、MathExprPowerModels 四、Extending an existing simulation 五、Stat dump frequency 六、Common Problems 官网教程:gem5: ARM Power Modelling 通过使用gem5中已记录的各种统计数据,…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 2月10日,星期六

每天一分钟,知晓天下事! 2024年2月10日 星期六 农历正月初一 春节 1、 国务院:到2025年,初步建成覆盖各领域、各环节的废弃物循环利用体系。 2、 国家移民管理局:部分国家人员可以用更多事由免签入境海南。 3、 市场…

使用AI开发一个红包封面生成器

使用 VUE3,和 Express 开发一个红包封面。 生成效果如下 体验地址:https://hongbao.digitalmodel.top/

政安晨:示例演绎TensorFlow的官方指南(三){快速使用数据可视化工具TensorBoard}

这篇文章里咱们演绎TensorFLow的数据可视化工具:TensorBoard。 在机器学习中,要改进模型的某些参数,您通常需要对其进行衡量。TensorBoard 是用于提供机器学习工作流期间所需测量和呈现的工具。它使您能够跟踪实验指标(例如损失和…

Blender教程(基础)--试图的显示模式-22

一、透视模式(AltZ) 透视模式下可以实现选中透视的物体信息 发现选中了透视区的所有顶点 二、试图着色模式-显示网格边框 三、试图着色模式-显示实体 三、试图着色模式-材质预览 四、试图着色模式-显示渲染预览

RNA二级结构基础知识+一些绘制程序及用法

整理笔记翻出来的,以下所有程序的测试时间都是2019年11月,不保证现在是否能用。基本都来自论文。 此外,这些程序都属于能用,但是对长序列(>3000)或者复杂序列不够友好的。 (后来我自己写了…

Qt PCL学习(三):点云滤波

注意事项 版本一览:Qt 5.15.2 PCL 1.12.1 VTK 9.1.0前置内容:Qt PCL学习(一):环境搭建、Qt PCL学习(二):点云读取与保存 0. 效果演示 1. pcl_open_save.pro QT core guigr…

Project 2010下载安装教程,保姆级教程,附安装包和工具

前言 Project是一款项目管理软件,不仅可以快速、准确地创建项目计划,而且可以帮助项目经理实现项目进度、成本的控制、分析和预测,使项目工期大大缩短,资源得到有效利用,提高经济效益。软件设计目的在于协助专案经理发…

除夕快乐(前端小烟花)

家人们,新的一年好运常在,愿大家在新的一年里得偿所愿,发财暴富,愿大家找到属于自己的那个公主,下面就给大家展示一下给公主的烟花 前端烟花 新的一年,新的挑战,愿我们不忘初心,砥砺…

谷歌发布AI新品Gemini及收费模式;宜家推出基于GPT的AI家装助手

🦉 AI新闻 🚀 谷歌发布AI新品Gemini及收费模式 摘要:谷歌宣布将原有的AI产品Bard更名为Gemini,开启了谷歌的AI新篇章。同时推出了强化版的聊天机器人Gemini Advanced,支持更复杂的任务处理,提供了两个月的…

人力资源智能化管理项目(day04:组织架构)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/humanResourceIntelligentManagementProject 觉得有帮助的同学&#xff0c;可以点心心支持一下哈 树组件应用 <!-- 展示树形结构 --><!-- default-expand-all默认展开所有节点 --><el-tree default-ex…

医学护理答案怎么查找? #笔记#学习方法#微信

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式&#xff0c;可以快速查找问题解析&#xff0c;加深对题目答案的理解。 1.滴墨书摘 这款软件相当于一个在线“摘抄本”&#xff0c;我们可以利用它来记录一些阅读时遇到的好句子或者是段落&#xff0c;或许下次…

Linux操作系统基础(五):Linux的目录结构

文章目录 Linux的目录结构 一、Linux目录与Windows目录区别 二、常见目录介绍&#xff08;记住重点&#xff09; Linux的目录结构 一、Linux目录与Windows目录区别 Linux的目录结构是一个树型结构 Windows 系统 可以拥有多个盘符, 如 C盘、D盘、E盘 Linux 没有盘符 这个概…

【DDD】学习笔记-领域模型与函数范式

函数范式 REA 的 Ken Scambler 认为函数范式的主要特征为&#xff1a;模块化&#xff08;Modularity&#xff09;、抽象化&#xff08;Abstraction&#xff09;和可组合&#xff08;Composability&#xff09;&#xff0c;这三个特征可以帮助我们编写简单的程序。 通常&#…

JavaScript综合练习4

JavaScript 综合练习 4 1. 案例演示 2. 代码实现 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title&…