abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 11:55 | Zajímavý článek

PINE64 přináší na blogu pravidelný souhrn novinek. Píše se tam třeba o Quartz64, hardwarové klávesnici k PinePhone nebo novinkách v Plasma Mobile 5.22.

joejoe | Komentářů: 0
dnes 08:00 | Bezpečnostní upozornění

Byly publikovány informace o útoku na TLS s názvem ALPACA Attack (paper: ALPACA: Application Layer Protocol Confusion - Analyzing and Mitigating Cracks in TLS Authentication). Jak už to dnes bývá, útok má vlastní doménu a logo. Pokud mají různé služby, například www a ftp, běžící na serveru stejný certifikát (hvězdičkový certifikát) a útočník může přesměrovat požadavky z webového prohlížeče na www server na ftp server nebo odpovědi z ftp

… více »
Ladislav Hagara | Komentářů: 4
dnes 07:00 | Zajímavý software

Google na svém blogu věnovaném vývojářům představil projekt Fully Homomorphic Encryption (FHE) aneb open source knihovny a nástroje pro homomorfní šifrování.

Ladislav Hagara | Komentářů: 8
dnes 00:11 | IT novinky

Intel představil svou vizi IPU – Infrastructure Processing Unit. Jedná se o nové programovatelné síťové zařízení postavené na FPGA nebo ASIC umožňující poskytovatelům cloudových a komunikačních služeb snížit režijní náklady a uvolnit výkon CPU.

Ladislav Hagara | Komentářů: 0
včera 23:11 | Komunita

Bylo potvrzeno, že v sobotu 17. července 2021 bude spuštěna poslední fáze zmrazování (Full Freeze) Debianu 11 s kódovým jménem Bullseye.

Ladislav Hagara | Komentářů: 1
včera 18:55 | IT novinky

Akční sci-fi RPG hra Hellpoint je na portále GOG.com zdarma, akce trvá do 16. června.

Fluttershy, yay! | Komentářů: 2
13.6. 23:33 | Nová verze

Byla vydána nová verze 0.10.0 počítačové hry Veloren. Jedná se o open source open world multiplayer voxel RPG. Hra je vyvíjena v programovacím jazyce Rust. Inspirována je hrami Cube World, Legend of Zelda: Breath of the Wild, Dwarf Fortress a Minecraft. Videoukázka na YouTube. Zdrojové kódy jsou ke stažení na GitLabu pod licencí GNU GPL 3.0. Veloren je k dispozici také na Flathubu a Snapcraftu.

Ladislav Hagara | Komentářů: 0
12.6. 12:11 | Zajímavý software

Do pondělí 14. června do 19:00 lze na Humble Bundle získat zdarma počítačovou hru Surviving Mars - Deluxe Edition (YouTube) běžící také na Linuxu.

Ladislav Hagara | Komentářů: 3
11.6. 17:55 | Zajímavý software

RTS (Real-time strategy) hra Loria běžící také na Linuxu je nově k dispozici zdarma (Steam, GOG.com). Vývojový tým se soustředí na RTS hru Liquidation. Její vývoj lze podpořit na Kickstarteru.

Ladislav Hagara | Komentářů: 0
11.6. 09:00 | Nová verze

PeaZip (Wikipedie), tj. multiplatformní správce archivů naprogramovaný ve Free Pascalu v Lazarusu, dospěl do verze 8.0. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 14
Používáte kalkulačku?
 (9%)
 (30%)
 (59%)
 (27%)
 (12%)
Celkem 194 hlasů
 Komentářů: 24, poslední včera 09:50
Rozcestník

PathEditor - kdo si hraje, nezlobí.

10.2.2014 13:50 | Přečteno: 1542× | Výběrový blog | poslední úprava: 10.2.2014 13:44

