Bezier贝塞尔曲线的原理、二次贝塞尔曲线的实现
Bezier曲线的原理 Bezier曲线是应用于二维图形的曲线。曲线由顶点和控制点组成,通过改变控制点坐标可以改变曲线的形状。 一次Bezier曲线公式: 一次Bezier曲线是由P0至P1的连续点,描述的一条线段 二次Bezier曲线公式: 二次Bezier曲线是 P0至P1 的连续点Q0和P1至P2 的连续点Q1 组成的线段上的连续点B(t),描述一条抛物线。 三次Bezier曲线公式: 二次Bezier曲线的实现 #include <vector> class CBezierCurve { public: CBezierCurve(); ~CBezierCurve(); void SetCtrlPoint(POINT& stPt); bool CreateCurve(); void Draw(CDC* pDC); private: // 主要算法,计算曲线各个点坐标 void CalCurvePoint(float t, POINT& stPt); private: // 顶点和控制点数组 std::vector<POINT> m_vecCtrlPt; // 曲线上各点坐标数组 std::vector<POINT> m_vecCurvePt; }; #include <math.h> #include "BezierCurve.h" CBezierCurve: