Bài giảng 13: Đường cong Bézier

Lesson Attachments

Đường cong và bề mặt

Trong hàng ngàn năm, những người thợ xây đã sử dụng các dải gỗ dài và mảnh để tạo nên thân tàu. Về sau, các nhà thiết kế đã sử dụng các dải kim loại dài, linh hoạt để định hình bề mặt của ô tô và máy bay. Các vật nặng và chốt cố định làm cho các dải này uốn thành những đường cong mượt mà gọi là spline bậc ba tự nhiên. Đoạn cong giữa hai điểm điều khiển liên tiếp (chốt hoặc vật nặng) có biểu diễn tham số bằng đa thức bậc ba.

Tuy nhiên, những đường cong như vậy có nhược điểm: di chuyển một điểm điều khiển sẽ làm thay đổi hình dạng của toàn bộ đường cong, do ảnh hưởng của lực vật lý mà các chốt và vật nặng tác động lên dải. Các kỹ sư thiết kế từ lâu đã mong muốn có thể điều khiển cục bộ đường cong – tức là việc di chuyển một điểm điều khiển chỉ làm thay đổi một phần nhỏ của đường cong.

Năm 1962, một kỹ sư người Pháp trong ngành công nghiệp ô tô, Pierre Bézier, đã giải quyết vấn đề này bằng cách thêm các điểm điều khiển phụ và sử dụng một lớp đường cong – mà ngày nay được gọi theo tên ông: đường cong Bézier

Đường cong Bézier

Các đường cong được mô tả trong phần này đóng vai trò rất quan trọng trong đồ họa máy tính cũng như trong kỹ thuật. Ví dụ, chúng được sử dụng trong phần mềm Adobe Illustrator, Macromedia Freehand, và trong các ngôn ngữ lập trình ứng dụng như OpenGL.

Những đường cong này cho phép chương trình lưu trữ chính xác thông tin về các đoạn cong và bề mặt cong chỉ bằng một số lượng nhỏ các điểm điều khiển. Tất cả các lệnh đồ họa liên quan đến các đoạn và bề mặt cong chỉ cần được tính toán tại các điểm điều khiển này.

Cấu trúc đặc biệt của đường cong Bézier còn giúp tăng tốc các phép tính khác trong “pipeline đồ họa” – quy trình xử lý tạo ra hình ảnh cuối cùng hiển thị trên màn hình.

Đường cong Bézier bậc hai và bậc ba, vốn được xác định bởi ba hoặc bốn điểm điều khiển, ký hiệu là p0,p1,p2p_0, p_1, p_2 và p3p_3. Các điểm điều khiển này có thể nằm trong không gian R2\mathbb{R}^2 hoặc R3\mathbb{R}^3, hoặc có thể được biểu diễn dưới dạng tọa độ đồng nhất trong R3\mathbb{R}^3 hoặc R4\mathbb{R}^4.

Biểu thức tham số chuẩn của các đường cong này, với 0≤t≤10 \leq t \leq 1, là:

  • Đối với đường cong Bézier bậc hai:

w(t)=(1−t)2p0+2t(1−t)p1+t2p2w(t) = (1 – t)^2 p_0 + 2t(1 – t)p_1 + t^2 p_2

  • Đối với đường cong Bézier bậc ba:

x(t)=(1−t)3p0+3t(1−t)2p1+3t2(1−t)p2+t3p3x(t) = (1 – t)^3 p_0 + 3t(1 – t)^2 p_1 + 3t^2(1 – t)p_2 + t^3 p_3

Hình 1 minh họa hai đường cong điển hình. Thông thường, các đường cong này chỉ đi qua điểm điều khiển đầu tiên và cuối cùng, nhưng một đường cong Bézier luôn nằm bên trong bao lồi (convex hull) của các điểm điều khiển của nó.

Đường cong Bézier rất hữu ích trong đồ họa máy tính vì các tính chất cơ bản của chúng được bảo toàn dưới các phép biến đổi tuyến tính và tịnh tiến.

Ví dụ, nếu AA là một ma trận có kích thước phù hợp, thì nhờ tính tuyến tính của phép nhân ma trận, với 0≤t≤10 \leq t \leq 1, ta có:

Ax(t)=A[(1−t)3p0+3t(1−t)2p1+3t2(1−t)p2+t3p3]Ax(t) = A\left[ (1 – t)^3 p_0 + 3t(1 – t)^2 p_1 + 3t^2(1 – t) p_2 + t^3 p_3 \right] =(1−t)3Ap0+3t(1−t)2Ap1+3t2(1−t)Ap2+t3Ap3= (1 – t)^3 A p_0 + 3t(1 – t)^2 A p_1 + 3t^2(1 – t) A p_2 + t^3 A p_3

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Hotline: 039.2266.928
Khóa học Toefl
Phone now