Zdravím, zhruba od půlky ledna letošního roku (tedy asi měsíc) intenzivně pracuji na vývoji webaplikace, která by umožnila snadno vytvářet interaktivní a názorné vizualizace prakticky čehokoliv co se hýbe, mění, zvětšuje, zmenšuje, přetéká, podtéká ... zkrátka je to živé.

Aplikaci jsem pojmenoval PathEditor - česky by se dalo říct editor cest, nebo upravovač cest. Je k dispozici na adrese http://patheditor.mypower.cz. V principu se jedná o jednoduchý nástroj pro vytváření animací pomocí určení základních klíčových bodů v každé cestě (polygonu). Pomocí toho vytvoří software reprezentaci animace toku daného měřeného média daným prostředím. Například tok proudu vodičem, nebo tok kapaliny například u rozvodů TUV, průtok plynu v potrubí, ...

Aplikace je připravena tak, že je možno vytvářet projekty, načíst je, ukládat je, smazat je. Datové úložiště je buď na serveru, nebo je možno projekt stáhnout jako datový soubor a opět ho do aplikace nahrát z úložiště na vašem PC. Takové soubory mají příponu *.mpp (Mypower Patheditor Project). Každý projekt obsahuje své nastavení, tedy obrázek na pozadí, nad kterým bude probíhat animace a druhou nepovinnou (nejlépe PNG) transparentní vrstvu nad obrázkem v pozadí. Stejně tak obsahuje popis všech cest v projektu a v každé cestě všechny parametry všech klíčových bodů daného polygonu, vytvářejícího každou jednotlivou cestu.

Cesty se dají vytvářet, duplikovat, mazat, přejmenovat. S body se dá jemně hýbat pomocí kursorových šipek na klávesnici, tedy animaci skutečně precizně doladit. Klíčovým bodům lze nastavit stupeň transparence od 0 po 100 procent po desetiprocentních krocích. Klíčové body polygonu pro animaci se dají smazat, nebo vkládat nové body mezi dva existující. Většinu běžných úprav lze šikovně realizovat pomocí klávesových zkratek. Informace o ovládání jsou k dispozici po stisknutí obvyklé klávesy F1, nebo kliknutím na tlačítko HELP.

Dalším nástrojem je Tester animací, kde lze ještě předtím, než bude animace řízena skutečnými daty, dopředu otestovat souběhy více animačních polygonů a zároveň otestovat reálné chování z hlediska množství současně animovaných prvků v dané vizualizaci a případné doladění z hlediska výkonu. U každé cesty lze nastavit periodicita vytvoření nového prvku animace (reprezentující například kvanta energie, nebo kapaliny) a procentuelní poměr rychlosti vůči originálnímu nastavení cesty při její editaci. Periodicita může být v rozsahu od 200 milisekund v krocích po 100ms. Rychlost pohybu animovaných prvků (kvant) v dané cestě lze nastavit v procentech po desetiprocentních krocích s tím, že nulový poměr je akceptován jako jednoprocentní poměr rychlosti, záporný poměr způsobí obrácení směr pohybu/toku animovaných prvků (kvant) a kladný poměr znamená tok po směru původních klíčových bodů polygonu.

Animační algoritmus jsem se snažil už předem vyladit tak, že změny parametrů prováděné za běhu jsou plynule aplikovány na běžící animaci. Toto je klíčové právě pro propojení řízení animace pomocí dat z reálného měření, které budou do běžící vizualizace přicházet v určitých nastavených časových intrvalech.

Uživatelské rozhraní celé web aplikace je v angličtině. Je to má nedokonalá angličtina, takže korekce jsou vítány, ale jsem přesvědčen, že tomu bude rozumět leckdo, kdo si umí poradit s anglickými programy, nakoupit na zahraničních serverech a vůbec, angličtinu považuji tak nějak za základ v oblasti software. Je možné že časem příjdou lokalizace, pokud to bude mít smysl.

K celé webaplikaci chystám podle časových možností podrobnou wiki s popisem úplně všeho co se popsat bude dát, popis datové struktury pro ukládání projektů (*.mpp) a různých příkladů, návodů, podobně jako u wiki pro Microlog, který bude zejména pro mé vlastní domácí účely sloužit jako zdroj dat.

