Public Module BezierHelper
''' <summary>
''' 获得二次贝塞尔曲线在某个时刻的位置
''' B(t) = PA(1-t)^2+ 2PBt(1-t) + PCt^2
''' </summary>
''' <param name="PA">起始点</param>
''' <param name="bs">二次贝塞尔曲线</param>
''' <param name="t">时间t 0~1</param>
Public Function GetPosition(PA As Point, bs As QuadraticBezierSegment, t As Single) As Point
Dim pr As Point
pr.X = PA.X * (1 - t) ^ 2 + 2 * bs.Point1.X * t * (1 - t) + bs.Point2.X * t ^ 2
pr.Y = PA.Y * (1 - t) ^ 2 + 2 * bs.Point1.Y * t * (1 - t) + bs.Point2.Y * t ^ 2
Return pr
End Function
''' <summary>
''' 获得二次贝塞尔曲线在某个时刻的位置
''' B(t) = PA(1-t)^2+ 2PBt(1-t) + PCt^2
''' </summary>
''' <param name="PA">起始点</param>
''' <param name="bs">二次贝塞尔曲线</param>
''' <param name="t">时间t 0~1</param>
Public Function GetPosition(PA As Point, bs As QuadraticBezierSegment, t As Single) As Point
Dim pr As Point
pr.X = PA.X * (1 - t) ^ 2 + 2 * bs.Point1.X * t * (1 - t) + bs.Point2.X * t ^ 2
pr.Y = PA.Y * (1 - t) ^ 2 + 2 * bs.Point1.Y * t * (1 - t) + bs.Point2.Y * t ^ 2
Return pr
End Function
''' <summary>
'''