home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
09
/
ami903.txt
< prev
next >
Wrap
Text File
|
1997-04-07
|
11KB
|
276 lines
LEPSZE STEREOGRAMY
<lead>O tym, jak sië wykonuje stereogramy, byîa juû mowa w
Magazynie AMIGA. Moûna je robiê dowolnym programem malarskim "na
oko", Personal Paintem opcjâ SIPS (lub SIRDS) i wreszcie dowolnym
jëzykiem programowania.
<a>Stanisîaw Wësîawski
<txt>Na wstëpie warto przytoczyê za Rafaîem Piaskiem * listing
programu w AMOS-ie, pozwalajâcy tworzyê stereogramy klasyczne,
skîadajâce sië z obrazka monochromatycznego, zawierajâcego
"gîëbokoôci", i brusha wzoru do malowania.
<l>^-Rem
Rem Patter Stereograms by Jetboy/Elysium
Rem
PLIK1$=Fsel$("","",""Wybierz obrazek do konwersji","8-kolorów")
PLIK2$=Fsel$("","",""Wybierz wzór do rysowania","8-kolorów 64 piksele szerok.")
If(PLIK1$="") or(PLIK2$="") Then End
Load Iff PLIK1$,1
WIDE =Screen Width
HEIGHT=Screen Height
PART=64
Load Iff PLIK2$,2
SZER=Screen Width
WYS=Screen Height
Screen To Front 1
Screen 1
Get Palette 2
Dim BUFF(WIDE+100)
For Y=0 To HEIGHT
Screen 2
For FIL=0 To WIDE
BUFF(FIL)=Point(FIL mod SZER,Y mod WYS
Next
Screen 1
X=0
While X<WIDE
SAME=PART+7-Point(X,Y)
BUFF(X+SAME)=BUFF(X)
Inc X
Wend
For X=0 To WIDE
Plot X,Y,BUFF(X)
Next
Next
PLIK$=Fsel$("","","Zapisz gotowy obrazek","lub CANCEL by zakoïczyê pracë")
If PLIK$<>"" Then Save Iff PLIK$,1
End
<txt>^+Zmienna PART zawiera szerokoôê brusha, uûytego do
pokrywania stereogramu wzorem. Wartoôê 64, wyznaczajâca szerokoôê
"pasa" w pikselach, moûe byê oczywiôcie zmieniona. To samo
dotyczy oômiokolorowej palety obrazków. Kolory obrazka, bëdâcego
wzorem "gîëbokoôci" (PLIK1$), naleûy uîoûyê po kolei w palecie,
poczynajâc od koloru najciemniejszego, a koïczâc na
najjaôniejszym. Kolory jasne bëdâ uwaûane za kolory partii
wysuniëtych bliûej w kierunku obserwatora.
Program tworzy zupeînie dobry stereogram, prawie identyczny ze
stworzonymi za pomocâ Personal Painta. Miaîem tylko pewne kîopoty
z kolorami palety wzoru do wypeîniania. Wychodziîy mi inne barwy.
Moûe winna byîa temu stara wersja AMOS-a. Niemniej jednak, jak
juû wspomniaîem, stereogram jest "normalny" i algorytm po
przeanalizowaniu moûe byê bardzo przydatny dla ludzi usiîujâcych
zrobiê coô wiëcej w tej dziedzinie.
Wróciîem wiëc do Personal Painta i zaczâîem tworzyê obrazki,
przypominajâce przestrzenne mapy terenu pagórkowatego, skîadajâce
sië z warstw (ciëtych po poziomicach) i oglâdane z góry.
Otrzymaîem "rozsuniëte" poziomice. Zaczâîem sië zastanawiaê, od
czego zaleûy odlegîoôê warstwy od warstwy? Oczywiôcie od koloru.
A wîaôciwie od odlegîoôci koloru od koloru w stosunku do liczby
tych kolorów w palecie.
Mówiâc jaôniej, im wiëcej kolorów w palecie, tym bliûej siebie sâ
sâsiadujâce ze sobâ barwy. Poniewaû warstw byîo kilka, a kolorów
16 (hi-res lace), przesunâîem kolory warstw do barw nr 1-8 (przy
czarnym tle nr 0). Efekt byî zdecydowanie lepszy. Warstwy
"ôciâgnëîy sië", tworzâc bardziej naturalny obraz. Jasne sië
staîo teû, ûe bez AGA (256 kolorów) nie jestem w stanie zrobiê
tego dokîadniej.
Stereogramy przedstawia sië czësto w postaci obrazka
przestrzennego z "nakîadkâ" zwykîego rysunku. Nie jestem
zwolennikiem tej metody. Oko i tak zmëczone wpatrywaniem sië w
stereogram musi jeszcze odnotowaê obecnoôê fragmentu "normalnego"
obrazka, bëdâcego w innej przestrzeni. Niemniej jednak stereogram
moûe przedstawiaê coô, co pozornie bëdzie zbliûone do normalnego
obrazka. Wpadîem na pomysî wykonania przestrzeni ziemi i nieba.
Pokrycie tych dwóch pîaszyzn moûe byê doôê naturalne nie tylko na
brushu, ale i w koïcowym wygenerowanym stereogramie.
Zakîadam, ûe obraz bëdzie przedstawiaî do poîowy swojej wysokoôci
coô w rodzaju pustyni z kamieniami. Namalowaîem wiëc fragment
obrazu (do póúniejszego brusha), w którym kamienie w miarë
ustawiania ich coraz wyûej majâ coraz mniejsze wymiary. W ten
sposób stworzyîem pewnâ namiastkë perspektywy. To samo wykonaîem
na tle nieba, rysujâc chmury malejâce w miarë rysowania ich coraz
niûej.
Tîo na obu czëôciach obrazka wykonaîem cieniujâc niebo i ziemië
gradientem. Tutaj ujawnia sië pewna wada Personal Painta, który
potrafi cieniowaê tylko doôê mechanicznie ustawianym,
standardowym gradientem. Poniewaû poszczególne pasy gotowego
stereogramu zawierajâ róûnice obrazka przestrzennego, widziane
przez lewe i prawe oko, to konieczne zakîócenia obrazu koïcowego
szczególnie wyraúnie widoczne sâ na gradiencie standardowym.
Takie cieniowanie wykonywane jest przez regularne desenie linii,
zawierajâcych róûnâ gëstoôê punktów kolorowych w liniach. W takim
wypadku lepsze byîyby gradienty oferowane przez Deluxe Paint,
który potrafi zmieniaê gëstoôê gradientu oraz przede wszystkim
malowaê gradientem typu RANDOM. Oczywiôcie nie ma ûadnych
przeszkód, aby wykonaê rysunek przeznaczony na brush Deluxe
Paintem, a potem przenieôê go do Personal Painta i kontynuowaê
pracë.
Po namalowaniu obrazka wycinamy i zapisujemy pionowy brush.
Rysujâc taki, a nie inny, stereogram staraîem sië oczywiôcie, aby
ûaden detal (kamienie i chmury) nie wykraczaî poza przewidywanâ
szerokoôê brusha. Szerokoôê wybraîem na 80 punktów. Przy hi-res
daje to osiem pasów. Przykîad w AMOS-ie podaje wielkoôê 64, czyli
10 pasów. Moûna powiedzieê na podstawie doôwiadczeï, ûe wiëksza
liczba pasów daje "mocniejszy" efekt przestrzenny. W tym
konkretnym wypadku chodziîo mi jednak o moûliwie duûy, wyraúny i
maîo znieksztaîcony obrazek -- nawet PRZED zobaczeniem efektu
przestrzennego. W takim wypadku 80 punktów to nie jest wcale za
duûo na wykonanie wyraúnego obrazka.
Po wyciëciu i zapisaniu brusha trzeba wykonaê rysunek zawierajâcy
informacje o przestrzeni. Tutaj dziaîanie jest pozornie proste.
Chcë mieê najdalsze punkty na linii horyzontu, a pozostaîe
stopniowo coraz bliûej w miarë zbliûania sië do górnej i dolnej
krawëdzi. Coô jakby wielki klin wbity w tîo. Wystarczy wiëc
wykonaê cieniowanie gradientem, ustawionym tak, ûe biel jest na
górnej i dolnej linii ramki obrazka, a czerï poôrodku.
Personal Paintem trzeba wykonaê dwa razy FILL GRADIENT do linii
podziaîu w ôrodku rysunku. Raz naleûy ustawiê kolor tîa po lewej
stronie w oknie FILL, a raz po prawej. Nie bëdë wchodziî w detale
wykonania gradientu. Zaznaczë tylko, ûe Personal o wiele szybciej
wykona prostokât wypeîniony gradientem niû taki sam efekt "wlany"
w zaznaczone pole przez FILL. Taki rysunek przedstawia ilustracja
1.
Przechodzimy teraz do drugiego ENVIRONMENT, îadujemy brush wzoru
i naciskamy [A] wybierajâc z zestawu filtrów SIPS HiQual.
Naciôniëcie PROCEED rozpoczyna rendering. Po zakoïczeniu pracy
stwierdziîem, ûe przestrzeï skîada sië z czegoô, co przypomina
dekoracjë teatralnâ -- patrz ilustracja 3. Ponowny wybór filtra,
tym razem SIPS LessEcho, powoduje generowanie stereogramu z
bardziej wygîadzonymi krawëdziami "warstw". Przestrzeï obrazka
jednak nadal wyglâda jak coô w rodzaju schodów (tym razem
pokrytych dywanem).
Jak wspomniaîem, dalsze wygîadzenie jest moûliwe tylko przy
"mniejszej odlegîoôci" kolorów w palecie. Zaleûy to od liczby
kolorów palety, ale chyba nie tylko. Natchniony tâ myôlâ wybraîem
ponownie paletë obrazka gîëbokoôci (cieniowanie) i zmieniîem
zakres kolorów na [0 0 0], [0 1 0]... aû do [0 15 0]. Widaê to na
ilustracji 2. Jest to oczywiôcie skala, w której zmienia sië
tylko jeden suwak z RGB -- w tym wypadku zielony (G). Ponowny
rendering stereogramu potwierdziî sîusznoôê takiego postëpowania.
Przestrzeï wyraúnie sië wygîadziîa -- patrz ilustracja 4. Jak sië
okazuje, podobne efekty wygîadzania moûna uzyskaê, uûywajâc
innych skîadników RGB, np. tylko czerwieni, a nawet dwóch na raz,
np. R i G (skala w ûóîci).
Obrazek wyglâda doôê dobrze, jest wyraúny, a efekt przestrzenny
doôê równomierny. Ale poniewaû lepsze jest wrogiem dobrego,
postanowiîem dodaê jakiô element z przodu -- coô w rodzaju këpek
trawy na pierwszym planie. Jest to element nieregularny i moûna
pozwoliê sobie na znieksztaîcenia w procesie tworzenia
stereogramu.
Zaczâîem od narysowania trawy w dolnej czëôci brusha dokîadnie o
jego szerokoôci. Trawë naîoûyîem na gîówny brush (brush na
brush), zapisaîem poprawiony duûy brush, a maîy przeniosîem
dodatkowo na stronë ze wzorem przestrzeni. Tam w opcji COLOR,
identycznej z tâ w Deluxe Paint, naîoûyîem ostroûnie jasnâ
sylwetkë brusha (trawy) na dolnej czëôci obrazka. Trawa obok
trawy, tak aby stworzyê odpowiednik przyszîego podziaîu na pasy
podczas generowania stereogramu. Dalej postâpiîem podobnie jak
poprzednio. Efekt widaê na ilustracji 5.
Trawa lekko sië "zepsuîa", ale nie wpîywa to znaczâco na jakoôê
stereogramu. Pokryîa ponadto smugë, jakâ stworzyî Personal Paint,
generujâc stereogram na regularnym gradiencie. Wyglâdaîo to jak
przypadkowe rozmazanie farby. Mamy wiëc przestrzeï nieba,
przestrzeï ziemi z trawâ na pierwszym planie i odlegîy horyzont.
Wszystko to moûna zobaczyê od razu lub przy pewnym wysiîku
zezowania równieû w przestrzeni 3D.
Trzeba jednak wyraúnie powiedzieê, ûe poza uwagami technicznymi,
obrazek przedstawiony na ilustracjach 3-5 nie jest specjalnym
"typem" stereogramu. To tylko pewien pomysî odpowiednio
przygotowany. W opisywanej kiedyô przeze mnie ksiâûce ze
stereogramami zauwaûyîem jeszcze wyûszy stopieï doskonaîoôci. Nie
mówië tu oczywiôcie o jakoôci technicznej grafiki -- wielkiej
liczbie kolorów, maîym pikselu itp. Chodzi mi o wielkâ precyzjë w
wykonaniu zaplanowanego pomysîu.
Mistrzowie tej techniki potrafili tak dopasowaê klasyczny
"wieloobrazkowy" brush, pokryty np. liôêmi, ûe na stereogramie
widaê byîo drzewo z listowiem i maîego dziëcioîa! Inny stereogram
tego typu zawieraî w mnogoôci wzorków na ekranie równieû duûâ
liczbë maîych oczek. Autor, Bohdan Petyhyrycz, przedstawiî
przestrzennâ postaê ludzkâ tak precyzyjnie wykonanâ, ûe oczy
trafiîy we wîaôciwe miejsca na twarzy. Mimo oczywistej obecnoôci
tego elementu równieû obok, precyzyjne dopasowanie robi takie
wraûenie, ûe elementy "tîa" nie sâ wîaôciwie widoczne. Jak z tego
widaê, dobre wykonanie stereogramu zaleûy od przemyôlenia
moûliwoôci technicznych, dopasowanych do konkretnego pomysîu, i
oczywiôcie duûego wkîadu pracy.
Po opublikowaniu (dawno temu) artykuîu "Oczy kîamiâ, dusza
ôpiewa" otrzymaîem kilka stereogramów od Pana Andrzeja Czado.
Wiadomoôci na temat stereogramów byîy wtedy doôê skâpe --
opisywaîem prymitywnâ metodë ich tworzenia. Niemniej zamieszczam
jeden z nadesîanych stereogramów w formacie lo-res 256 kolorów,
pod tytuîem "Rainview_3D". Jest to przykîad na to, jak moûna
dobrym pomysîem zastâpiê niedostatki narzëdzia. Obrazek
przedstawia krople deszczu na szybie, przez którâ widaê miasto.
Strugi wody sâ ostre i wyraúne, obraz za oknem zamglony. Podobny
widok moûna zobaczyê w naturze! Prosta metoda daîa bardzo dobry
efekt dziëki dobremu pomysîowi.
Dokîadne przeanalizowanie zacytowanego na poczâtku listingu moûe
zaowocowaê rozwiniëciem algorytmu w program, uîatwiajâcy
wykonywanie bardziej wyrafinowanych stereogramów. Wielkie pole do
eksperymentów zawiera teû jeszczcze opcja SIPS w Personal Paint.
Na razie udaîo mi sië odkryê to, co opisaîem. Jest to stan na
czerwiec 1995 r. Zobaczymy, co bëdzie na jesieni!
<przyp>* "Stereogramy, to takie proste!", Rafaî Piasek, C&A,
5/95, str. 14.