It depends on what you want. You could, for instance, let the user draw the curve, extrapolate control points from the drawn curve (aka x,y positions that the mouse went through), and then use them to calculate a smooth curve. Or you could have the user draw a line, then click a point on that line to create a control point and allow them to move that point. I've seen both.