Tái Tạo Hiệu Ứng Spiral Của M.C. Escher Bằng WebGL Và Toán Học

04 tháng 4, 2026·2 phút đọc

Một lập trình viên đã sử dụng kỹ thuật chuyển đổi tọa độ cực (polar coordinates) trong shader WebGL để tái hiện ấn tượng nghệ thuật vô tận của M.C. Escher, gợi nhớ đến biến đổi Fourier trong xử lý tín hiệu.

Video mới nhất của kênh 3Blue1Brown về tác phẩm in ấn "The Print Gallery" của họa sĩ M.C. Escher đã truyền cảm hứng mạnh mẽ cho những nhà phát triển lập trình đồ họa. Việc tái hiện hiệu ứng này không chỉ là một thử thách kỹ thuật, mà còn là cách tuyệt vời để minh họa sự phức tạp đằng sau những tác phẩm nghệ thuật hình học.

Hiệu ứng Droste là khái niệm cốt lõi ở đây, liên quan đến việc lặp lại một hình ảnh bên trong chính nó theo quy luật vô tận. Escher đã mở rộng ý tưởng này bằng cách phá vỡ ranh giới giữa các lần lặp lại và biến đổi chúng thành một hình xoắn tròn duy nhất. Tại góc độ lập trình, việc tạo ra hiệu ứng này đòi hỏi sự tinh tế trong việc xử lý các tọa độ hình ảnh.

Bí quyết nằm ở việc chuyển đổi hệ tọa độ từ Descartes (trục X, Y) sang tọa độ cực. Trong hệ tọa độ mới này, các vòng tròn đồng tâm trở thành các đường thẳng nằm ngang. Điều này cho phép các phiên bản nhỏ hơn của bức ảnh được "giải phóng" thành các hàng đồng đều, từ đó dễ dàng phá vỡ cấu trúc hàng để tạo ra hiệu ứng xoắn 3D mượt mà.

Việc thực hiện thuật toán này có thể được ví von tương tự như việc áp dụng biến đổi Fourier trong xử lý tín hiệu. Thay vì thực hiện các phép tính phức tạp trực tiếp trong không gian tọa độ ban đầu, người lập trình chuyển sang không gian cực, thực hiện một phép xoay đơn giản, và sau đó chuyển ngược lại.

Dưới đây là mã nguồn cho các vertex shaderfragment shader WebGL được sử dụng để thực hiện phép chuyển đổi này. Nhiều người khác cũng đã tạo ra các bản demo rất ấn tượng sử dụng cùng hiệu ứng này, từ việc tái hiện lại "The Print Gallery" cho đến việc áp dụng nó vào video.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