Nếu bạn từng quen thuộc với sự hỗn loạn tĩnh của hệ Con lắc kép (Double Pendulum), thì đây là một cấu hình vật lý còn sinh động và đàn hồi hơn rất nhiều: Con Lắc Lò Xo (Spring Pendulums).
Khác với con lắc nối bằng sợi dây siêu cứng cứng truyền thống, con lắc lò xo chịu ảnh hưởng của Lực đàn hồi Hooke (). Lực này không chỉ bẻ cong hướng rơi của quả nặng mà còn liên tục hấp thụ rồi giải phóng động năng thông qua các nhịp dao động nhún nảy (co-dãn).
Khi chúng ta rải 65 con lắc lò xo có đặc tính giống hệt nhau nhưng với góc nghiêng chỉ chệch nhau vài phần nghìn độ, chúng ta sẽ nhận được một dải quang phổ cầu vồng cực kỳ hỗn độn:
Thuật Toán Mô Phỏng Hệ Lò Xo (Physics Engine)
Đằng sau những sợi dây zig-zag đàn hồi uyển chuyển này là bộ vi phân số trị cao cấp. Máy tính phải liên tục giải hệ phương trình Động lực học cơ bản:
- Tính chiều dài hiện tại và độ giãn .
- Tính Lực đàn hồi dọc trục:
- Phân rã gia tốc theo 2 trục toạ độ và , cộng hưởng với gia tốc trọng trường .
Do lực đàn hồi biến thiên rất mãnh liệt, để mô phỏng không bị “bung gãy” hay gặp lỗi nổ toán học (Explosion of Error), CPU bắt buộc phải thực hiện Sub-stepping với hệ số . Có nghĩa là trong thời gian thực giữa 2 khung hình trên màn hình của bạn (), bộ xử lý âm thầm tính toán tới 6 chu kỳ vật lý vi mô ẩn để ổn định quỹ đạo của tất cả 65 quả lắc.
Cơ Chế Dựng Hình Zig-Zag Đàn Hồi
Để vẽ ra cấu trúc lò xo nhún nhảy một cách chân thực nhất, thay vì sử dụng các model đồ họa 3D cồng kềnh, hình ảnh lò xo gấp khúc được tính toán trực tiếp trên CPU.
Máy tính chia vector độ dài thành đoạn (Segments), và dịch chuyển xen kẽ các điểm nối sang hai bên dựa vào Vectơ pháp tuyến vuông góc (perpx, perpy). Bằng cách này, GPU chỉ phải lo việc vẽ các đường thẳng nối điểm bằng hàm tiêu chuẩn. Đây là cách giúp cho cảnh tượng hỗn loạn phức tạp này vẫn luôn mượt mà ở tốc độ 60 FPS!