PathEditor.MyPower.CZ

Interní projekty související nejen s MyPower.CZ.
Odpovědět
Uživatelský avatar
mypower.cz
R.I.P.
Příspěvky: 4927
Registrován: pát bře 04, 2011 11:36 am
Reputace: 521

PathEditor.MyPower.CZ

Příspěvek od mypower.cz »

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é.

Podařilo se mi dospět do stavu, kdy je aplikace prakticky připravena k předvedení místní komunitě. Vůbec bych se nedivil, kdyby tato práce našla využití i v jiných oblastech, než na které je zaměřeno zdejší fórum.

Obrázek

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 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í, ...

Obrázek

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, 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.

Obrázek

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.

Obrázek

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ů, 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.

Obrázek

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 intervalech.

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.

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 zde na fórum, nebo kamkoliv jinam a sdílet je 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 :).

Obrázek

Takto připravené projekty budou hned v následující verzi velmi snadno svépomocně propojitelné s libovolnými hodnotami z vašich online dat z vlastních měření, která jsou zasílána na mypower.cz 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, prosím někam si to značte a poznatky pak prosím po dávkách dávejte třeba zde na fórum, později pro zájemce může k tomuto účelu sloužit bugstránka na wiki. Zkoušel jsem funkčnost ve Firefoxu (Iceweasel) a Google Chrome. Zdá se že to jede. Microsoft Internet Explorer nehodlám řešit, pokud někdo bude vyžadovat podporu pro MSIE, tak podpora projektu mypower.cz je samozřejmě vítána. Je ale zcela 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 fóru (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 (to je ten výše zmíněný měsíc práce). Kdo chce pro zajímavost vidět zdroj, nechť si klikne v PathEditoru pravým tlačítkem myši a v menu vybere "Zobrazit zdroj". Nekamenujte mě, takhle to píšu normálně a funguje to všude i na telefonech :D

Obrázek Obrázek

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. Zájemcům přeji příjemné studium datové struktury, mile mě překvapí, když to někdo zlehka "reversindžínne" a pošle zjištěný popis datové struktury :)

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ší.

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

Typický klidnější provoz FVE
Obrázek


Režim "Rychlovarná konvice"
Obrázek


Dobíjení z centrály
Obrázek


Boiler bez lázeňských kamen
Obrázek


Oběhové čerpadlo
Obrázek


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

Moon love story theme
Obrázek


Velké poděkování patří Monice Sedlářové - http://monikasedlarova.cz/ 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.

Těším se na vaše reakce, případně nejlépe přímo na projektové soubory vašich pokusů, já mezitím zapracuji na propojení řízení animace s online daty z měření :comp:

::popcorn::

Edit: s drobnými modifikacemi jsem si dovolil zdejší článek vydat i na svém blogu na abclinuxu.cz - snad to bude i tam někomu k užitku :) Třeba se i tam v diskuzi objeví nějaký zajímavý postřeh.
solárník
Příspěvky: 1586
Registrován: pát bře 15, 2013 7:53 pm
Reputace: 70

Re: PathEditor.MyPower.CZ

Příspěvek od solárník »

Dobrý nápad! :) Zatím jsem vždy navrhoval a složitě umísťoval ručně animované gify, což je dost nechutná práce. Bude to k dispozici někde na vzdáleném serveru předpokládám (vzhledem k datovém propojení s mypower)? Nebo by to mohlo i vygenerovat nějaký html balík pro stažení jinam pro omezené libovolné externí využití?
Uživatelský avatar
mypower.cz
R.I.P.
Příspěvky: 4927
Registrován: pát bře 04, 2011 11:36 am
Reputace: 521

Re: PathEditor.MyPower.CZ

Příspěvek od mypower.cz »

Moznosti nejsou omezeny. Je to jen o dohode. :) Naprogramovat se da cokoliv a neni problem tahat data do aplikace i z jinama nez z mypower.cz, nebo vygenerovat celou nezavislou aplikaci. I toto by technicky problem nebyl. Ta aplikace neni pevne svazana s mypower.cz. Je uz predem delana tak, aby byla propojitelna s cimkoliv a byla nezavisla na mypower.cz :)
matej
Příspěvky: 826
Registrován: čtv zář 01, 2011 6:30 pm
Reputace: 45

Re: PathEditor.MyPower.CZ

Příspěvek od matej »

