VB Code:
Dim X0 As Single
Dim Y0 As Single
Dim X1 As Single
Dim Y1 As Single
Dim X2 As Single
Dim Y2 As Single
Dim X3 As Single
Dim Y3 As Single
Dim AX As Single
Dim BX As Single
Dim CX As Single
Dim AY As Single
Dim BY As Single
Dim CY As Single
Dim NewX As Single
Dim NewY As Single
Dim t As Single
'Set all 4 point before this code using mousedown or mousemove
CX = 3 * (X1 - X0)
BX = 3 * (X2 - X1) - CX
AX = X3 - X0 - CX - BX
CY = 3 * (Y1 - Y0)
BY = 3 * (Y2 - Y1) - CY
AY = Y3 - Y0 - CY - BY
For t = 0 To 1 Step 1 / 100
NewX = AX * t ^ 3 + BX * t ^ 2 + CX * t + X0
NewY = AY * t ^ 3 + BY * t ^ 2 + CY * t + Y0
SetPixel Picture1.hDC, NewX, NewY, vbBlack
Next t