[python] Vykreslování grafů
Karel Šrot
karel.do.pekla.zajel na seznam.cz
Středa Červen 6 07:51:50 CEST 2007
Zdravim,
> Další problém s divokými funkcemi. Zkoušel jsem testovat mechanizmus že
> pokud je rozdíl dvou funkčních hodnot vedle sebe větší než 10 tak se
> body nespojí. Bylo to relativně rychlé, ale docházelo k nesrovnalostem
> na kvadratické funkci při standardním zvětšení protože graf kvadratické
> funkce připomíná skoro přímku....
Rozdil dvou funkcnich hodnot vetsi jak deset.. Takovy test nema smysl. U
rychle rostoucich funkci ten rozdil bude vetsi jak deset (a
predpokladam, ze ten rozdil deset je uz prepocitan na pixely platna,
protoze jinak to absolutne nema smysl). Spravnou reakci na tento rozdil
neni body nespojit, ale zvysit pocet referencnich bodu, tj. vlozit mezi
ne jeste jeden (ci vice) bod. Nespojovat body teprve v pripade, ze uz
jsou dodatecne nahusto.
Take mi neni jasne, jak muze parabola, byt jen vzdalene, pripominat
primku. Zrejme myslite to V, ktere se tam jakoby udelalo. V grafu nemate
vubec uvedene meritko, ale sam jste rekl, ze parabola roste velmi
rychle. Pod to se da jedine podepsat. Proste ta "kulatejsi" cast dole je
pod rozlisovaci schopnost grafu (a objevi se teprve po priblizeni, aspon
doufam). To je take zrejme ten duvod, proc neni ten graf az nahoru. Opet
by to chtelo zvysit pocet referencnich bodu (bud se nejakou metodou
deleni intervalu dobrat k bodu, ktery uz je temer nahore resp. mirne
nad... nebo muzete rovnou predpokladat, ze ten usek funkce jdouci mimo
je usecka a rovnou cast te usecky nakreslit).
Takže jsem začal počítat odchylku
> vektorů dvou 4 sousedících bodů. Výsledky byli stejné, i u kvadratické
> funkce došlo k deformaci:( a navíc to bylo strašně pomalé.
Ze to bude pomale, to jsem jiz psal drive. Ja teda uvazoval sousedni dva
vektory urcene trema body. Ale zde je samozrejme nutna nejaka
optimalizace vypoctu, kdy mimojine nebudete pocitat ten uhel, ale jen
kosinus (napr. ze skalarniho soucinu a velikosti vektoru), dokonce snad
jen druhou mocninu, aby nebylo nutne odmocnovat (a pak tedy porovnavat
vuci nejake hranicni hodnote kosinu pro vami zvoleny uhel).
> Nebo jestli si myslíte že nevadí že se ty kvadraticý funkce zobrazují
> trochu zkresleně, mohl bych to nechat tak jak to je....
Co bych vam navrhnoul je, abyste na chvili spojoval vsechny body,
podival se, jakou funkci to kresli (zkusil si to i pri vetsim rozliseni
grafu) a pak se (podle ziskanych vysledku a toho, jak moc se lisi od
nakresleneho grafu) nad tim "nespojovanim" zamyslel. Uz jsem psal, ze
toto ma smysl pouze pokud jsou body dostatecne nahusto.
Drzim palce
Karel
Další informace o konferenci Python