技术

PyOpenGL

 

run函数请见上一篇。

 

绘制线段

代码(py)

def drawAxis():
    glTranslatef(-2.0,-2.0,-6.0)   # 偏左下,是为了看清楚蓝色的Z轴
    glBegin(GL_LINES)               # 开始绘制
    # x轴
    glColor4f(1.0, 0.0, 0.0, 1.0)   # 红色不透明
    glVertex3f(-0.5, 0.0, 0.0)      # 设置x轴起始点 +
    glVertex3f(0.5, 0.0, 0.0)       # 设置x轴结束点  -
    
    # y轴
    glColor4f(0.0, 1.0, 0.0, 1.0)   # 绿色不透明
    glVertex3f(0.0, -0.5, 0.0)      # 设置x轴起始点 +
    glVertex3f(0.0, 0.5, 0.0)       # 设置x轴结束点  -
    
    # z轴
    glColor4f(0.0, 0.0, 1.0, 1.0)   # 蓝色不透明
    glVertex3f(0.0, 0.0, -0.5)      # 设置x轴起始点 +
    glVertex3f(0.0, 0.0, 0.5)       # 设置x轴结束点  -
    
    glEnd()                         # 结束绘制
 
run(drawAxis)

 

 

绘制三角形

代码(py)

def drawTriangle():
    # 移动位置(下面是两种移动位置的情况)
    # 大约三分之一宽,二分之一高
    # glTranslatef(0.0, 0.0, -5.0)
    # 高度已经超出了窗体高度,可视部分的宽度差一点
    # glTranslatef(0.0, 0.0, -2.0)
    # 绘制三角形
    glBegin(GL_POLYGON)
    glVertex3f(0.0, 1.0, 0.0)
    glVertex3f(1.0, -1.0, 0.0)
    glVertex3f(-1.0, -1.0, 0.0)
    glEnd()


run(drawTriangle)

 


绘制四边形
代码(py)

def drawObject():
    glTranslatef(0.0,0.0,-6.0)
    glBegin(GL_QUADS)
    glVertex3f(-1.0, 1.0, 0.0)
    glVertex3f(1.0, 1.0, 0.0)
    glVertex3f(1.0, -1.0, 0.0)
    glVertex3f(-1.0, -1.0, 0.0)
    glEnd()

run(drawObject)

 

posted on 2023-01-10 20:52  EpicBlue  阅读(43)  评论(0编辑  收藏  举报