1、首先登录https://www.opengl.org/resources/libraries/glut/,下载下图箭头所指的文件

2、解压缩,如下图所示:

3、粗暴一点,把这些文件全部选中,然后复制到C:\Windows\SysWOW64。

4、接下来打开http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl,下载合适版本的whl文件,如图所示(根据自己所安装Python的版本选择32位或64位):

5、下载到Python3.6的安装目录的scripts文件夹中(注意,不要修改文件名),然后使用pip进行本地安装,如图所示:

6、然后编写Python+OpenGL程序

import sys
from math import pi as PI
from math import sin, cos
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

class MyPyOpenGLTest:
    #重写构造函数,初始化OpenGL环境,指定显示模式以及用于绘图的函数
    def __init__(self, width = 640, height = 480, title = b'MyPyOpenGLTest'):
        glutInit(sys.argv)
        glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH)
        glutInitWindowSize(width, height)
        self.window = glutCreateWindow(title)
        #指定绘制函数
        glutDisplayFunc(self.Draw)
        glutIdleFunc(self.Draw)
        self.InitGL(width, height)

#根据特定的需要,进一步完成OpenGL的初始化
    def InitGL(self, width, height):
        #初始化窗口背景为白色
        glClearColor(1.0, 1.0, 1.0, 0.0)
        glClearDepth(1.0)
        glDepthFunc(GL_LESS)
        #光滑渲染
        glEnable(GL_BLEND)
        glShadeModel(GL_SMOOTH)
        glEnable(GL_POINT_SMOOTH)
        glEnable(GL_LINE_SMOOTH)
        glEnable(GL_POLYGON_SMOOTH)       
        glMatrixMode(GL_PROJECTION)
        #反走样,也称抗锯齿
        glHint(GL_POINT_SMOOTH_HINT,GL_NICEST)
        glHint(GL_LINE_SMOOTH_HINT,GL_NICEST)
        glHint(GL_POLYGON_SMOOTH_HINT,GL_FASTEST)
        glLoadIdentity()
        #透视投影变换
        gluPerspective(45.0, float(width)/float(height), 0.1, 100.0)
        glMatrixMode(GL_MODELVIEW)

#计算三次贝塞尔曲线上指定参数对应的点坐标
    def getBezier(self, P0, P1, P2, P3, t):
        a0 = (1-t)**3
        a1 = 3 * (1-t)**2 * t
        a2 = 3 * t**2 * (1-t)
        a3 = t**3

x = a0*P0[0] + a1*P1[0] + a2*P2[0] + a3*P3[0]
        y = a0*P0[1] + a1*P1[1] + a2*P2[1] + a3*P3[1]
        z = a0*P0[2] + a1*P1[2] + a2*P2[2] + a3*P3[2]

return (x, y, z)

#定义自己的绘图函数
    def Draw(self):
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
        glLoadIdentity()
        #平移
        glTranslatef(-3.0, 0.0, -8.0)
        #指定三次贝塞尔曲线的4个控制点坐标
        P0 = (-4, -2, -9)
        P1 = (-0.5, 3, 0)
        P2 = (2, -3, 0)
        P3 = (4.5, 2, 0)
        #指定模式,绘制多边形
        glBegin(GL_LINES)
        #设置顶点颜色
        glColor3f(0.0, 0.0, 0.0)
        #绘制多边形顶点
        for i in range(1001):
            t = i/1000.0
            p = self.getBezier(P0, P1, P2, P3, t)
            glVertex3f(*p)        
        #结束本次绘制
        glEnd()      
       
        glutSwapBuffers()

#消息主循环
    def MainLoop(self):
        glutMainLoop()

if __name__ == '__main__':
    #实例化窗口对象,运行程序,启动消息主循环
    w = MyPyOpenGLTest()
    w.MainLoop()

运行结果如图所示:

-------------分割线-------------

今日习题(应屋友要求,偶尔发点题目大家做做,第二天发答案):

已知x = [1,2,3,2,1,2,3],那么表达式[x.index(i) for i in x if i==3]的值是什么?为什么?

