Až bude na jeseň vydaný iOS 7, dostaneme do svojich jablčných zariadení kopu nových funkcií. Okrem úplne prepracovaného, niekedy až kontroverzného, vzhľadu nám Apple ponúka úplne novú paradigmu užívateľského pôžitku. Zdá sa, že Apple chce svoj mobilný systém týmto razantným krokom pripraviť na nasledujúcu dekádu.
Medzi novinkami figuruje tzv. paralaxný efekt. Ak by som mal citovať Wikipedii, paralaxa (z gréckeho παράλλαξις (parallaxis) znamenajúci „zmena“) je uhol, ktorý zvierajú priamky vedené z dvoch rôznych miest v priestore k pozorovanému bodu. Ako paralaxa sa tiež označuje zdanlivý rozdiel polohy bodu vzhľadom na pozadie pri pozorovaní z dvoch rôznych miest. Čím ďalej je pozorovaný predmet od pozorovacích miest, tým je paralaxa menšia. Väčšine z vás teraz zrejme naskočila husia koža pri spomienke na školské lavice a nudné hodiny fyziky.
V praxi to jednoducho znamená, že s trochou šikovného programovania sa displej premení na niečo viac. Naraz sa nejedná a iba dvojdimenzionálnu plochu s maticami ikon a ostatnými prvkami užívateľského prostredia, ale o sklenený panel, cez ktorý je užívateľ schopný pri natáčaní zariadenia vidieť trojrozmerný svet.
Perspektíva a paralaxa
Základný princíp toho, ako vytvoriť funkčný paralaxný efekt na dvojdimenzionálnom displeji je pomerne jednoduchý. Pretože svetlo prechádza okom do jedného jediného bodu, musel sa mozog naučiť rozpoznávať veľkosť objektov vzhľadom na uhol medzi ich okrajmi. Výsledok je ten, že bližšie objekty sa zdajú byť veľké, zatiaľ čo objekty v diaľke sa javia malé.
To sú základy vnímania perspektívy, o ktorých každý z vás určite niekedy počul. Paralaxa je v tomto kontexte iOS zdanlivý pohyb medzi týmito objektmi pri pohybe okolo nich. Napríklad keď idete autom, bližšie objekty (stromy pri krajnici) sa hýbu rýchlejšie ako tie vzdialenejšie (kopce v diaľke), aj keď všetky stoja na svojom mieste. Všetko mení svoje miesta inak pri rovnakej rýchlosti.
Spolu s niekoľkými ďalšími fyzikálnymi trikmi hrá perspektíva a paralaxa veľmi významnú úlohu vo vnímaní sveta okolo nás, vďaka čomu som schopní zotriediť a pochopiť najrôznejšie vizuálne vnemy, ktoré naše oči zachytia. Okrem toho sa fotografi s vnímaním perspektívy radi pohrávajú.
Z rakiet do telefónov
V iOS je paralaxný efekt úplne simulovaný samotným operačným systémom, s malou pomocou technológie, pôvodne vyvinutej pre nosné rakety. V útrobách najnovších iOS zariadení sa nachádzajú vibračné gyroskopy, zariadenia menšie ako ľudský vlas, ktoré sa pri vystavení elektrickému náboju rozkmitajú na danú frekvenciu.
Akonáhle začnete so zariadením pohybovať po ktorejkoľvek za troch osí, začne sa celý mechanizmus vzpierať voči zmene orientácie kvôli prvému Newtonovmu zákonu, alebo zákonu zotrvačnosti. Tento jav umožňuje hardvéru zmerať rýchlosť a smer, ktorým je zariadenie natáčané.
K tomu pridajme akcelerometer, ktorý dokáže detekovať orientáciu zariadenia, a získavame ideálnu súhru senzorov na veľmi presné zistenie potrebných dát pre vytvorenie paralaxného efektu. iOS pomocou nich dokáže jednoducho spočítať relatívny pohyb jednotlivých vrstiev používateľského prostredia.
Paralaxa pre všetkých
Problematiku paralaxy a ilúziu hĺbky je možné vyriešiť priamočiaro vďaka matematike. Jediné čo musí softvér vedieť, je zorganizovať obsah do množiny rovín a následne nimi pohybovať v závislosti nad ich údajnou vzdialenosťou od očí. Vyústením bude realistické vykreslenie hĺbky.
Ak ste sledovali WWDC 2013 alebo úvodné video k iOS 7, bol paralaxný efekt názorne ukázaný na hlavnej obrazovke s ikonami. Tie pri pohybe iPhonu akoby plávajú nad pozadím, čo vytvára umelý dojem z priestoru. Ďalším príkladom je jemný pohyb otvorených tabov v Safari.
Avšak presné detaily sú zatiaľ zahalené rúškom tajomstva. Zrejmé je len jedno - Apple zamýšľa pretkať paralaxu naprieč celým systémom. To môže byť koniec koncov dôvod, prečo iOS 7 nebude podporovaná na iPhone 3GS a iPade prvej generácie, pretože ani jedno zo zariadení nedisponuje gyroskopom. Dá sa očakávať, že Apple uvoľní API pre vývojárov tretích strán, aby mohli taktiež ťažiť z tretieho rozmeru, to všetko bez veľkej spotreby energie.
Genialita alebo pozlátko?
Zatiaľ čo väčšinu vizuálnych efektov iOS 7 je možné ucelene popísať sprostredkovane, paralaxa vyžaduje vlastnú skúsenosť. Môžete vidieť desiatky videí, či už oficiálnych alebo iných, ale rozhodne paralaxný efekt nehodnoťte bez vlastného vyskúšania. Inak budete mať dojem, že sa jedná iba o efekt „na oko“.
Avšak akonáhle sa vám dostane zariadenie s iOS 7 do vlastných rúk, zbadáte za displejom ďalší rozmer. To je niečo, čo sa veľmi ťažko opisuje slovami. Displej už nie je len plátnom, na ktoré sú vykresľované aplikácie zobrazujúce imitácie reálnych materiálov. Tie sú nahradené vizuálnymi efektmi, ktoré budú syntetické aj realistické zároveň.
Je viac než pravdepodobné, že akonáhle vývojári začnú využívať paralaxný efekt, budú ním aplikácie prehltené, pretože sa každý bude snažiť nájsť ten správny spôsob použitia. Situácia sa však onedlho ustáli, rovnako ako pri predchádzajúcich verziách iOS. Zároveň však svetlo sveta uvidí aplikácie úplne nové, o možnostiach ktorých si dnes môžeme len snívať.
otázkou je, či, keď uvoľní API pre vývojárov tretích strán, to nepôjde využiť rýchlo pre konkurenciu…. ?! To by bola celkom škoda! :(
Paralax live wallpaper bol vydaný pre android pár dní po predstavení ios7. Control centier asi po týždni tuším.
Paralax Live wallpaper bol vydaný dlhú dobu pred iOS 7 :-) Keď som mal LG Optimus 3D tak ma bolo ľúto, že 3D používal iba v určitých veciach tak som si tam vtedy dal živú tapetu ktorá simolovala 3D efekt :-) Pod Paralaxnou Barierou sa skrýva aj technológiu ktorú mal LG Optimus 3D a HTC EVO 3D a teraz aj pár new TV. Pôvodný výrobca tejto technológie pre 3D bez okuliarov bolo BMW v palubných počítačoch pre to, aby vodič mohol pozerať na navigáciu a spolujazdec na film. Inak v iOS 7 sa tento efekt objavuje celkom často – na ploche, v safari, na zamknutej ploche pri použití panoramatických fotiek, pri znížení hlasitosti taktiež. Len ma štve že vymazávajú pomerne cool funkcie v jednotlivých betách. Priehľadná klávesnica v správach je preč, priehľadná notifikačná lišta preč….
API pre vývojárov tretích strán na to veľký vplyv nemá. Konkurenčné systémy toto API použiť nemôžu, takže by zostávalo rovnako len reverzné inžinierstvo. A to pri takom dobre zdokumentovanom* efekte nemá veľmi zmysel.
*teraz nemyslím, že niekde nájdete presný kód z iOS, ale paralaxia je podobne ako perspektíva celkom známy a preskúmaný jav.
Ako vývojár väzany NDA nemôžem povedať, že iOS 7 obsahuje Motion Effects API. A už vôbec nemôžem povedať, že som to používal hneď po vydaní prvej bety a že to je parada.
:D
Každopádne prístup k akcelerometru aj gyroskopu vždy vyvojári mali, preto tam predsa je. Tu je výhoda, že to Apple ... ehm ... možno efekty napoja jednoducho na každý UIView, ktorý môže mať premenný akýkoľvek parameter (veľkosť, pozíciu atď) na základe rotácie a pohybu zariadenia.
Úplne plne API pre tieto efekty už dávno vydané teda je… To by som povedal, keby som o tom mohol hovoriť :)
Pamätám si že v nejakej bete iOS6 menil posuvník hlasitosti odlesky v závyslosti na naklopení zariadenia av ostrej verzii nič nebolo.
Ja už mám pár mesiacov iOS 7 betu, ale pokiaľ si pamätám správne, tak tento efekt normalne v iOS 6.1 ostro verzii je. Ale možno sa mýlim, naozaj to nemôžem nikde overiť, všade mám iOS 7.
Sorry ale napisať celý článok o pohyblivom pozadí – vidieť že je okurková sezóna.
Skôr je vidieť, že nevieš o čo ide, že to nie je len obyčajné pohyblivé pozadie.
Pekný článok plný konkrétnych informácií.
Super článok. Čakal som niečo o paralaxe už dávno keď to Apple použil. Môže to mať veľa nových možností.
Pekný článok
Už z toho videa to vyzerá nádherne a neviem si zatiaľ predstaviť aký úžasný to bude, až to budem mať vo svojom iPhone. Nádhera!
Faktom je, že Android to má už dávno, vo forme aplikácii, a nikoho to veľmi neberie.
Na iPhone 4 fungovať nebude…
Ja sa bojím, čo na to povie baterka, toto je pekná porcia výpočtov navyše.
Čo môže byť na hodine fyziky nudné?
Veď fyzika patrí k najzaujímavejším vedám!!!
Článok je veľmi zaujímavý, niektoré veci sú však nepresne vysvetlené. Po prvé, paralaxa je skôr uhol medzi úsečkami spájajúcimi dve rôzne miesta pozorovania a objekt, pričom je vždy menší priameho uhla (Wiki je v tomto pomerne nepresná – pri uhle dvoch priamok sa ťažko špecifikuje, o aký uhol ide). A potom k Newtonovmu zákonu: ak začneme s telefónom pohybovať, udelíme mu zrýchlenie. O zrýchlení ale predsa zákon zotrvačnosti vôbec nerozpráva. Princíp, na ktorom spočíva táto funkcia, skôr vychádza z vlastností neinerciálnych referenčných sústav, ktorými sa síce Newton tiež zaoberal, nie však v rámci svojho prvého pohybového zákona.
„A potom k Newtonovmu zákonu: ak začneme s telefónom pohybovať, udelíme mu zrýchlenie. O zrýchlení ale predsa zákon zotrvačnosti vôbec nerozpráva.“
Nerozumiem, ako táto argumentácia dokazuje, že nejde o zakon zotrvačnosti.
Čo si pamätám, tak gyroskop pracuje na princípe zmeny momentu hybnosti, ktorá generuje silu. A to je závislé od momentu zotrvačnosti. Takže ide podľa mňa ako o zákon zotrvačnosti, tak o zákon sily pre rotujúcu sústavu.
Nepleťte si akcelerometer s gyroskop. Akcelerometer zaznamenáva vďaka zotrvačnosti zrýchlenie predmetu. Gyroskop je strvačník umiestnený v trojosovom rotore, vďaka čomu tento zotrvačník nemení polohu voči zemi pri akomkoľvek natočení celého prístroja.
Zrátané podčiarknuté – aklcelerometer vníma pohyb, zatiaľ čo gyroskop polohu (natočenie). ;)
Ďakujem za upozornenie, ale naozaj si tie dva nepletu. Paralaxa totiž nemá s akcelerometrom nič spoločné, ten ovláda gyroskop.
Gyroskop, ktory popisujete v skutocnosti v iPhone nie je. Tam je mechanická mriežka, ktorá sa deformuje rotáciu, nič sa tam teda samo od seba netočí (tak funguje klasicky gyroskop, napr. popísané na wikipedii).
Avšak táto deformácia je spôsobená naozaj rotačnou zotrvačnosťou, takže ... akosi nechápem, kde ste vzal, že si pletiem akcelerometer a gyroskop (o akcelerometri vôbec rec nebola).
Netvrdím, že paralaxa má čokoľvek spoločné s akcelerometrom ;). Gyroskop nefunguje na princípe zmeny hybnosti – to by totiž znamenalo, že reaguje iba na zrýchlenie (p=m*v). Zmena hybnosti by teda (za predpokladu nemennej hmotnosti) znamenala zmenu rýchlosti – zrýchlenie. Gyroskop však reaguje aj na zmenu polohy pri rovnomernom priamočiarom pohybe. Zotrvačnosť sa však uplatňuje na telese zotrvačníka (či už je reprezentovaný klasickým ťažkým kolesom alebo mriežkou).
Inak s Vami samozrejme súhlasím v tom, že vyhlásenie Martina Hájka o prvom pohybovom zákone je akosi bezzubé. Veličina zrýchlenia v tomto zákone síce priamo nefiguruje, ale vo svojej podstate odpovedá na otázku: prečo je zrýchlenie zaznamenateľné aj v rámci inerciálnej referenčnej sústavy…
Na záver by som rád poznamenal, že fyzika je krásna a nikdy som sa na nej nenudil :D
„Gyroskop však reaguje aj na zmenu polohy pri rovnomernom priamočiarom pohybe.“
Tomu vôbec nerozumiem :) Ako môže čokoľvek reagovať na pohyb pri rovn. prim. pohybu? Neodporovalo by to rovnosti všetkých inercialnych vzťažných sústav?
Ale je už po pulnoci: D Tak mi to možno už nemysli.
Až na to, že ak to niekde v iOS 7 je, tak len na úvodnej obrazovke. Inde som si to naozaj nevšimol. Takže by som to s tou spotrebou batérie nevidel čierno. Ostatne výdrž iOS 7 oproti iOS 6 je skoro rovnaká ak nie lepší (beta5)
Potom napr. v Safari taboch.
aj na uzamknutej obrazovke sa animovaná tapeta pohybuje s použitím tejto „technológie“ alebo ako to nazvať
Super článok!
Aplikácia aero je teraz zadarmo
Obsahuje vyššie zmienený efekt :)