:shock: Skvělá práce, gratuluji :handshake:
Malá drobnost - šlo by kreslit polo-transpartnení čáry tam kde teď jsou čáry přerušeny, tj. za panely anebo za zdí? Tečky tama utíkají ale nejsou tam naznačeny žádné "pathy".
Pravda a Láska zvítězí!.
Uživatelský avatar
mypower.cz
R.I.P.
Příspěvky: 4927
Registrován: pát bře 04, 2011 11:36 am
Reputace: 521

Re: PathEditor.MyPower.CZ

Příspěvek od mypower.cz »

matej píše::shock: Skvělá práce, gratuluji :handshake:
Malá drobnost - šlo by kreslit polo-transpartnení čáry tam kde teď jsou čáry přerušeny, tj. za panely anebo za zdí? Tečky tama utíkají ale nejsou tam naznačeny žádné "pathy".
Transparence je animovana a interpolovana vzdy plynule mezi dvema sousednimi body, stejne tak jako pozice. Po kliknuti na tlacitko FPATH (Full Path) je mozno zobrazit vsechny krajni body.

Vicemene je potreba definovat pri rovnem vektoru animace jen krajni body. Pri zaobleni tolik bodu, jak pekne oblou chceme mit drahu cesty animovaneho prvku. Rychlost je stejna. Animace ma konstntni prirustky po cele draze cesty, takze i kdyz jsou dva body k sobe blize, nezpomali se, nicmene da se tak rychle nebo naopak pomaleji animovat transparence. O zpomalovani take uvazuji a na to je prave zamyslen ten parametr path/+10 = prirustky jsou konstantni v ramci cele delky trasy. Zamyslel jsem i points/+10% cimz by byla animace prirustkova procentuelne jen mezi dvema body s pevnym poctem snimku mezi body. Tak by se dalo body blize u sebe zpomalit a body dale od sebe zrychlit. Ten druhy format ale neni zatim implementovan.
Uživatelský avatar
mypower.cz
R.I.P.
Příspěvky: 4927
Registrován: pát bře 04, 2011 11:36 am
Reputace: 521

Re: PathEditor.MyPower.CZ

Příspěvek od mypower.cz »

Á.. sorry... ja to pochopil jestli by slo kreslit i mimo klicove body .. az ted mi doslo ze interpolace je jasna (pochopena) a ze jde o neco jineho ... no od vcerejska od rana jsem nespal, chtel jsem za kazdou cenu dostat tenhle projekt do "produkcnejsiho stavu", takze mam za sebou asi 36h prace bez prestavky :) a ted diky tomu ponekud delsi vedeni ...

jo uz vim o co jde .. proste tu cestu pospojovat linkou .. jj .. slo by to .. taky jsem nad tim uz premyslel.. pomoci SVG nebo CANVAS objektu by to nejspis slo. Muzu casem vyzkouset.
drama
Příspěvky: 999
Registrován: čtv črc 28, 2011 12:01 pm
Reputace: 20

Re: PathEditor.MyPower.CZ

Příspěvek od drama »

Otestováno na armv7l GNU/Linux. Jednotlivé cesty v Chromiu fungují zcela OK. Jak se pustí najednou jsem zběžným pohledem nezjistil.
Uživatelský avatar
mypower.cz
R.I.P.
Příspěvky: 4927
Registrován: pát bře 04, 2011 11:36 am
Reputace: 521

Re: PathEditor.MyPower.CZ

Příspěvek od mypower.cz »

drama píše:Otestováno na armv7l GNU/Linux. Jednotlivé cesty v Chromiu fungují zcela OK. Jak se pustí najednou jsem zběžným pohledem nezjistil.
Pokud je na mysli Tester, tak je tam trosku zasite tlacitko TEST >. zobrazi se "multitrack". Z toho se da zase dostat zpet tlacitkem < BACK
Uživatelský avatar
abrams
Příspěvky: 2773
Registrován: ned črc 17, 2011 12:19 pm
Reputace: 427
Lokalita: Brno
Bydliště: Brno

Re: PathEditor.MyPower.CZ

Příspěvek od abrams »

Zdravím ,

to teda čumím jako tele na nový vrata :shock: BOMBA :yes: .

Už aby se ty tečky hýbali ::rolleyes:: ... všechny :celebrate3: .

Elektronům zdar *cloud* / *sun*
3,96kWp monokrystalů + 2x regl PCM60X + 24kWh LiFePO4 + 6kW HF sínus měnič , celé na 52V systému .
Chibi v textu vyhrazeny :D
Uživatelský avatar
vata
Příspěvky: 1403
Registrován: pon zář 12, 2011 11:32 am
Reputace: 93