Win10系统配置Python3.6+OpenGL环境详细步骤相关推荐

  1. win10python详细配置_Win10系统配置Python3.6+OpenGL环境详细步骤

    原标题:Win10系统配置Python3.6+OpenGL环境详细步骤 1.首先登录https://www.opengl.org/resources/libraries/glut/,下载下图箭头所指的 ...

  2. 本地安装Java环境详细步骤

    本地安装Java环境详细步骤 Win10下载安装jdk及配置环境变量 一.官网下载jdk 二.配置环境变量 三.检验是否配置成功 四.本地安装Java环境成功 Win10下载安装jdk及配置环境变量 ...

  3. Linux装jdk并配置环境详细步骤

    Linux装jdk并配置环境详细步骤 1.创建文件使用命令mkdir /usr/local/jdk 2.通过xshell传上来的文件都在/root目录下通过命令ls可以查看然后需要移动文件移动文件位置 ...

  4. win10计算机光驱启动怎么办,Win10系统禁用/开启光驱的详细步骤(图文)

    win10电脑光驱使用久了读盘能力会慢慢变慢,如果不用时,可以选择禁用光驱,我们可以直接在设备管理器中禁用或开启光驱,操作步骤也比较简单.接下去小编和大家分享Win10系统禁用/开启光驱的详细步骤. ...

  5. win10系统开启IPV6协议的详细步骤

    win10 64位系统上网都要涉及到很多协议,最常见的有IPV4.IPV6等.随着IPV4地址资源的枯竭,IPV6地址的应用越来越广泛.部分用户在升级到Windows 10专业版后无法正常联网,原来是 ...

  6. win10如何安装mysql_win10安装mysql详细步骤

    很多人都在问系统之家小编win10安装mysql要怎么做,当我们安装了这款软件,就可以开发我们的电脑啦,是不是很爽呢?小编也是这样认为的,而且小编早就完成了win10安装mysql哦!既然大家对此感兴 ...

  7. 支付宝开放平台—开发中心—沙箱环境—详细步骤与操作说明

    支付宝开放平台-沙箱环境详细配置步骤 沙箱环境配置文档参考:https://docs.open.alipay.com/200/105311/ 应用开发文档参考:https://docs.open.al ...

  8. java怎么不安装到c盘的教程,帮您设置win10系统安装不了java的详细步骤

    我们在操作win10系统电脑的时候,常常会遇到win10系统安装不了java的情况,想必大家都遇到过win10系统安装不了java的情况吧,那么应该怎么处理win10系统安装不了java呢?我们依照1 ...

  9. python3.8.0安装详细步骤_win10下python3.8的PIL库安装过程

    1.找到Python的位置 我的是在 C:UsersadminAppDataLocalProgramsPythonPython38 AppData这个文件是个隐藏文件需要查询得先把隐藏文件显示出来 w ...

最新文章

  1. 调查显示:企业将部署SDN提上议程
  2. 暴涨!BTC忠实粉丝转向BCH为BCH网络添砖加瓦
  3. idea窗口下方滚动条不明显设置
  4. OpenGL灰色滤镜
  5. 第二节 安装CentOS
  6. DataTable操作
  7. Linux常用指令---快捷键
  8. Java进程与子进程交互
  9. lru算法c语言实现单链表,操作系统之LRU算法 C语言链表实现
  10. 使用DAO模式开发宠物管理系统---hellokitty
  11. 最新NLP Prompt代表工作梳理!ACL 2022 Prompt方向论文解析
  12. Santander Customer Transaction Prediction(2)
  13. mysql fprintf_matlab中fprintf函数的用法详解
  14. Opencv之Unsharp Mask(USM)锐化
  15. Android - 基于EasyAR SDK的AR红包的实现
  16. 3dMAX对电脑配置是怎么样的?
  17. SAP ERP统驭科目
  18. 2018天池比赛首战落幕
  19. java实例化类之后如何赋值_深入理解Java对象的创建过程:类的初始化与实例化...
  20. 使用Python对Dicom文件进行读取与写入的实现(pydicom 和 SimpleITK)

热门文章

  1. python客户端自动化测试滚轮移到最上面_Python+Appium自动化测试(8)-swipe()滑动页面...
  2. nt服务器需要的协议,构建没有NT服务器的NT域
  3. aliyun gradle 代理_gradle|gradle 配置阿里云镜像和插件镜像
  4. 测试接口python常用命令_用python实现接口测试(四、操作MySQL)-阿里云开发者社区...
  5. matlab里markersize,Matlab scatter/plot绘制图时,单点的'MarkerSize'与空间位置的
  6. java什么是接口_Java接口是什么
  7. 计划任务执行 php代码,php实现Windows任务计划定时执行的代码以及扩展(图)
  8. python入门第二章房贷计算器 打印五子棋棋盘 猜数字 计数器 逢七拍手游戏
  9. 基于JAVA+SpringMVC+MYSQL的宠物管理系统
  10. [USB].USB总线详解