Ω
返回上页

参考了一些资料,贝塞尔曲线的逻辑大概如下

约束条件

平面上选三个点,三点不共线.设起点为S,终点为E,控制点为C

SC上取一点A,CE上取一点B,A和B取点时满足 SA/SC==CB/CE

连接AB,取一点a1,取点满足 Aa1/AB==SA/SC==CB/CE

a1点就是二次贝塞尔曲线上的一点,使用上述规则找出满足条件的所有点,得到二次贝塞尔曲线

一次曲线和多次曲线

二次贝塞尔曲线有一个起点一个终点和一个控制点,三次贝塞尔曲线有两个控制点,N次曲线有N-1个控制点(想当然的)

规则和二次的一样,例如有个4次曲线,那就有3个控制点,加上起止点一共5个.

设起点S,控制点为(C1,C2,C3),终点E.按照规则,取SC1,C1C2,C2C3,C3E这四条线段上各一点A,B,C,D(下图蓝色点),满足

SA / SC1 == C1B / C1C2 == C2C / C2C3 == C3D / C3E

连接A,B,C,D得到三条线段,再一次按规则取,AB,BC,CD这三条线段上各一点F,G,H(下图绿色),满足

AF / AB == BG / BC == CH / CD

连接F,G,H得到二条线段,这时,就是一个有3个点的二次曲线情况.最后得到曲线点(下图红色)

N次曲线,最终都会收窄成二次曲线的情况,然后得到最终曲线

如果二次曲线的控制点在起点和终点的连线上会如何.结果曲线成了一条直线.那么一次贝塞尔曲线是直线

那么这也能说明,直线是曲线的特例,2点间最短的距离是直线