This is a small experiment on making a 3D cubic bézier curve editor.
A cubic bézier curve has four control points. In addition to these, there is an additional edit handle. You can click with left mouse button anywhere on the curve to place edit handle there.
Clicking handles with left mouse button selects the handle. Selecting handles shows manipulator: dragging manipulator axis with left mouse button moves the handle along selected axis.
Pressing Space toggles locking the edit handle. When edit handle is locked, curve is forced to move through the edit handle. When edit handle is not locked, edit handle can move when you adjust the control points.
Use WASD keys to move, also, RF moves up/down.
Dragging with right mouse button you can look around.
Windows with OpenGL version 3 or later is currently required. Linux and Mac support is possible with Mono, but not yet tested or supported.
Binaries and selected source available at http://neure.ath.cx/curve.html
I created the curve editor using OpenTK and yet unreleased C# version of RenderStack, a small OpenGL utility library I've been working on.