惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
G
Google Developers Blog
J
Java Code Geeks
B
Blog
C
Check Point Blog
云风的 BLOG
云风的 BLOG
MyScale Blog
MyScale Blog
I
InfoQ
A
About on SuperTechFans
WordPress大学
WordPress大学
F
Fortinet All Blogs
S
SegmentFault 最新的问题
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Microsoft Azure Blog
Microsoft Azure Blog
M
MIT News - Artificial intelligence
月光博客
月光博客
Y
Y Combinator Blog
Jina AI
Jina AI
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - EpicBlue

图元:四棱锥\立方体\扇形\带孔圆盘\圆柱体\球体 - EpicBlue - 博客园 PyOpenGL 初始化框架 PaddleDetection的CPU训练 数独计算(C#) android TCP 客户端(仅接收数据) 管理自己的电子书(2) 管理自己的电子书 排列组合的递归实现 状态机参考 状态机 附 (一)nDoc相关资源 nDoc分析 (二) BaseDocumenter nDoc分析 (一) 可怜的nDoc 求助, Acess + winform无法Update的问题 查询面板(三) 查询面板(二) 查询面板(一) 接触ADO.Net 数据库查询 一个不成熟的程序员
绘制图元:线段、三角形、四边形
EpicBlue · 2023-01-10 · via 博客园 - EpicBlue

技术

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)