Farba na ścianach w moim pokoju ma losową, prawie fraktalną, trójwymiarową teksturę:
W tym wyzwaniu napiszesz program, który generuje losowe obrazy, które wyglądają, jakby mogły być częścią moich ścian.
Poniżej zebrałem 10 zdjęć różnych miejsc na moich ścianach. Wszystkie mają w przybliżeniu to samo oświetlenie i wszystkie zostały zrobione aparatem jedną stopę od ściany. Obramowania zostały równomiernie przycięte, aby uzyskać 2048 na 2048 pikseli, a następnie zostały skalowane do 512 na 512. Powyższy obraz to obraz A.
To tylko miniatury, kliknij obrazy, aby wyświetlić w pełnym rozmiarze!
Twoim zadaniem jest napisanie programu, który przyjmuje losową liczbę całkowitą od 1 do 2 16 jako losowe ziarno, i dla każdej wartości generuje odrębny obraz, który wygląda, jakby mógł być „jedenastym obrazem” mojej ściany. Jeśli ktoś patrzy na moje 10 zdjęć i kilka z nich nie wie, które zostały wygenerowane komputerowo, to poradziłeś sobie bardzo dobrze!
Pochwal się kilkoma wygenerowanymi obrazami, aby widzowie mogli je zobaczyć bez konieczności uruchamiania kodu.
Zdaję sobie sprawę, że oświetlenie na moich obrazach nie jest idealnie jednolite pod względem intensywności ani kolorów. Przykro mi z tego powodu, ale to najlepsze, co mogłem zrobić bez lepszego sprzętu oświetleniowego. Twoje zdjęcia nie muszą mieć zmiennego oświetlenia (choć mogłyby). Faktura jest najważniejszą rzeczą, na której należy się skupić.
Detale
- Możesz korzystać z narzędzi do przetwarzania obrazów i bibliotek.
- Podaj dane wejściowe w dowolny sposób (wiersz poleceń, standardowe, oczywiste zmienne itp.).
- Obraz wyjściowy może być w dowolnym typowym formacie pliku bezstratnego lub może być po prostu wyświetlany w oknie / dziurkaczu.
- Możesz programowo analizować moje 10 obrazów, ale nie zakładaj, że każdy, kto uruchamia Twój kod, ma do nich dostęp.
- Musisz wygenerować obrazy programowo. Nie możesz zakodować na stałe niewielkiego wariantu jednego z moich obrazów lub innego obrazu podstawowego. (Ludzie i tak by za to głosowali).
- Możesz użyć wbudowanych generatorów liczb pseudolosowych i założyć, że okres wynosi 2 16 lub więcej.
Punktacja
To konkurs popularności, dlatego wygrywa odpowiedź, która uzyskała najwyższy głos.