一、数学
1、二阶Bezier
- 参数方程
F ( t ) = ( 1 − t ) 2 P 0 + 2 ( 1 − t ) t P 1 + t 2 P 2 F(t)=(1-t)^2P_0+2(1-t)tP_1+t^2P_2 F(t)=(1−t)2P0+2(1−t)tP1+t2P2 - 导函数(未化简,方便检查)
F ′ ( t ) = − 2 ( 1 − t ) P 0 + 2 ( − 2 t + 1 ) P 1 + 2 t P 2 F'(t)=-2(1-t)P_0+2(-2t+1)P_1+2tP_2 F′(t)=−2(1−t)P0+2(−2t+1)P1+2tP2 - 代码
static QPointF QuadValue(const QPointF& P0, const QPointF& P1, const QPointF& P2, qreal T){
return (1-T)*(1-T)*P0 + 2*(1-T)*T*P1 + T*T*P2;
}
static QPointF QuadDerived(const QPointF&