def Cube():
glColor3f(1.0, 0.0, 0.0) # 设置颜色
glBegin(GL_LINES) #glBegin和glEnd()是绘图的必备函数
for edge in edges:
for vertex in edge:
glVertex3fv(verticies[vertex]) #这个函数就是连点,这个函数执行两次画一条线,两点确定一条直线,参数为三维的坐标
glEnd()
def main():
pygame.init()
display = (800, 600)
pygame.display.set_mode(display, DOUBLEBUF | OPENGL)
glClearColor(1.0, 1.0, 1.0, 1.0) # 设置背景颜色
gluPerspective(45, (display[0] / display[1]), 0.1, 50.0)
#Z轴就是我们眼睛到屏幕方向的轴,负是远,正是近,其实就是让物体相对与屏幕在XYZ各方向移动几个距离
glTranslatef(0, 0, -5)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT: #退出事件响应
pygame.quit()
quit()
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT) #用来删除就得画面,清空画布
Cube() #创建模型
glRotatef(1, 0, 1, 1) # 旋转矩阵
pygame.display.flip() #显示画面
pygame.time.wait(10) #10ms刷新一次
main()
import pygamefrom pygame.locals import *from OpenGL.GL import *from OpenGL.GLU import *verticies = ( # 顶点坐标 瞎写的 (2, 0, 0), (0, 1, 0), (0, 1, 1), (0, 0, 1) )edges = ( ...
#! /usr/bin/env python
# -*- coding: utf8 -*-
"""Port of NeHe Lesson 26 by Ivan Izuver <izuver@users.sourceforge.net>"""
from OpenGL.GL import *
from OpenGL.GLUT import *
from OpenGL.GLU import...
今天我们来看一下在OpenGL中如何
绘制
点线面。 我们使用glBegin,和glEnd两个函数进行所要
绘制
图形
的描述。
绘制
的内容要放在这两个函数之间。glBegin(GLenum mode);
//给出数据点
glEnd();...
PyOpenGL
和
PyOpenGL
_Accelerate
PyOpenGL
通常通过 PyPI 使用标准 pip 分发:
$ pip install
PyOpenGL
PyOpenGL
_accelerate
您可以通过分支/克隆并运行 setup.py 来安装此存储库:
$ cd
pyopengl
$ python setup.py develop
$ cd accelerate
$ python setup.py develop
请注意,要编译
PyOpenGL
_accelerate,您需要有一个正常运行的 Python 扩展编译环境。
学习
PyOpenGL
如果您是
PyOpenGL
的新手,您可能想从 OpenGLContext。 这些教程需要 OpenGLContext(这是一个很大的包装器,包括整个场景图引擎、VRML97 解析器、大量演示等),您可以通过以下方式安装
class My
PyOpenGL
Test:
def __init__(self, width=640, height=480,title="Keyboard Control"):
glutInit(sys.argv)
glutInitDisplayMod
测试环境搭建方便服务器端做3D建模,需要一些测试方法。目前比较流行的是Untiy3D做客户端开发。考虑到Untiy3D比较重,服务器端辅助测试3D建模的,一般需要比较轻便的方式。所以首选使用的是Python。于是选用
PyOpenGL
来,编写简易辅助测试工具。
PyOpenGL
安装
一般的执行以下语句就OK了:pip install
PyOpenGL
PyOpenGL
_accelerate
使用时,有可
三、画立方体
画一个立方体,需要八个顶点的数据。一个正方体如何画出来,需要一个面一个面的画,那么正方体有6个面,而每个面呢?是一个正方形,我们把正方形划分为两个三角形,这个三角形是opengl中最小的片元了。
立方体有六个面,每个面两个三角形,也就是12个三角形,每个三角形3个顶点,于是要定义36个顶点。
使用语句glDraw...
gluOrtho2D(-50.0, 50.0, -50.0, 50.0)
glEnable(GL_LINE_STIPPLE) # 启用线条模式
glLineStipple(1, 0x00FF) # 设置线条模式为虚线
2. 在
绘制
函数中
绘制
虚线:
```python
def display():
glClear(GL_COLOR_BUFFER_BIT)
glColor3f(0.0, 0.0, 0.0)
glBegin(GL_LINES)
glVertex2f(-40.0, 0.0)
glVertex2f(40.0, 0.0)
glEnd()
glFlush()
这样就可以在
PyOpenGL
中
绘制
一条虚线了。具体的线条模式参数可以根据需求进行调整。
论文阅读: Inertia Tensor Properties in Robot Dynamics Identification: A Linear Matrix Inequality Approac
CSDN-Ada助手:
论文阅读-Physical feasibility of robot base inertial parameter identification: A linear matrix inequalit
CSDN-Ada助手:
论文阅读: Sliding Mode Momentum Observers for Estimation of External Torques and Joint Acceleration
CSDN-Ada助手:
从零开始PyopenGL(2): 简单立体图形绘制
沙漠冰激凌:
论文阅读: Inertia Tensor Properties in Robot Dynamics Identification: A Linear Matrix Inequality Approac
论文阅读-Physical feasibility of robot base inertial parameter identification: A linear matrix inequalit