Cách tạo đường cong Bezier có loop?

Mình có sử dụng một đoạn code trong link dưới đây để vẽ đường cong như trên hình nhưng không biết xác định các điểm p0,p1,p2,p3 như thế nào để nó vẽ ra hình như trên?

Vector3 CalculateBezierPoint(float t,
  Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3)
{
  float u = 1 – t;
  float tt = t*t;
  float uu = u*u;
  float uuu = uu * u;
  float ttt = tt * t;
 
  Vector3 p = uuu * p0; //first term
  p += 3 * uu * t * p1; //second term
  p += 3 * u * tt * p2; //third term
  p += ttt * p3; //fourth term
 
  return p;
}

p/s: Vector3(int x, int y, int z) struct chứa tọa độ.
Có một trang web có giao diện giống DNH nhưng chuyên về đồ họa, không biết trang web ấy tên gì nhỉ? Quên mất rồi.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?