[pyopengl][转载]画一个三角形
-- coding: utf-8 --
------------------------------------------- # quidam_01.py 三维空间中的坐标系与三角形绘制 # -------------------------------------------
from OpenGL.GL import from OpenGL.GLUT import
![[pyopengl][转载]画一个三角形 [pyopengl][转载]画一个三角形](https://www.sjzmr.com/zb_users/cache/ly_autoimg/o/OTIzNjE.png)
def draw():
---------------------------------------------------------------
glBegin(GL_LINES) # 开始绘制直线段(用于表示世界坐标轴)绘制红色的X轴
glColor4f(1.0, 0.0, 0.0, 1.0) # 红色,不透明 glVertex3f(-0.8, 0.0, 0.0) # X轴负方向端点 glVertex3f(0.8, 0.0, 0.0) # X轴正方向端点
绘制绿色的Y轴
glColor4f(0.0, 1.0, 0.0, 1.0) # 绿色,不透明 glVertex3f(0.0, -0.8, 0.0) # Y轴负方向端点 glVertex3f(0.0, 0.8, 0.0) # Y轴正方向端点
绘制蓝色的Z轴
glColor4f(0.0, 0.0, 1.0, 1.0) # 蓝色,不透明 glVertex3f(0.0, 0.0, -0.8) # Z轴负方向端点 glVertex3f(0.0, 0.0, 0.8) # Z轴正方向端点
glEnd() # 结束线段绘制
---------------------------------------------------------------
glBegin(GL_TRIANGLES) # 开始绘制彩色三角形(位于Z轴负半区)
glColor4f(1.0, 0.0, 0.0, 1.0) # 设置第一个顶点为红色 glVertex3f(-0.5, -0.366, -0.5)
glColor4f(0.0, 1.0, 0.0, 1.0) # 设置第二个顶点为绿色 glVertex3f(0.5, -0.366, -0.5)
glColor4f(0.0, 0.0, 1.0, 1.0) # 设置第三个顶点为蓝色 glVertex3f(0.0, 0.5, -0.5)
glEnd() # 结束三角形绘制
---------------------------------------------------------------
glFlush() # 强制清空绘图命令缓冲区,立即执行
if name == "main": glutInit() # 初始化GLUT库 glutCreateWindow('Quidam Of OpenGL') # 创建窗口 glutDisplayFunc(draw) # 注册显示回调函数 glutMainLoop() # 启动主事件循环
结果显示:
![[pyopengl][转载]画一个三角形](https://www.sjzmr.com/zb_users/upload/2026/01/20260109143308176794038852534.jpg)
网友留言(0 条)