python使用opengl绘制竹叶的十字型
2012-12-04 00:21
781 查看
我们在很多地方看到的瓷砖的表面都印有竹叶的十字型,我们用opengl来绘制一个试一试。
#coding=utf-8 from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT import * import math import sys def init(): glClearColor(1.0, 1.0, 1.0, 1.0) gluOrtho2D(-5.0, 5.0, -5.0, 5.0) #竹叶的十字型,注意是巧用y=x**2和y=math.sqrt(x)两个函数 def plotfunc(): glClear(GL_COLOR_BUFFER_BIT) glColor3f(0.0, 0.0, 0.0) glPointSize(1.0) glBegin(GL_LINES) glVertex2f(-5.0, 0.0) glVertex2f(5.0, 0.0) glVertex2f(0.0, 5.0) glVertex2f(0.0, -5.0) glEnd() x = 0.0 while x <= 1.0: y = x**2 glBegin(GL_POINTS) glVertex2f(x, y) glVertex2f(-x, y) glVertex2f(x, -y) glVertex2f(-x, -y) glEnd() x += 0.01 x = 0.0 while x <= 1.0: y = math.sqrt(x) glBegin(GL_POINTS) glVertex2f(x, y) glVertex2f(-x, y) glVertex2f(x, -y) glVertex2f(-x, -y) glEnd() x += 0.01 glFlush() def main(): glutInit(sys.argv) glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB) glutInitWindowSize(500, 500) glutInitWindowPosition(100, 100) glutCreateWindow("Function plotter") glutDisplayFunc(plotfunc) init() glutMainLoop() main()执行结果如下:
相关文章推荐
- python使用opengl绘制圆,y=x**2,y=math.sqrt(x)
- 广义mandelbrot集,使用python的matplotlib绘制,支持放大缩小
- 使用opengl绘制三角形
- Python编程练习:使用 turtle 库完成玫瑰花的绘制
- 使用Python绘制Nginx,Redis等的性能测试图表
- OpenGL GL_EDGE_FLAG、GL_POLYGON_MODE、glPolygonMode组合使用将凹多边形切割成凸多边形绘制
- 使用Python的turtle库实现七段数码管绘制
- Python 使用folium绘制leaflet地图
- android平台使用Opengl实现点、线、三角形的绘制
- python使用pygal进行绘制数据图表和监控图表
- 使用python绘制二维图形
- Python使用Turtle模块绘制五星红旗代码示例
- 《机器学习实战》——在python中使用Matplotlib注解绘制树形图
- OpenGL In C# 01 NativeOpenGL 使用默认窗体绘制OpenGL内容
- 在VC++中使用OpenGL绘制典型曲面
- Python——使用matplotlib绘制柱状图
- 使用python绘制常用的图表
- python使用matplotlib绘制热图
- 使用Python处理声音文件(五):绘制立体声音乐左右声道频谱
- Python:使用matplotlib绘制图表