Pracujemy nad projektem na iPhone'a i Windows Phone 7, w którym chcielibyśmy być w stanie wygenerować liście herbaty na dnie filiżanki. Nie musi wyglądać fotorealistycznie, a tak naprawdę rysunek-y jest w porządku.
Jakie techniki powinniśmy badać, aby to osiągnąć? Czy są jakieś biblioteki (najlepiej w C, ale możemy tłumaczyć), które byłyby pomocne?
Oto kilka próbek pobranych z wyszukiwania grafiki Google
Odpowiedzi:
Jak zapewne bym to zrobił, abym mógł zachować kontrolę nad sztuką i nie spędzać dużo czasu próbując ulepszyć metodę proceduralną, aby uzyskać właściwy efekt ...
Po pierwsze, ręcznie utwórz kilka sprajtów kępek liści herbaty jako „pulę” sztuki - nie każda jako wartość liści herbaty, ale bardziej jako mniejsza grupa. Powiedz, około 20 z nich?
Następnie umieść ich losową liczbę na losowych współrzędnych na podstawie „kubka”. Daj każdemu losowy obrót i skalę oraz losowe odbicie lustrzane w poziomie i / lub w pionie. To powinno stworzyć dobry wynik.
Takie podejście zapewni artystyczną swobodę w tworzeniu pojedynczych grup, aby wyglądały tak, jak chcesz, jednocześnie pozwalając na ogromną różnorodność wyników (przy założeniu wystarczającej liczby duszków do wyboru).
Dodatkowo, dzięki tej (i dowolnej losowej metodzie, w tym opartej na szumie Perlina), można faktycznie zaszczepić generator liczb losowych na początku procesu znanym ziarnem, aby uzyskać powtarzalne wyniki. Jeśli zapiszesz ziarno, będziesz w stanie dokładnie odtworzyć ten sam wzór, ponownie sadząc tuż przed rozpoczęciem sekwencji. Możesz nawet robić fajne rzeczy, np. Wpisać imię i nazwisko, zamienić litery na cyfry (suma ASCII itp.), A następnie użyć tego jako ziarna jako pewnego rodzaju „tego wzoru liści herbaty dostosowanego do CIEBIE!” rzecz.
Oto pseudokod tego, co mam na myśli, jeśli to pomaga ...
Sprawdź http://mathworld.wolfram.com/DiskPointPicking.html, aby uzyskać świetną dyskusję o tym, jak wybrać losowy punkt na dysku i dlaczego używam tego całego sqrt / sin / cos.
źródło
Spróbuj szum perlin z dwójkową wartością odcięcia około 0,8?
Przesłano przykładowy obraz na http://imgur.com/a/Ydc4y . Pierwszy to drugi obraz z zastosowanym progiem. Drugi to podstawowy hałas perlina, dla którego można znaleźć wiele dobrych referencji, takich jak http://en.wikipedia.org/wiki/Perlin_noise i http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter26.html .
Możesz grać trochę z liczbą i skalą oktaw w szumie perlin, aby różnicować, jak gładko będzie wyglądać moc wyjściowa, a także z progiem określającym, ile (średnio - jak to hałas) liści herbaty będzie.
źródło