This Bézier curve (a cubic one, the most common kind) is controlled by four points: two endpoints and two handles. Each handle sets the direction in which the curve leaves its endpoint.
The source code is at github.com/KirillOsenkov/LiveGeometry. It is written in .NET and Avalonia.