Python+OpenGL绘制任意长度和次数的B样条曲线
开学第一课:一定不要这样问老师Python问题
中国大学MOOC“Python程序设计基础”第6次开课时间
董付国老师Python系列教材推荐与选用参考
=============
版权声明:由于公众号后台规则问题,本文暂时无法设置原创标记,但仍属原创内容,微信公众号“Python小屋”坚持只发原创技术文章。
=============
推荐教材:
《Python程序设计(第3版)》,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2022年3月第12次印刷,山东省一流本科课程“Python应用开发”配套教材,清华大学出版社2020、2021年度畅销图书(本书第二版为2019、2020年度畅销图书)
京东购买链接:https://item.jd.com/12668739.html
天猫、当当、京东均有销售,可以选择自己常用平台搜索“董付国 第3版”找到本书。
配套资源:教学大纲(基于工程教育专业认证,含课程思政)、电子教案、微课视频、PPT课件、例题源码、习题答案、在线练习系统。
适用专业:计算机、网络工程、软件工程以及相关专业。
适用学时:>=64
页数:381
定价:59.8
微课视频:124个
教学大纲:《Python程序设计(第3版)》配套教学大纲
习题答案:《Python程序设计(第3版)》课后习题答案
====================
相关知识:
对于给定的m+n+1个控制点,可以绘制m+1段光滑拼接的n次B样条曲线,每段曲线上点的位置由n+1个控制点决定,其中第i段曲线上参数t(0<=t<=1)对应的点为
上面的式子用来计算第i段曲线上的一个点,其中,基函数定义为
任务描述:
编写Python程序,调用OpenGL,绘制B样条曲线。
在空白处单击鼠标左键可以增加控制点并延长B样条曲线,鼠标左键单击某个控制点选中之后可以移动其位置以影响局部曲线形状,鼠标右键单击最后一个控制点可以将其删除。按下键盘上数字1可以绘制一次B样条曲线,按数字2绘制二次B样条曲线,按数字3绘制三次B样条曲线。
运行效果:
参考代码:
如果需要绘制更高次曲线,只需要对ascii_key()方法的代码略加修改即可。另外,上面的代码严格按照B样条曲线的定义进行编写,重复计算基函数值会导致效率略低,可以使用Numpy进行改写和优化,过几天再推送相关代码。
温馨提示:
关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过150次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1300篇原创技术文章;发送消息“会议”或“培训”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过600节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题软件客户端”,免费练习2222道客观题和510道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。
Python+OpenGL绘制任意长度和次数的B样条曲线相关推荐
- Python+OpenGL绘制任意形状的三次贝塞尔曲线
推荐阅读: 开学第一课:一定不要这样问老师Python问题 中国大学MOOC"Python程序设计基础"第6次开课时间 推荐教材: <Python程序设计基础与应用(第2版) ...
- 任意长度的python列表_任意长度的Python列表、元组和字符串中最后一个元素的索引为...
任意长度的Python列表.元组和字符串中最后一个元素的索引为 答:-1 什么是软件工程? 答:百度定义:软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及程序设计语言 ...
- Python+Matplotlib绘制三次贝塞尔曲线
开学第一课:一定不要这样问老师Python问题 中国大学MOOC"Python程序设计基础"第6次开课时间 董付国老师Python系列教材推荐与选用参考 ============= ...
- python标识符最大可能长度_Opencv-Python学习笔记(二)
2. 使用OpenCV3处理图像 2.1 不同色彩空间的转换 OpenCV中有数百种关于在不同色彩空间之间转换的方法. 三种常用色彩空间:灰度.BGR.HSV(Hue色调,Saturation饱和度, ...
- Python提取任意长度整数的每位数字
问题描述:编写函数,给定一个任意长度整数,返回每位数字,例如给定1234则返回(1, 2, 3, 4).问题本身并不复杂,主要演示Python运算符和内置函数的用法和技巧,感谢浙江永嘉教师发展中心应根 ...
- python中怎么取出数字上的每一位数_Python提取任意长度整数的每位数字
问题描述:编写函数,给定一个任意长度整数,返回每位数字,例如给定1234则返回(1, 2, 3, 4).问题本身并不复杂,主要演示Python运算符和内置函数的用法和技巧,感谢浙江永嘉教师发展中心应根 ...
- 任意长度的python列表最后一个元素索引_任意长度的 Python 列表、元组和字符串中最后一个元素的下标为 ________ 。_学小易找答案...
[填空题]已知 x = [3, 5, 7] ,那么表达式 x[10:] 的值为 ____________ . [填空题]表达式 [x for x in [1,2,3,4,5] if x<3] 的 ...
- 任意长度的python列表最后一个元素索引_任意长度的Python列表、元组和字符串中最后一个元素的下标为...
[填空题]Python内置函数__用来返回序列中的最小元素 [填空题]表达式 list(range(5)) 的值为 [填空题]表达式 int(4**0.5) 的值为 [填空题]表达式 3 or 5 的 ...
- 使用python绘制任意函数图像
使用python绘制任意函数图像 ##原创文章不易,望点赞转发收藏三连 效果展示 y = (sinx)/x y = x4+x3+x^2+1 y=-x^2 文末还会展示一些实例图片 引入需要的库 我们使 ...
最新文章
- Angular1.4.6框架简单读取数据库信息并渲染完成news新闻文章列表以及detail详情页功能(小试牛刀)
- v3 微信api 请求微信_企业微信API使用基本教程
- Android不使用支持库请求运行时权限
- js遍历追加html子样式,前端基本功:JS(十一)动画封装(CSS样式获取、JSON遍历)...
- matlab改变图形窗口命名
- 省市级联基于jquery+json(转)
- ES5-15 数组基础、数组方法、数组排序
- linux查看本机所有预设的系统变量,如何设置与查看Linux系统中的环境变量?
- Harbor快速部署到Kubernetes集群及登录问题解决
- 根据线程名获取线程及停止线程
- 2010nbsp;贱语大全!
- LeaRun快速开发平台:企业供应链管理系统解决方案
- Linux上查找最大文件的 3 种方法
- javascript 实现1加到100
- Android开发之中文语音朗读
- 亚马逊Alexa即将推出基于AI的耳语模式
- Deep-learning augmented RNA-seq analysis of transcript splicing | 用深度学习预测可变剪切
- windows如何远程桌面mac
- ffmpeg C++推流
- 赵小楼《天道》《遥远的救世主》深度解析(81)一个不愿躺着对话的女人,应给与绝对尊严,这符合强势文化范畴