Kỳ dị dẫn (Strange Attractors)
(blog.shashanktomar.com)- Đây là một dự án trực quan hóa Strange Attractors bằng Three.js, cho thấy quá trình các mẫu hình phức tạp và đẹp mắt được tạo ra từ những phương trình toán học đơn giản
- Bài viết giải thích các khái niệm cơ bản của hệ động lực học (Dynamical Systems) và lý thuyết hỗn loạn (Chaos Theory), tập trung vào trạng thái của hệ biến đổi theo thời gian và các quy tắc quyết định sự tiến hóa đó
- Strange attractor được định nghĩa bởi bốn đặc điểm: cấu trúc fractal, độ nhạy với điều kiện ban đầu, quỹ đạo phi tuần hoàn và trật tự trong hỗn loạn
- Hiệu ứng cánh bướm được minh họa bằng trực quan hóa Thomas Attractor, cho thấy những thay đổi rất nhỏ của tham số
acó thể tạo ra các mẫu hoàn toàn khác nhau - Triển khai trực quan hóa thời gian thực bằng cách dùng kỹ thuật ping-pong rendering dựa trên GPU để tính toán và render hiệu quả hàng nghìn hạt
Hệ động lực học và lý thuyết hỗn loạn
-
Hệ động lực học là cách mô hình hóa bằng toán học các hiện tượng thay đổi theo thời gian, với nhiều ví dụ như chuyển động của hành tinh, tăng trưởng dân số hay thị trường chứng khoán
- Gồm không gian pha (Phase Space) biểu diễn mọi trạng thái có thể của hệ, và động lực học (Dynamics) đưa hệ từ trạng thái này sang trạng thái tiếp theo
- Ví dụ, trong mô hình tăng trưởng dân số, quy mô dân số và tốc độ tăng trưởng tạo thành trạng thái trong không gian pha, còn tỷ lệ sinh, tỷ lệ tử và sức chứa môi trường quyết định động lực học
-
Lý thuyết hỗn loạn (Chaos Theory) là lĩnh vực nghiên cứu các hệ thống không thể dự đoán, và nhiều hiện tượng trong tự nhiên thuộc về các hệ phi tuyến và nhạy cảm như vậy
- Các quy luật vẫn tồn tại, nhưng dự đoán trở nên bất khả thi do thông tin không đầy đủ
- Đặc trưng tiêu biểu là hiệu ứng cánh bướm, nơi khác biệt nhỏ trong điều kiện ban đầu tạo ra thay đổi lớn ở kết quả
Attractor và Strange Attractor
-
Attractor là tập hợp trạng thái mà hệ hội tụ tới theo thời gian; ví dụ, điểm dừng của con lắc là một attractor
- Sự hội tụ về attractor xảy ra do các yếu tố như tính ổn định, tiêu tán năng lượng (Dissipation) và sự co lại (Contraction)
-
Strange Attractor là attractor có quỹ đạo khó dự đoán do các phương trình phi tuyến phức tạp, với các đặc điểm sau
- Cấu trúc fractal: các mẫu phức tạp lặp lại ở nhiều thang đo khác nhau
- Độ nhạy với điều kiện ban đầu: thay đổi nhỏ dẫn đến kết quả hoàn toàn khác
- Quỹ đạo phi tuần hoàn: không lặp lại cùng một đường đi
- Trật tự trong hỗn loạn: trông như ngẫu nhiên nhưng bên trong có cấu trúc nhất định
Hiệu ứng cánh bướm và trực quan hóa Thomas Attractor
- Hiệu ứng cánh bướm là hiện tượng một thay đổi nhỏ tạo ra khác biệt lớn về lâu dài, thường được giải thích bằng ẩn dụ “cú đập cánh của một con bướm ở Trung Quốc gây ra một cơn bão ở vùng Caribe”
- Khi thay đổi giá trị tham số
acủa Thomas Attractor thành 0.10, 0.13, 0.19, 0.21..., quỹ đạo hạt và hình dạng tổng thể thay đổi hoàn toàn - Khi đổi trạng thái ban đầu thành
cubevàsphere surface, các hạt đi theo những đường khác nhau nhưng cuối cùng vẫn hội tụ về cùng một trạng thái attractor
Chi tiết triển khai
- Phần trực quan hóa dùng Three.js để tính toán và render trực tiếp nhiều hạt trên GPU
- Kỹ thuật ping-pong rendering giúp giảm thiểu việc truyền dữ liệu giữa CPU và GPU, bằng cách luân phiên sử dụng hai framebuffer object (FBO)
- Bộ đệm
pingvàponglần lượt lưu trạng thái hiện tại và trạng thái kế tiếp - Chương trình shader cập nhật vị trí của từng hạt theo phương trình attractor
- Ở mỗi frame, hai bộ đệm được hoán đổi để render trạng thái hạt mới
- Bộ đệm
Tham khảo và tài liệu bổ sung
- Các tài liệu liên quan được trích dẫn gồm Attractor visualization của Maxim, Wikipedia: Attractor, List of Chaotic Maps, WebGLFundamentals: Ping Pong Rendering
- Các ví dụ bổ sung về trực quan hóa attractor 3D được giới thiệu từ chaoticatmospheres.com, dynamicmath.xyz, Reddit r/generative
- Tác giả đang nhận phản hồi trên trang GitHub Discussion của blog và dự định tích hợp vào blog trong tương lai
Chưa có bình luận nào.