贝齐尔如何处理工作?

时间:2010-05-25 03:09:33

标签: c++ c algorithm graphics

在维基百科上,我找到了有关bezier curves的信息,并创建了一个函数来生成贝塞尔多边形的中间点。我注意到Expression Design使用bezier句柄。这允许用4个点制作圆,每个点具有贝塞尔手柄。

我只是不确定数学如何与bezier点在时间T的公式相关。这些句柄向量如何修改形状?基本上与贝塞尔公式有什么关系?

由于

2 个答案:

答案 0 :(得分:2)

基本上,立方贝塞尔公式中使用的4个点是曲线之间的2个点,加上前两个点的“侧”处的两个手柄点(每个第一个点的1个手柄) 。如果每个点上有双手柄,则忽略当前正在计算的曲线的点“相对”侧的手柄(它们用于生成从相反侧出来的曲线)。

用于立方贝塞尔曲线的实际生成方法在您在问题中链接的维基百科页面上列出。

答案 1 :(得分:1)

Bezier段的4​​个点是段的两个端点和两个句柄,每个端点一个。句柄在离开端点时确定线的初始方向。从句柄到终点的距离决定了句柄在路径上施加的“拉”量。

通常,您会发现多个Beziers端到端连接,其中一个端点被共享作为下一个的起始点。这保证了不间断的曲线。如果一个点两侧的手柄直接相互交叉,则关节处的角度将匹配;如果手柄距离点的距离相同,则角度将完全平滑,此时不会出现明显的不连续性。

Bezier分段的一个有趣特性是曲线完全适合由4个点定义的平行四边形。

我所描述的是Bezier最常见的形式,即立方体。还有一个二次方,在两个端点之间只有一个句柄;最常见的应用程序是TrueType字体。