在win7+python3.5环境下配置opengl,并显示三维模型
首先安装opengl:
已经安装python的系统会自动安装pip,所以只需要一句pip命令就可以安装opengl了,命令如下:
pip install PyOpenGL PyOpenGL_accelerate
然后在python 中import相关功能,运行后会出现错误
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling
SyntaxError: multiple statements found while compiling a single statement
可能是缺少相关dll文件,可以在这里下载到 http://pan.baidu.com/s/1dFhC8G5
拷到你建立的工程目录下,就是你写的程序的目录下就可以了。
然后运行下面的程序,就应该能够显示茶壶模型了。
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def drawFunc():
#清楚之前画面
glClear(GL_COLOR_BUFFER_BIT)
glRotatef(0.1, 0,5,0) #(角度,x,y,z)
glutWireTeapot(0.5)
#刷新显示
glFlush()
#使用glut初始化OpenGL
glutInit()
#显示模式:GLUT_SINGLE无缓冲直接显示|GLUT_RGBA采用RGB(A非alpha)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
#窗口位置及大小-生成
glutInitWindowPosition(0,0)
glutInitWindowSize(400,400)
glutCreateWindow(b"first")
#调用函数绘制图像
glutDisplayFunc(drawFunc)
glutIdleFunc(drawFunc)
glutMainLoop()
from OpenGL.GL import *from OpenGL.GLU import *from OpenGL.GLUT import *def drawFunc(): #清楚之前画面 glClear(GL_COLOR_BUFFER_BIT) glRotatef(0.1, 0,5,0) #(角度,x,y,z) glutWireT
tu_00_glfw_window_sample:GLFW版本彩色立方体。 原始教程=>
tu_01_color_cube:GLUT版本彩色立方体。 原始教程=>
tu_02_texture_without_normal:带纹理的基本渲染。 原始教程=>
tu_03_loadobj:从wavefont obj文件加载网格信息: 原始教程=>
tu_04_vbo:使用VBO 原始教程=>
tu_05_input:使用键盘和鼠标添加视口控件原始教程=>
tu_06_multobjs:在同一窗口中绘制多个网格对象
tu_07_basic_shading:带有光照和法线的基本着色原始教程=>
tu_08_transparency:透明度原始教程=>
tu_09_draw_text:在
openGL
中绘制文本原始教程=>
tu_10_normal_mapping:法线贴图原始教程=>
设计一个
三维
模型
,
模型
可以旋转、缩放、平移和反射变换。 要求: (1)
模型
有三个以上的基本体素; (2)
模型
具有多种颜色; (3)以键、菜单、鼠标方式来控制各种变换;(至少采用一种方式) (4)鼓励有创意的
模型
。#encoding=utf8
from
OpenGL
.GL import *
from
OpenGL
.GLU import *
from
OpenGL
.GLUT import *
impor
说实话我们
OpenGL
的基础还远远没有学完,不过我在说下去大概就不会有人看了,所以,虽然稍稍有些早,开始我们的第一个程序吧。
from
OpenGL
.GL import *
from
OpenGL
.GLU import *
这次的作业太忙了没空写,直接把同学的c++代码改成了
python
代码,至于里面写了什么完全不知道=.=
from
OpenGL
.GL import *
from
OpenGL
.GLU import *
from
OpenGL
.GLUT import *dX = 0.0
dY = 0.0
alphaX = 0.0
alphaY = 0.0
alphaZ = 0.0
sf = 0.0
def i
上一次,我们有了一个足够
3D
的程序了,虽然很漂亮,但是那个茶壶并不是我们画出来的,glut带给我们的便利而已。从现在开始我们就得自己动手丰衣足食了,为了达到这一点,我们得再了解一些
OpenGL
的一些知识。
如右图所示,你必须知道构成我们
3D
图像的最小单位,它们往往被称为图元。
点,在
OpenGL
中,这是最基本的图元,比如说图中红色的那个点。线,比如左图中粉色的那根。
Python
中可以使用
PyOpenGL
库来实现
OpenGL
的功能,实现
三维
图形的
显示
和操作。
首先,可以使用
OpenGL
的glut库来创建窗口和处理输入事件。创建一个窗口后,可以使用
OpenGL
的glClearColor函数来设置背景颜色,使用glClear函数来清除窗口。然后,使用glMatrixMode函数来设置矩阵模式为GL_MODELVIEW,使用glLoadIdentity函数来重置矩阵。
接下来,可以使用glTranslatef函数来平移物体,传入三个参数来设定平移的距离。使用glRotatef函数来旋转物体,传入四个参数来设定旋转的角度和旋转轴的坐标。使用glScalef函数来缩放物体,传入三个参数来设定缩放的比例。
为了实现光照效果,需要先启用光照功能,可以使用glEnable函数来启用光照。然后,使用glLightfv函数来设置光源的属性,例如光源的位置、光源的颜色、光照强度等。还可以使用glEnable函数来启用光照的不同组成部分,例如启用环境光、漫反射光和镜面光。
最后,使用
OpenGL
的glutMainLoop函数来进入主事件循环,处理窗口的输入事件和渲染。
以上就是用
Python
和
OpenGL
实现
三维
图形的旋转、平移、缩放和光照的基本步骤。需要注意的是,这只是一个简单的介绍,实际编写时还需根据具体的需求进行更详细的操作和调整。
python下stl格式转换off格式
2232661644: