B-Spline - это решение проблемы, возможно, вам следует описать вашу проблему и спросить, какое решение лучше. GDI + содержит DrawBezier и DrawCurve для рисования сплайнов, которые могут быть хорошей отправной точкой. Примерно так:
Point p1 = new Point(10, 10);
Point p2 = new Point(50, 10);
Point p3 = new Point(10, 50);
Point p4 = new Point(50, 50);
e.Graphics.DrawBezier(Pens.Blue, p1, p2, p3, p4);
p2 и p3 не являются частью кривой, а являются «контрольными точками», переместите их, чтобы увидеть эффект.