Tự động ô đa sắc: Khi những quy tắc đơn giản vẽ nên thế giới màu sắc bất ngờ
Việc thêm vào các dải màu sắc, bảng màu theo mùa và gradient đã biến các mô hình tự động ô (cellular automata) đen trắng đơn giản thành những bức tranh số tuyệt đẹp mô phỏng núi non hay dệt may. Bài viết giới thiệu CellCosmos, một công cụ dựa trên WebAssembly cho phép người dùng trực tiếp tương tác và tạo ra các mô hình này ngay trên trình duyệt.

Khi nghĩ về các tự động ô (cellular automata), chúng ta thường hình dung đến những lưới đen trắng chuyển động theo thời gian, giống như những cơn bão tuyết kỹ thuật số chạy qua màn hình. Tuy nhiên, một khi chúng ta thêm vào màu sắc — các bảng màu, dải chuyển sắc (gradient) và sắc thái theo mùa — những quy tắc đơn giản ấy bắt đầu giống với những dãy núi, vải dệt thổ cẩm hay những bức tranh trừu tượng.
Trong bài viết này, chúng ta sẽ khám phá cách màu sắc có thể biến đổi các tự động ô sơ cấp, bắt đầu từ các thí nghiệm với gradient và đi sâu vào những cuộc thám hiểm tương tác trực tiếp trên trình duyệt.
Từ hai tông màu đến dải chuyển sắc
Trong các bài viết trước, tôi đã bắt đầu với các quy tắc đen trắng cổ điển và đặt ra một câu hỏi đơn giản: Điều gì sẽ xảy ra nếu mỗi hàng mới có thể có dải màu gradient riêng? Bằng cách ánh xạ trạng thái của ô thành các chuyển tiếp mượt mà giữa các màu, cấu trúc hình tam giác quen thuộc của các quy tắc như 50 hay 30 đột nhiên trông giống như những đỉnh núi cách điệu và những cảnh quan nhiều lớp.
Dải màu gradient trong tự động ô
Ngay cả một quy tắc cố định, khi kết hợp với các gradient biến đổi, cũng tạo ra các chuỗi "bức tranh" thay vì chỉ là các mẫu nhị phân đơn thuần.
Bảng màu theo mùa và cảnh quan mới
Thay vì bám sát các lựa chọn RGB ngẫu nhiên, tôi bắt đầu chọn các bảng màu lấy cảm hứng từ thiên nhiên — ví dụ như các sắc thái của mùa xuân với màu nền và màu tiền cảnh rõ rệt. Với năm màu được tách biệt kỹ lưỡng, các quy tắc một chiều đơn giản đã tạo ra những cảnh gợi nhớ đến những đỉnh núi tuyết, những ngọn đồi nhiều lớp hoặc các dải thảm thực vật.
Quy tắc 150 tạo thành các dải màu tự nhiên
Những điều chỉnh nhỏ trong thiết kế bảng màu — chẳng hạn như loại bỏ màu nền khỏi danh sách màu tiền cảnh — có thể làm cho các cấu trúc chính nổi bật hơn rõ ràng, đồng thời vẫn giữ nguyên quy tắc nền tảng.
Hiệu ứng của việc điều chỉnh bảng màu
Khám phá tự động ô đầy màu sắc trên trình duyệt
Để làm cho các thí nghiệm này dễ tiếp cận và có thể tái tạo, tôi đã xây dựng CellCosmos, một công cụ khám phá tự động ô sơ cấp dựa trên WebAssembly. Logic cốt lõi được viết bằng một ngôn ngữ lập trình đa ngữ và biên dịch thành WASM, cho phép nó chạy tương tác ngay trên trình duyệt đồng thời hiển thị các tham số như quy tắc, bảng màu và điều kiện ban đầu.
Công cụ trực tiếp: CellCosmos
Với CellCosmos, bạn có thể:
- Chọn bất kỳ trong số 256 quy tắc sơ cấp và xem ngay lập tức cách nó hoạt động với các sơ đồ màu khác nhau.
- Thử nghiệm với các gradient nhiều điểm dừng được ánh xạ tới các trạng thái rời rạc, biến một quy tắc một chiều thành kết cấu màu sắc phong phú.
- Chia sẻ cấu hình thông qua các URL được mã hóa, giúp việc truy cập lại hoặc phối lại các mẫu hình đặc biệt trở nên dễ dàng.
Tại sao quy tắc đơn giản lại tạo ra màu sắc phong phú
Điều khiến tất cả những điều này trở nên hấp dẫn là không có quy tắc cơ bản nào thay đổi: các tự động ô vẫn là hệ thống cập nhật xác định cục bộ trên một dòng các ô. Tất cả sự phức tạp được nhận thức đều đến từ cách chúng ta lựa chọn mã hóa trạng thái thành màu sắc, cách chúng ta tách biệt nền và tiền cảnh, và cách gradient phát triển qua các hàng.
Nói cách khác, màu sắc đóng vai trò như một thấu kính có thể giải thích trên các động thái mà chúng ta đã có, tiết lộ những ngọn núi, những con sóng và những tấm thảm mà thực chất luôn tiềm ẩn trong các mẫu bit.



