Sơn trên tường trong phòng tôi có kết cấu 3 chiều ngẫu nhiên, gần như fractal:
Trong thử thách này, bạn sẽ viết một chương trình tạo ra các hình ảnh ngẫu nhiên trông giống như chúng có thể là một phần của bức tường của tôi.
Dưới đây tôi đã thu thập được 10 hình ảnh của các điểm khác nhau trên tường của tôi. Tất cả đều có ánh sáng gần giống nhau và tất cả đều được chụp bằng camera cách tường một bước chân. Các đường viền được cắt đều để làm cho chúng 2048 x 2048 pixel, sau đó chúng được thu nhỏ thành 512 x 512. Hình ảnh trên là hình A.
Đây chỉ là hình thu nhỏ, nhấp vào hình ảnh để xem ở kích thước đầy đủ!
Nhiệm vụ của bạn là viết một chương trình lấy số nguyên dương từ 1 đến 2 16 làm hạt giống ngẫu nhiên và với mỗi giá trị sẽ tạo ra một hình ảnh riêng biệt trông giống như nó có thể là "hình ảnh thứ mười một" của bức tường của tôi. Nếu ai đó nhìn vào 10 hình ảnh của tôi và một vài trong số bạn không thể biết được máy tính nào được tạo thì bạn đã làm rất tốt!
Vui lòng khoe một vài hình ảnh được tạo của bạn để người xem có thể nhìn thấy chúng mà không phải chạy mã.
Tôi nhận ra rằng ánh sáng trong ảnh của tôi không hoàn toàn đồng nhất về cường độ hoặc màu sắc. Tôi xin lỗi vì điều này nhưng đó là điều tốt nhất tôi có thể làm mà không cần thiết bị chiếu sáng tốt hơn. Hình ảnh của bạn không cần phải có ánh sáng thay đổi (mặc dù chúng có thể). Các kết cấu là điều quan trọng hơn để tập trung vào.
Chi tiết
- Bạn có thể sử dụng các công cụ xử lý hình ảnh và thư viện.
- Lấy đầu vào theo bất kỳ cách phổ biến nào bạn muốn (dòng lệnh, stdin, biến rõ ràng, v.v.).
- Hình ảnh đầu ra có thể ở bất kỳ định dạng tệp hình ảnh lossless phổ biến nào, hoặc nó chỉ có thể được hiển thị trong một cửa sổ / cung tên.
- Bạn có thể lập trình phân tích 10 hình ảnh của tôi nhưng đừng cho rằng mọi người đang chạy mã của bạn đều có quyền truy cập vào chúng.
- Bạn phải tạo ra các hình ảnh lập trình. Bạn không thể mã hóa một biến thể nhỏ của một trong những hình ảnh của tôi hoặc một số hình ảnh chứng khoán khác. (Mọi người sẽ bỏ phiếu cho bạn vì điều này.)
- Bạn có thể sử dụng trình tạo số giả ngẫu nhiên tích hợp và giả sử khoảng thời gian là 2 16 trở lên.
Chấm điểm
Đây là một cuộc thi phổ biến để câu trả lời được bình chọn cao nhất sẽ chiến thắng.