K čemu může být aplikace dobrá vám? Můžete si zajednak skvěle vyhrát, můžete si vyzkoušet vložit pomocí URL adresy vlastní fotku do pozadí a na ní vytvořit a otestovat libovolné vlastní animace, můžete soubory vašich projektů uložit, nebo je sdílet na netu s ostatními, popřípadě připravit si libovolné další vizualizace prakticky čehokoliv. PathEditoru dáváte k dispozici adresu obrázku. Ten stahuje váš prohlížeč (ve kterém patheditor máte spuštěn) z internetu z té adresy, jakou pro konkrétní obrázky nastavíte (třeba z vašeho vlastního [domácího] serveru). To znamená, že obrázek může být třeba klidně i adresa na pravidelně aktualizovanou fotografii vašeho rozvaděče, která byla sejmuta kamerou umístěnou před ním :).

Takto připravené projekty budou hned v následující verzi velmi snadno svépomocně propojitelné s libovolnými hodnotami z online dat z měření, která jsou zasílána na server mypower.cz nebo mohou být importována prakticky odkudkoliv v dosahu netu. A tak například rychlost opakování animovaných prvků (kvant energie) na dané cestě - třeba vodiči - může být úměrná aktuálnímu napětí a poměr rychlosti animace velikosti proudu. Vznikne tak velmi interaktivní a živá animace, kterou bych se skutečně nebál pustit na libovolné profesionální prezentaci na videoprojektor k úžasu publika.

Celou webaplikaci berte jako první verzi, která zcela jistě bude trpět drobnými mouchami v ovládání uživatelského rozhraní, sem tam se něco nezaktualizuje tak, jak by bylo očekáváno. Postřehy určitě uvítám, o spoustě drobností už i vím z vlastního používání. Zkoušel jsem funkčnost ve Firefoxu (Iceweasel) a Google Chrome. Zdá se že to jede. Microsoft Internet Explorer nehodlám řešit. Je ale docela možné, že to v nejnovějších verzích MSIE pojede. Nemám to v čem testovat, nekupuji, ani nepoužívám produkty této společnosti.

Webaplikace je psána na straně serveru v PHP. Do MySql se sahá kvůli kontrole přihlášení na forum.mypower.cz (phpbb), projekty jsou na serveru ukládány do filesystemu jako plaintext soubor obsahující serializovaná pole, totéž co jde do *.mpp souborů. Každý uživatel má svůj adresář. Na straně prohlížeče je to řešeno pomocí jednoduchého HTML a asi 4000 řádků javascriptových funkcí psaných přímo pro tento projekt.

Aplikace je navržena jako multiuživatelská. Platí stav přihlášení na forum.mypower.cz. Pokud nejste přihlášen, budete chápán jako anonymní uživatel. Anonymní uživatel nemůže ukládat své projekty na server, může využívat pouze své lokální datové úložiště, tedy může stáhnout a uložit projekt ve formátu *.mpp. Funkčnost má ale plnohodnotnou, může vytvářet projekty. Jen je v současné verzi na začátku poněkud obtěžován aboutboxem a úvodními informacemi. Uživatel, který je přihlášen na fóru je při prvním vstupu do PathEditoru informován o co jde a co ho čeká. Úvodní informace je přihlášenému uživateli zobrazována při každém vstupu do PathEditoru dokud neuloží alespoň jeden projekt. Stačí tedy vytvořit a uložit prázdný projekt, nebo nějaký z už předpřipravených demoprojektů. Každý uživatel má své oddělené úložiště pro své projekty. To ale nevylučuje možnost projekt uložit jako *.mpp a poslat jinému uživateli, který ho může otevřít a uložit k sobě do svého úložiště na serveru.