Re: PathEditor.MyPower.CZ

Příspěvek od vata »

Zdravím a gratuluju - to je teda frajeřina :) Jak máš namyšlené rozhraní k db?
Inteligentní ostrov - www.vati.cz
Uživatelský avatar
mypower.cz
R.I.P.
Příspěvky: 4927
Registrován: pát bře 04, 2011 11:36 am
Reputace: 521

Re: PathEditor.MyPower.CZ

Příspěvek od mypower.cz »

vata píše:Zdravím a gratuluju - to je teda frajeřina :) Jak máš namyšlené rozhraní k db?
Pomocí HTTP a třeba XML, nebo nějaký jakýkoliv formát. Aplikace by měla zůstat oddělena i od mypower.cz, takže i vnitřně si data sosne a spočítá až sám prohlížeč, nikoliv server. Tohle právě umožní mít zdroj dat naprosto kdekoliv, nejen na mypower.cz :) Mypower.cz a data na něm, můžou být jeden z dalších dostupných zdrojů dat. Zdrojem může být třeba microlog dostupný pouze na lokální síti (pak musí být prohlížeč s animací také na stejné lokální síti), tristar, zdrojem dat tak může být i VALC, pokud bude v dosahu prohlížeče a data poskytne na základě HTTP dotazu iniciovaného z prohlížeče, kde bude běžet animace (VALC bude vlastně v pozici serveru).
Uživatelský avatar
vata
Příspěvky: 1403
Registrován: pon zář 12, 2011 11:32 am
Reputace: 93

Re: PathEditor.MyPower.CZ

Příspěvek od vata »

Super :) Takže nějaké konektory na db neplánuješ? Hmm, i když to by bylo asi zbytečné, jednodušší bude napsat si extra php script...
Inteligentní ostrov - www.vati.cz
Uživatelský avatar
mypower.cz
R.I.P.
Příspěvky: 4927
Registrován: pát bře 04, 2011 11:36 am
Reputace: 521

Re: PathEditor.MyPower.CZ

Příspěvek od mypower.cz »

V provozu http://wiki.patheditor.mypower.cz/ . zatím jen jedna stránka. Jak se k tomu dostanu, dopisu co se da, bude tam info o nové verzi, zpusobech jakym implementovat stahovani dat odjinud a ridit animaci (i z vlastniho zdroje dostupneho pres HTTP) a jak ulozit vizualizaci funkcni tak, aby se dala prehrat offline i bez nutnosti byt na internetu (prezentace, offline ukazky atd...) kuprikladu i dokumentaci pouzitelnou napriklad pro vatu a usnadneni pripadne implementace do valcmonitoru (pokud bude zajem), jak patheditor zapouzdrit a ovladat pomoci zdokumentovaneho API zivymi daty z valcmonitoru.

Taky diky odsud vzdalene za tipy komunite i na abclinuxu.cz . :)
spider207
Příspěvky: 52
Registrován: pon zář 03, 2012 1:48 pm
Reputace: 0

Re: PathEditor.MyPower.CZ

Příspěvek od spider207 »

Dovolím si upozorniť na chybu v odkaze na patheditor na hlavnej stránke mypower.cz. Keď brúzdam horným menu a dostanem sa k "Wiki", tak cesta k patheditoru je len wiki.mypower.cz, takže to chce zmeniť na vyššie uvedené. Začal som sa hrajkať a nemohol sa dostať na wiki tak som sondoval, že kde je problém ;-)
Uživatelský avatar
mypower.cz
R.I.P.
Příspěvky: 4927
Registrován: pát bře 04, 2011 11:36 am
Reputace: 521

Re: PathEditor.MyPower.CZ

Příspěvek od mypower.cz »

spider207 píše:Dovolím si upozorniť na chybu v odkaze na patheditor na hlavnej stránke mypower.cz. Keď brúzdam horným menu a dostanem sa k "Wiki", tak cesta k patheditoru je len wiki.mypower.cz, takže to chce zmeniť na vyššie uvedené. Začal som sa hrajkať a nemohol sa dostať na wiki tak som sondoval, že kde je problém ;-)
dekuji za upozorneni, opraveno.

PS: zajimave odkud odevsad se da servisovat mypower.cz :) prave ted z vlaku SC 506 Pendolino smer Praha :D Jak vidno, CDWifi funguje :D

Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek