Germanyjoweich/fractals
Fast mandelbrot set renderer using goroutines
🌀 Render Mandelbrot nhanh tới 1000x1000 với goroutine
Bộ render Mandelbrot set bằng Go, dùng goroutine để tận dụng đa lõi CPU tối đa.
fractals là công cụ render Mandelbrot set tùy biến bằng Go, sử dụng goroutine để đạt hiệu năng cao. Dự án cho phép người dùng dễ dàng tạo hình ảnh fractal với nhiều tùy chỉnh về kích thước, màu sắc và chất lượng.
✨ Điểm nổi bật
- Tùy biến kích thước: Hỗ trợ thiết lập chiều cao và chiều rộng hình ảnh qua tham số dòng lệnh.
- Màu sắc HSL: Sử dụng mô hình HSL để tạo màu sắc phong phú cho các pixel không thuộc tập hợp Mandelbrot.
- Chế độ xám: Hỗ trợ render hình ảnh theo thang độ xám.
- Anti-aliasing ngẫu nhiên: Áp dụng lấy mẫu ngẫu nhiên để giảm thiểu hiện tượng răng cưa.
- Phép tính lặp chuẩn hóa: Làm trơn đường bờ bằng kỹ thuật đếm lần lặp chuẩn hóa.
- Pha trộn màu tuyến tính: Hỗ trợ pha trộn màu sắc mượt mà theo chuẩn sRGB.
💡 Vì sao đáng chú ý
Khác với các công cụ render thông thường chạy đồng bộ, fractals chia tách mỗi hàng ảnh thành một job đưa vào kênh (channel), sau đó các goroutine tiêu thụ job này cho tới khi kênh rỗng. Cách tiếp cận này tận dụng tối đa đa lõi CPU và giữ cho tài nguyên được sử dụng hiệu quả.
Dự án phù hợp cho những ai muốn khám phá toán học fractal, học tập lập trình đồng thời trong Go, hoặc tạo ra các hình ảnh nghệ thuật độc đáo từ tập hợp Mandelbrot.
#Go #Fractal #Mandelbrot #Concurrency #GenerativeArt #TiniX
Similar Projects
Discover other similar projects and AI models.
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
Minimal Example of Using Vulkan for Compute Operations. Only ~400LOC.
Explore the Mandelbrot set in your browser, rendered with Rust and WebAssembly.
Iterated Dynamics is a fractal renderer with support for many fractal types and extensive context-sensitive help.