Poznámka pro zvědavé: *.mpp není nic jiného než plaintext sestávající ze dvou řádků. První obsahuje identifikační hlavičku a kontrolní hash (sha1+salt - bude popsáno podrobněji na wiki k patheditoru). Druhý řádek je asociativní pole zakódované pomocí JSON (php json_encode), komprimované pomocí gzip (php gzcompress) a aby to nebyly binární data, tak výstup je zakódován pomocí base64.

Požadavky na HW pro běh vizualizací i webaplikace - tak nevím no ... V chrome to běhá na 2jádrovém Aspire 5610Z docela svižně i když je animace dosti náročná. Ve FF je to o něco pomalejší, sem tak to škubne. Je dobré, když PC u toho moc nic nedělá. Někdy ty animace mohou být celkem náročnější. Určitě je tam prostor pro značné optimalizace.

Nějaké živé ukázky přímo na přednastavené animace z různých demoprojektů

Typický klidnější provoz FVE

Režim "Rychlovarná konvice"

Dobíjení z centrály

Boiler bez lázeňských kamen

Oběhové čerpadlo

Ba co víc, dají se s tím dělat i jiné krásné věci :)

Moon love story theme

Velké poděkování patří Monice Sedlářové - http://monikasedlarova.com/ za inspiraci její uměleckou tvorbou a také za umělecky zpracovanou verzi pozadí pro novou vizualizaci mé chaty, která je použita i jako výchozí pozadí při otevření nového projektu ve webaplikaci PathEditor. K dispozici bude jak geometrická výkresová verze, tak také dvě další umělecky zpracované. Mezi verzemi bude možno přepnout.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

10.2.2014 16:10 chomout
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
No určitě lepší než alkohol a zápalky
10.2.2014 16:32 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Zajímavé. Umožňuje to také nějaký export např. do animovaného gifu?
Drum Bass avatar 10.2.2014 16:42 Drum Bass | skóre: 7 | blog: drum_bass
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Technicky to není nerealizovatelné. Gif by se dal "smontovat" na serveru. I když teda to by bylo asi hodně obrovské. Flash by na toto byl zajímavý, ale dneska prej "nebrat" :D Možná to naflákat do PNG a nechat nad tou sadou obrázků ffmpeg zapracovat. Veškeré pozice i transparence všech bodů v libovolném čase jsou známy. Flash se dá stále řídit na straně prohlížeče. S gifem ani mpegem se pak už nehne. Ale jinak už mě i toto napadlo :) Nacpat to do videa a podobné vylomeniny :)
Josef Kufner avatar 10.2.2014 18:26 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Zamysli se nad těmito scénáři:
  1. Máš webovou stránku, která popisuje nějaký produkt. Jak do této stránky vložíš animaci vytvořenou v PathEditoru?
  2. Máš prezentaci (slajdy). Jak do ní vložíš animaci vytvořenou v PathEditoru? Asi to nepůjde přímo vložit do PDF, ale jak ji otevřeš na jakémkoliv počítači a zcela offline?
Hello world ! Segmentation fault (core dumped)
Drum Bass avatar 10.2.2014 18:41 Drum Bass | skóre: 7 | blog: drum_bass
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Celé to je v javascriptu + HTML + manipulace s DOM = i s obrázkama se to dá v extrému narvat do jednoho jediného velkého HTML offline souboru. Server to pro animaci jako takovou v podstatě vůbec k ničemu nepotřebuje, pokud se animace nemá řídit odněkud odjinud a má jen prostě animovat to co má zadáno. A nebo jak to myslíte s tím offline?
Bedňa avatar 10.2.2014 19:05 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Jj to vidím v pohode a pokiaľ by chcel niekto animovaný súbor, použije recordmydesktop. Inak vyzerá to fakt dosť dobre.
KERNEL ULTRAS video channel >>>
Josef Kufner avatar 10.2.2014 20:53 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Přesně tak to myslím. Prostě distribuovatelný player (bez editoru) + všechna data v jednom soboru, který se na kliknutí kdekoliv otevře.

