vector p0 = point(@OpInput2, "P", 0);
vector p1 = point(@OpInput2, "P", 1);
vector p2 = point(@OpInput2, "P", 2);
vector p3 = point(@OpInput2, "P", 3);

float shift = fit(@ptnum, 0, 50, 0 , 1);
float blend = smooth(0, 1, shift);

float t = blend;
float tt = pow(blend, 2);
float ttt = pow(blend, 3);
float u = 1-t;
float uu = pow(u,2);
float uuu = pow(u,3);

vector B;
B = uuu * p0;
B += 3 * uu * t * p1;
B += 3 * u * tt * p2;
B += ttt * p3;

@P = B;