
文章图片

在了解贝赛尔曲线之前 , 我对曲线的看法有些坐井观天 , 要么是经典的Y等于X的平方减一 , 要么是圆弧 , 它可以在所有方向上做循环移动 。 如果我们试图了解曲线的构造 , 可以将它们连接在一起 , 形成基本的线段 , 而后以一种非常优雅的路径前行 , 比如曲线的切线和法线 , 它可以让我们可以定位对象 , 或者在每个点的周围建立一个坐标空间 。 这对程序几何非常有用 , 我们还可以根据他们的区域半径来分析这些曲线的转向方向和速度 。
除此之外 , 我们还可以分析并评估他们的边界 , 这在优化程序里用途十分广泛 , 他就是贝塞尔曲线 。 贝塞尔曲线在游戏中无处不在 , 比如视角的变换 。 在最开始的建模中 , 它不仅能生成动画 , 还能改变模型的方向 , 屈率 , 半径等参数 。 值得一提的是 , 游戏falsetone就是使用它来创建平滑的曲线轨道 。 我们需要在编辑器里根据参数创建相对应的点 , 然后控制这些锚点即可 。 我们见过最多的则是photoshop笔的钢笔工具 , 控制手柄即可画出任意形状的曲线 。 那么我们该如何创建贝塞尔曲线呢?
假设有两个点 , P0和P1 , 他们有一条线段连接 。 现在我们想象这两点之间还存在着一个点P , 它的位置可以用所谓的T值描述 , 这个值介于零和一之间 , 有点类似于百分比 , 其中PE处的T值为一 , P0处的T值为零 , 介于两者之间的任何值都是一和零的混合 , 这个函数称为线性插值 , 简称LERP 。 现在如果再加一个点呢?此时在这两条线段上都有一个叉指点 , 他们的T值都能在相对应的线段上变化 , 此时我们把这两个点连接起来 。 如果在这条线段上再添加一个点 , 它的差值函数给予相同的T值 , 此时我们观察他的路径是不是很美 , 这也叫做二次贝赛尔曲线 。
【科普:如何创建贝赛尔曲线?】接着来 , 我们再加一个点 , 重复先前的过程 , 增加三个点连接他们 , 然后加两个点 , 再次连接 , 最后再加一个点 。 此时 , 这最后一个点将完全遵循三次贝塞尔曲线的路径 。 这种结构的美妙之处在于 , 无论我们使用哪个点 , 他都能工作 , 还可以将形状变化为任何形状 , 无论怎么变化 , 他都能为我们提供一条平滑的路径 。 怎么样 , 美吧 。
推荐阅读
- 中国空间站对外开放,美媒不屑:各国对阿尔忒弥斯计划更有兴趣
- 神十四乘组明日返回东风着陆场
- 返回时间已定!神舟十四号快速返回:比神十二缩短19小时!
- 比神12返回缩短19小时!神14已从空间站分离,携带80多个实验样本
- 返回时间已定!神舟十四号快速返回:比神十二缩短19小时
- 着陆时间确定?神舟十四号撤离空间站!千里外制动将面临多次挑战
- 我国空间站的钥匙,是一把“祖传扳手”?现在交给神舟十五号了
- 美专家讽刺:11年前禁中美合作!如今美将军称中国太空计划威胁美国
- 从来没有过的事:量子计算机为人类造了一个“虫洞”,可穿越