home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1997 #3 / amigamamagazinepolishissue03-1 / ma_1995 / 09 / ami903.txt < prev    next >
Text File  |  1997-04-07  |  11KB  |  276 lines

  1.  
  2.  
  3. LEPSZE STEREOGRAMY
  4.  
  5. <lead>O tym, jak sië wykonuje stereogramy, byîa juû mowa w
  6. Magazynie AMIGA. Moûna je robiê dowolnym programem malarskim "na
  7. oko", Personal Paintem opcjâ SIPS (lub SIRDS) i wreszcie dowolnym
  8. jëzykiem programowania.
  9.  
  10. <a>Stanisîaw Wësîawski
  11.  
  12. <txt>Na wstëpie warto przytoczyê za Rafaîem Piaskiem * listing
  13. programu w AMOS-ie, pozwalajâcy tworzyê stereogramy klasyczne,
  14. skîadajâce sië z obrazka monochromatycznego, zawierajâcego
  15. "gîëbokoôci", i brusha wzoru do malowania.
  16.  
  17. <l>^-Rem
  18.  
  19. Rem Patter Stereograms by Jetboy/Elysium
  20.  
  21. Rem
  22.  
  23. PLIK1$=Fsel$("","",""Wybierz obrazek do konwersji","8-kolorów")
  24.  
  25. PLIK2$=Fsel$("","",""Wybierz wzór do rysowania","8-kolorów 64 piksele szerok.")
  26.  
  27. If(PLIK1$="") or(PLIK2$="") Then End
  28.  
  29. Load Iff PLIK1$,1
  30.  
  31. WIDE =Screen Width
  32.  
  33. HEIGHT=Screen Height
  34.  
  35. PART=64
  36.  
  37. Load Iff PLIK2$,2
  38.  
  39. SZER=Screen Width
  40.  
  41. WYS=Screen Height
  42.  
  43. Screen To Front 1
  44.  
  45. Screen 1
  46.  
  47. Get Palette 2
  48.  
  49. Dim BUFF(WIDE+100)
  50.  
  51. For Y=0 To HEIGHT
  52.  
  53.    Screen 2
  54.  
  55.    For FIL=0 To WIDE
  56.  
  57.      BUFF(FIL)=Point(FIL mod SZER,Y mod WYS
  58.  
  59.    Next
  60.  
  61.    Screen 1
  62.  
  63.    X=0
  64.  
  65.    While X<WIDE
  66.  
  67.      SAME=PART+7-Point(X,Y)
  68.  
  69.      BUFF(X+SAME)=BUFF(X)
  70.  
  71.      Inc X
  72.  
  73.    Wend
  74.  
  75.    For X=0 To WIDE
  76.  
  77.      Plot X,Y,BUFF(X)
  78.  
  79.    Next
  80.  
  81. Next
  82.  
  83. PLIK$=Fsel$("","","Zapisz gotowy obrazek","lub CANCEL by zakoïczyê pracë")
  84.  
  85. If PLIK$<>"" Then Save Iff PLIK$,1
  86.  
  87. End
  88.  
  89.  
  90. <txt>^+Zmienna PART zawiera szerokoôê brusha, uûytego do
  91. pokrywania stereogramu wzorem. Wartoôê 64, wyznaczajâca szerokoôê
  92. "pasa" w pikselach, moûe byê oczywiôcie zmieniona. To samo
  93. dotyczy oômiokolorowej palety obrazków. Kolory obrazka, bëdâcego
  94. wzorem "gîëbokoôci" (PLIK1$), naleûy uîoûyê po kolei w palecie,
  95. poczynajâc od koloru najciemniejszego, a koïczâc na
  96. najjaôniejszym. Kolory jasne bëdâ uwaûane za kolory partii
  97. wysuniëtych bliûej w kierunku obserwatora.
  98.  
  99. Program tworzy zupeînie dobry stereogram, prawie identyczny ze
  100. stworzonymi za pomocâ Personal Painta. Miaîem tylko pewne kîopoty
  101. z kolorami palety wzoru do wypeîniania. Wychodziîy mi inne barwy.
  102. Moûe winna byîa temu stara wersja AMOS-a. Niemniej jednak, jak
  103. juû wspomniaîem, stereogram jest "normalny" i algorytm po
  104. przeanalizowaniu moûe byê bardzo przydatny dla ludzi usiîujâcych
  105. zrobiê coô wiëcej w tej dziedzinie.
  106.  
  107. Wróciîem wiëc do Personal Painta i zaczâîem tworzyê obrazki,
  108. przypominajâce przestrzenne mapy terenu pagórkowatego, skîadajâce
  109. sië z warstw (ciëtych po poziomicach) i oglâdane z góry.
  110. Otrzymaîem "rozsuniëte" poziomice. Zaczâîem sië zastanawiaê, od
  111. czego zaleûy odlegîoôê warstwy od warstwy? Oczywiôcie od koloru.
  112. A wîaôciwie od odlegîoôci koloru od koloru w stosunku do liczby
  113. tych kolorów w palecie.
  114.  
  115. Mówiâc jaôniej, im wiëcej kolorów w palecie, tym bliûej siebie sâ
  116. sâsiadujâce ze sobâ barwy. Poniewaû warstw byîo kilka, a kolorów
  117. 16 (hi-res lace), przesunâîem kolory warstw do barw nr 1-8 (przy
  118. czarnym tle nr 0). Efekt byî zdecydowanie lepszy. Warstwy
  119. "ôciâgnëîy sië", tworzâc bardziej naturalny obraz. Jasne sië
  120. staîo teû, ûe bez AGA (256 kolorów) nie jestem w stanie zrobiê
  121. tego dokîadniej.
  122.  
  123. Stereogramy przedstawia sië czësto w postaci obrazka
  124. przestrzennego z "nakîadkâ" zwykîego rysunku. Nie jestem
  125. zwolennikiem tej metody. Oko i tak zmëczone wpatrywaniem sië w
  126. stereogram musi jeszcze odnotowaê obecnoôê fragmentu "normalnego"
  127. obrazka, bëdâcego w innej przestrzeni. Niemniej jednak stereogram
  128. moûe przedstawiaê coô, co pozornie bëdzie zbliûone do normalnego
  129. obrazka. Wpadîem na pomysî wykonania przestrzeni ziemi i nieba.
  130. Pokrycie tych dwóch pîaszyzn moûe byê doôê naturalne nie tylko na
  131. brushu, ale i w koïcowym wygenerowanym stereogramie.
  132.  
  133. Zakîadam, ûe obraz bëdzie przedstawiaî do poîowy swojej wysokoôci
  134. coô w rodzaju pustyni z kamieniami. Namalowaîem wiëc fragment
  135. obrazu (do póúniejszego brusha), w którym kamienie w miarë
  136. ustawiania ich coraz wyûej majâ coraz mniejsze wymiary. W ten
  137. sposób stworzyîem pewnâ namiastkë perspektywy. To samo wykonaîem
  138. na tle nieba, rysujâc chmury malejâce w miarë rysowania ich coraz
  139. niûej.
  140.  
  141. Tîo na obu czëôciach obrazka wykonaîem cieniujâc niebo i ziemië
  142. gradientem. Tutaj ujawnia sië pewna wada Personal Painta, który
  143. potrafi cieniowaê tylko doôê mechanicznie ustawianym,
  144. standardowym gradientem. Poniewaû poszczególne pasy gotowego
  145. stereogramu zawierajâ róûnice obrazka przestrzennego, widziane
  146. przez lewe i prawe oko, to konieczne zakîócenia obrazu koïcowego
  147. szczególnie wyraúnie widoczne sâ na gradiencie standardowym.
  148. Takie cieniowanie wykonywane jest przez regularne desenie linii,
  149. zawierajâcych róûnâ gëstoôê punktów kolorowych w liniach. W takim
  150. wypadku lepsze byîyby gradienty oferowane przez Deluxe Paint,
  151. który potrafi zmieniaê gëstoôê gradientu oraz przede wszystkim
  152. malowaê gradientem typu RANDOM. Oczywiôcie nie ma ûadnych
  153. przeszkód, aby wykonaê rysunek przeznaczony na brush Deluxe
  154. Paintem, a potem przenieôê go do Personal Painta i kontynuowaê
  155. pracë.
  156.  
  157. Po namalowaniu obrazka wycinamy i zapisujemy pionowy brush.
  158. Rysujâc taki, a nie inny, stereogram staraîem sië oczywiôcie, aby
  159. ûaden detal (kamienie i chmury) nie wykraczaî poza przewidywanâ
  160. szerokoôê brusha. Szerokoôê wybraîem na 80 punktów. Przy hi-res
  161. daje to osiem pasów. Przykîad w AMOS-ie podaje wielkoôê 64, czyli
  162. 10 pasów. Moûna powiedzieê na podstawie doôwiadczeï, ûe wiëksza
  163. liczba pasów daje "mocniejszy" efekt przestrzenny. W tym
  164. konkretnym wypadku chodziîo mi jednak o moûliwie duûy, wyraúny i
  165. maîo znieksztaîcony obrazek -- nawet PRZED zobaczeniem efektu
  166. przestrzennego. W takim wypadku 80 punktów to nie jest wcale za
  167. duûo na wykonanie wyraúnego obrazka.
  168.  
  169. Po wyciëciu i zapisaniu brusha trzeba wykonaê rysunek zawierajâcy
  170. informacje o przestrzeni. Tutaj dziaîanie jest pozornie proste.
  171. Chcë mieê najdalsze punkty na linii horyzontu, a pozostaîe
  172. stopniowo coraz bliûej w miarë zbliûania sië do górnej i dolnej
  173. krawëdzi. Coô jakby wielki klin wbity w tîo. Wystarczy wiëc
  174. wykonaê cieniowanie gradientem, ustawionym tak, ûe biel jest na
  175. górnej i dolnej linii ramki obrazka, a czerï poôrodku.
  176.  
  177. Personal Paintem trzeba wykonaê dwa razy FILL GRADIENT do linii
  178. podziaîu w ôrodku rysunku. Raz naleûy ustawiê kolor tîa po lewej
  179. stronie w oknie FILL, a raz po prawej. Nie bëdë wchodziî w detale
  180. wykonania gradientu. Zaznaczë tylko, ûe Personal o wiele szybciej
  181. wykona prostokât wypeîniony gradientem niû taki sam efekt "wlany"
  182. w zaznaczone pole przez FILL. Taki rysunek przedstawia ilustracja
  183. 1.
  184.  
  185. Przechodzimy teraz do drugiego ENVIRONMENT, îadujemy brush wzoru
  186. i naciskamy [A] wybierajâc z zestawu filtrów SIPS HiQual.
  187. Naciôniëcie PROCEED rozpoczyna rendering. Po zakoïczeniu pracy
  188. stwierdziîem, ûe przestrzeï skîada sië z czegoô, co przypomina
  189. dekoracjë teatralnâ -- patrz ilustracja 3. Ponowny wybór filtra,
  190. tym razem SIPS LessEcho, powoduje generowanie stereogramu z
  191. bardziej wygîadzonymi krawëdziami "warstw". Przestrzeï obrazka
  192. jednak nadal wyglâda jak coô w rodzaju schodów (tym razem
  193. pokrytych dywanem).
  194.  
  195. Jak wspomniaîem, dalsze wygîadzenie jest moûliwe tylko przy
  196. "mniejszej odlegîoôci" kolorów w palecie. Zaleûy to od liczby
  197. kolorów palety, ale chyba nie tylko. Natchniony tâ myôlâ wybraîem
  198. ponownie paletë obrazka gîëbokoôci (cieniowanie) i zmieniîem
  199. zakres kolorów na [0 0 0], [0 1 0]... aû do [0 15 0]. Widaê to na
  200. ilustracji 2. Jest to oczywiôcie skala, w której zmienia sië
  201. tylko jeden suwak z RGB -- w tym wypadku zielony (G). Ponowny
  202. rendering stereogramu potwierdziî sîusznoôê takiego postëpowania.
  203. Przestrzeï wyraúnie sië wygîadziîa -- patrz ilustracja 4. Jak sië
  204. okazuje, podobne efekty wygîadzania moûna uzyskaê, uûywajâc
  205. innych skîadników RGB, np. tylko czerwieni, a nawet dwóch na raz,
  206. np. R i G (skala w ûóîci).
  207.  
  208. Obrazek wyglâda doôê dobrze, jest wyraúny, a efekt przestrzenny
  209. doôê równomierny. Ale poniewaû lepsze jest wrogiem dobrego,
  210. postanowiîem dodaê jakiô element z przodu -- coô w rodzaju këpek
  211. trawy na pierwszym planie. Jest to element nieregularny i moûna
  212. pozwoliê sobie na znieksztaîcenia w procesie tworzenia
  213. stereogramu.
  214.  
  215. Zaczâîem od narysowania trawy w dolnej czëôci brusha dokîadnie o
  216. jego szerokoôci. Trawë naîoûyîem na gîówny brush (brush na
  217. brush), zapisaîem poprawiony duûy brush, a maîy przeniosîem
  218. dodatkowo na stronë ze wzorem przestrzeni. Tam w opcji COLOR,
  219. identycznej z tâ w Deluxe Paint, naîoûyîem ostroûnie jasnâ
  220. sylwetkë brusha (trawy) na dolnej czëôci obrazka. Trawa obok
  221. trawy, tak aby stworzyê odpowiednik przyszîego podziaîu na pasy
  222. podczas generowania stereogramu. Dalej postâpiîem podobnie jak
  223. poprzednio. Efekt widaê na ilustracji 5.
  224.  
  225. Trawa lekko sië "zepsuîa", ale nie wpîywa to znaczâco na jakoôê
  226. stereogramu. Pokryîa ponadto smugë, jakâ stworzyî Personal Paint,
  227. generujâc stereogram na regularnym gradiencie. Wyglâdaîo to jak
  228. przypadkowe rozmazanie farby. Mamy wiëc przestrzeï nieba,
  229. przestrzeï ziemi z trawâ na pierwszym planie i odlegîy horyzont.
  230. Wszystko to moûna zobaczyê od razu lub przy pewnym wysiîku
  231. zezowania równieû w przestrzeni 3D.
  232.  
  233. Trzeba jednak wyraúnie powiedzieê, ûe poza uwagami technicznymi,
  234. obrazek przedstawiony na ilustracjach 3-5 nie jest specjalnym
  235. "typem" stereogramu. To tylko pewien pomysî odpowiednio
  236. przygotowany. W opisywanej kiedyô przeze mnie ksiâûce ze
  237. stereogramami zauwaûyîem jeszcze wyûszy stopieï doskonaîoôci. Nie
  238. mówië tu oczywiôcie o jakoôci technicznej grafiki -- wielkiej
  239. liczbie kolorów, maîym pikselu itp. Chodzi mi o wielkâ precyzjë w
  240. wykonaniu zaplanowanego pomysîu.
  241.  
  242. Mistrzowie tej techniki potrafili tak dopasowaê klasyczny
  243. "wieloobrazkowy" brush, pokryty np. liôêmi, ûe na stereogramie
  244. widaê byîo drzewo z listowiem i maîego dziëcioîa! Inny stereogram
  245. tego typu zawieraî w mnogoôci wzorków na ekranie równieû duûâ
  246. liczbë maîych oczek. Autor, Bohdan Petyhyrycz, przedstawiî
  247. przestrzennâ postaê ludzkâ tak precyzyjnie wykonanâ, ûe oczy
  248. trafiîy we wîaôciwe miejsca na twarzy. Mimo oczywistej obecnoôci
  249. tego elementu równieû obok, precyzyjne dopasowanie robi takie
  250. wraûenie, ûe elementy "tîa" nie sâ wîaôciwie widoczne. Jak z tego
  251. widaê, dobre wykonanie stereogramu zaleûy od przemyôlenia
  252. moûliwoôci technicznych, dopasowanych do konkretnego pomysîu, i
  253. oczywiôcie duûego wkîadu pracy.
  254.  
  255. Po opublikowaniu (dawno temu) artykuîu "Oczy kîamiâ, dusza
  256. ôpiewa" otrzymaîem kilka stereogramów od Pana Andrzeja Czado.
  257. Wiadomoôci na temat stereogramów byîy wtedy doôê skâpe --
  258. opisywaîem prymitywnâ metodë ich tworzenia. Niemniej zamieszczam
  259. jeden z nadesîanych stereogramów w formacie lo-res 256 kolorów,
  260. pod tytuîem "Rainview_3D". Jest to przykîad na to, jak moûna
  261. dobrym pomysîem zastâpiê niedostatki narzëdzia. Obrazek
  262. przedstawia krople deszczu na szybie, przez którâ widaê miasto.
  263. Strugi wody sâ ostre i wyraúne, obraz za oknem zamglony. Podobny
  264. widok moûna zobaczyê w naturze! Prosta metoda daîa bardzo dobry
  265. efekt dziëki dobremu pomysîowi.
  266.  
  267. Dokîadne przeanalizowanie zacytowanego na poczâtku listingu moûe
  268. zaowocowaê rozwiniëciem algorytmu w program, uîatwiajâcy
  269. wykonywanie bardziej wyrafinowanych stereogramów. Wielkie pole do
  270. eksperymentów zawiera teû jeszczcze opcja SIPS w Personal Paint.
  271. Na razie udaîo mi sië odkryê to, co opisaîem. Jest to stan na
  272. czerwiec 1995 r. Zobaczymy, co bëdzie na jesieni!
  273.  
  274. <przyp>* "Stereogramy, to takie proste!", Rafaî Piasek, C&A,
  275. 5/95, str. 14.
  276.