Je tam na vytvoření takového souboru čudlík?

Pokud by takový export byl přiměřeně malý, dejme tomu do 50KB bez obrázků, klidně by to mohl být výchozí formát dat pro uložení (*.mpp.html).
Hello world ! Segmentation fault (core dumped)
Drum Bass avatar 10.2.2014 21:22 Drum Bass | skóre: 7 | blog: drum_bass
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Je tam na vytvoření takového souboru čudlík?
Přidám. jj .. nebude to ani nic velice komplikovaného tuhle věc implementovat. Je to užitečná funkce. Poznačím do příští verze :) Samotnému by se mi to teď pravda i hodilo, na jistou prezentaci :)

11.2.2014 10:07 Aleš Kapica | skóre: 50 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Držím palce. Vypadá to opravdu pěkně. Teď mě napadá, že by se k tomu hodila i možnost nastavení časování plus zpožděné spouštění. Jako na např. Cestu A animuj 2s, a po těch dvou sekundách spusť animaci B.
Drum Bass avatar 11.2.2014 14:07 Drum Bass | skóre: 7 | blog: drum_bass
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
ano ano ano .. :) tady se vyloženě nabízí něco jako eventy. Možnost na různé zajímavé akce, například onPathAnimationTick, onPathAnimationBegin, onPathAnimationEnd ... přímo v uživatelském rozhraní PathEditoru umožnit vložit krátký JS kód, který udělá to co bude udělat potřeba, třeba odstartuje (klidně i se zpožděním) třeba jeden animovaný "sprite" z libovolné cesty, nebo udělá úplně jinou akci. Toto právě taky vidím jako vysoce užitečné :) Dva dny teď není čas, ale hned pak jdu na to :D Třeba pustit vodu do boileru znamená, že cesta pro teplou vodu musí běžet taky. Někama ta voda musí zas vytékat. Nebo taky by se tohle dalo řešit tak, že na onPathAnimationTick by se sledovalo až je bod za boilerem, tak by změnil barvu na červenou a je vymalováno :)

.... actionscript jako ve flash animacích.
xkucf03 avatar 11.2.2014 11:29 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.

Šlo by to udělat jako podkladový obrázek (PNG) + GIF, ve kterém budou jen ty tečky a kterým se podklad překryje.

Další (a lepší) možnost je SVG/SMIL animace.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
10.2.2014 17:24 retroslava | skóre: 9 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
FFmpeg v prohlížeči je taky experimentálně.

videoconverter.js
Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
10.2.2014 18:55 Petr
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Je to hezké, ale dokud výtvor nebudu moci vzít jako soubor a přehrát ho kdekoli jinde, tak to má velice omezenou použitelnost.
Josef Kufner avatar 10.2.2014 20:55 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Proč máš v tom MPP souboru vnořené objekty znovu a znovu serializované do JSON?
Hello world ! Segmentation fault (core dumped)
Drum Bass avatar 10.2.2014 21:45 Drum Bass | skóre: 7 | blog: drum_bass
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Ano, je to jedna z věcí, kterou musím pořešit. Tak nějak postupným vývojem došlo k vícenásobnému JSONu... Jakmile jsem začal řešit soubory, tak se na to mrknul a zjistil jak to začalo escapovat pořád dokola.. tak si řekl .. aha .. vlastně :) No narychlo to v souborech "zamaskovala" komprese, i když při těchto velikostech je to vcelku fuk.

Ale ano .. jsem si této nepěknosti vědom a mám ji taky v TODO.
Josef Kufner avatar 11.2.2014 01:05 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: PathEditor - kdo si hraje, nezlobí.
Tak až se v tom budeš hrabat, přidej si tam číslo verze formátu souboru a při načítání kontroluj, zda je dostatečně vysoké. V budoucnu ti to umožní bezbolestný upgrade na novější verze (ať už vytvořením konverzního nástroje nebo přímo podporou starších verzí).
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.