Python PyOpenGL 简介17 Mar 2025 | 6 分钟阅读 在本教程中,我们将学习 Python 中的 pyopengl 库及其用法。OpenGL 是一个开源库,支持 Windows、Linux 和 MacOS 等多个平台。它也支持多种编程语言。我们将使用 Python 编程语言来实现它。 引言与其他图形库相比,OpenGL 是一个相当简单的库,易于实现。它是一个跨语言的 API,因此可以在其他编程语言中使用。在 OpenGL 中,我们需要在空间内指定对象,例如 - 要创建立方体,我们需要指定“角”。角被称为顶点(复数)或顶点(单数)。 安装我们可以使用 pip 包管理器轻松安装它。在终端中运行以下命令,并在系统中安装 OpenGL。 上面的命令将在本地系统中安装 pyopengl。我们将看到以下输出。 ![]() 您可以通过以下步骤手动下载它
此命令将安装文件并设置程序运行所需的必要环境。 请注意,上面的命令假定系统中已安装 python 和 setuptools,并且 setup.py 文件与终端或命令提示符打开的文件夹位于同一位置。 现在,让我们开始通过编码实现。 实施第一步是在代码中导入 OpenGL。为此,请运行以下命令。 在继续之前,必须导入一些额外的依赖项才能在我们的程序中使用此库。在尝试在程序中使用该库之前,应先安装这些依赖项。下面是一些库 当我们运行上面的代码片段时,我们会得到“导入成功”的消息,这表明我们已成功安装了该库。 现在,让我们开始使用 OpenGL 库创建一个用于显示图形的窗口。以下代码将创建一个窗口,注释将解释其工作原理。 示例 - 解释 - 在上面的代码中,我们创建了一个标题为“OpenGL Graphics Window”的窗口,大小为 500x500 像素,位于屏幕左上角。glutDisplayFunc() 和 glutIdleFunc() 方法将导致 showScreen() 函数被连续调用。此函数负责清除屏幕并显示任何图形或形状。glutMainLoop() 函数负责保持窗口打开并更新其内容。请注意,上面的代码使用的是 python-OpenGL 绑定,如果您使用的是其他编程语言,库可能会有所不同。 现在,我们将使用 OpenGL 创建正方形,但我们应该熟悉 OpenGL 所遵循的坐标系统 - 窗口中的 (0,0) 点代表窗口的左下角。如果我们从该点向上移动,则沿着 y 轴行进,如果我们从该点向右移动,则沿着 x 轴行进。因此,窗口的左上角点将是 (0, 500),右上角点将是 (500, 500),右下角点将是 (500, 0)。 重要的是要注意,y 轴随着向上移动而增加,x 轴随着向右移动而增加,这与传统的笛卡尔坐标系相反。 让我们编写创建正方形的代码。 示例 - 解释 - 上面的代码使用 OpenGL 创建了一个标题为“OpenGL Coding Practice”的窗口,大小为 500x500 像素,位于屏幕左上角。它将创建一个彩色窗口,并连续调用 showScreen() 函数。在 showScreen() 函数内部,它将清除屏幕,重置图形/形状的位置,调用“square”函数,该函数将使用指定的顶点坐标绘制一个正方形,然后交换缓冲区。它将创建一个带有静态正方形的窗口,并保持窗口打开并以循环方式运行。 但是,我们的代码不完整。如果绘制了正方形,然后立即清除屏幕。我们将无法看到正方形实际绘制时的情况,因为它会在瞬间出现和消失。让我们编写另一个函数。 示例 - 现在,让我们将所有代码片段编译到一个代码文件中,以避免歧义。 示例 - 说明 在上面的代码中,我们使用 OpenGL.GLUT 库创建了一个窗口,并将显示模式设置为 GLUT_RGBA。我们设置了窗口大小和位置,创建了一个标题为“OpenGL Coding Example”的窗口,并将显示函数和空闲函数设置为 showScreen。 showScreen 函数清除屏幕,加载单位矩阵,调用 iterate 函数来设置视口、投影矩阵和模型视图矩阵。我们设置要绘制的正方形的颜色,然后调用 square 函数来在屏幕上绘制一个正方形。 glutMainLoop() 函数启动 GLUT 程序的 main loop,并保持窗口打开,在屏幕上显示正方形。 结论本教程介绍了 OpenGL 的使用,这是一个用于创建 3D 图形的库。涵盖了下载和安装库的过程,以及一个演示如何使用 OpenGL 创建基本形状的示例程序。示例程序还概述了在此库的绘图过程中使用的一些函数调用。总的来说,虽然使用 OpenGL 可能具有挑战性,但它是创建 3D 图形的强大工具,并为经验丰富的用户提供了广泛的可能性。 下一主题pywhatkit 库入门 |
什么是 Matplotlib? Matplotlib 是 Python 中的一个库,用于使用其内置函数创建静态和动态动画和绘图。它具有许多内置功能和内置分析工具,用于分析任何图形或图表。如果我们想绘制任何三维...
阅读 3 分钟
| Python中常量的重要性 在本教程中,我们将了解常量类型以及它们如何帮助提高代码可读性。如果您不熟悉,常量是表示在程序执行期间不更改的值的名称。它们是最常见的……
阅读 10 分钟
调频 (FM) 是一种调制技术,用于通过改变载波信号的频率来传输信息。在 FM 中,载波信号的频率由信息信号(通常是音频信号)调制。这会创建一个频率与...
14 分钟阅读
在本教程中,我们将讨论doctest和unittest之间的区别,并查看一些案例。测试是软件开发的重要阶段,它有助于识别错误、敏捷代码和代码重用。代码库通过多个测试用例进行测试,以...
阅读 6 分钟
在下一篇教程中,我们将讨论 Python 编程语言的 rarfile 模块。我们将通过一些示例来理解 rarfile 模块的不同类。那么,让我们开始吧。理解 Python rarfile 模块,它用于读取 RAR 归档文件。接口...
阅读 10 分钟
Matplotlib 是一个开源的 Python 库,用于绘制图表。它最初由 John D. Hunter 于 2002 年构思。该版本于 2003 年发布,最新版本 3.1.1 于 2019 年 7 月 1 日发布。它通过以下方式表示数据...
阅读 2 分钟
命令行参数和解析输入参数是编程和开发的重要方面。命令行参数不过是在程序名称之后在系统命令行中指定的参数。当我们在这些命令行参数中传递值时,这些值会直接传递到...
阅读20分钟
先决知识:Python中的函数 你可能已经知道“递归”这个词的意思。根据谷歌的解释,它的意思是“一个过程或定义的重复应用”。在编程中也是如此,它应用于函数。任何调用自身的函数...
7 分钟阅读
字符串定义 Python 中的字符串是包含在引号中的字符序列。字符串是用于表示文本的基本数据类型。它们可以使用单引号(')、双引号(")或三引号(''' 或 """,用于多行字符串)来定义。在 Python 语言中...
11 分钟阅读
如何将 Python 列表或可迭代对象拆分为块 在本教程中,我们将学习将 Python 列表或其他可迭代对象拆分为块的各种选项。迭代器方法:Python 中的迭代器是用于遍历可迭代对象(如列表)的项目,...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India