您当前的位置:首页 > 计算机 > 编程开发 > Python

Python+Matplotlib可视化三次贝塞尔曲线的4个调和函数

时间:01-10来源:作者:点击数:

相关知识:

确定一条n次贝塞尔曲线需要n+1个控制点和n+1个对应的调和函数,每个调和函数的定义域和值域都为[0,1],且所有调和函数值之和恒等于1,与自变量取值无关。以三次贝塞尔曲线为例,需要4个控制点(记为P1、P2、P3、P4),相应的4个调和函数的表达式分别为:

B03 = (1-t)^3

B13 = 3 * (1-t)^2 * t

B23 = 3 * (1-t) * t^2

B33 = t^3

贝塞尔曲线的所有性质都与调和函数有关,例如端点性质(曲线起点与第一个控制点重合,曲线终点与最后一个控制点重合,其他控制点均不在曲线上,但是会影响曲线的形状),曲线起点处的切线(一阶导数)为3(P2-P1)、曲线终点处的切线(一阶导数)为3(P4-P3),凸包性(曲线上所有点都在控制多边形的凸包之内),仿射不变性(对所有控制点进行变换后根据新的控制点重新计算曲线上的点,等价于对原曲线进行同样的变换)等等。

相关阅读:

  1. Python+OpenGL绘制和拼接三次贝塞尔曲线
  2. Python+Matplotlib绘制三次贝塞尔曲线
  3. Python+OpenGL绘制任意形状的三次贝塞尔曲线

任务描述:

编写Python程序,调用Matplotlib,可视化三次贝塞尔曲面的4个调和函数曲线,移动鼠标时显示一条跟随的竖线以及4个调和函数的函数值,可以验证,这4个调和函数的函数值之和恒等于1,与自变量取值无关(也可以通过二项式定理进行证明)。

参考代码:

522ffdd7fe01b940f467bb5dda64a598.png
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门