Ono, spocitat se to da. Vytvorit si nekolik 1000x vetsich elips s ruznym pomerem stran a pak pro vsechny ty druhy nechat pocitat vzdalenosti pro stejny n-uhelnik. Verim, ze metodou pokus omyl by se dalo prijit na rovnici s uspokujujicim vysledkem. Jen by nikdo nesmel dat 100x vetsi elipsu nez na jake jsem to pocital :)
Příspěvky odeslané z IP adresy 2001:718:2601:258:50c7:23be:2b32:e833...–
// neco jako
uhel = i / 360 * (b-a+i)/(a+b)/konstanta
// a pak ten uhel dosadit do rovnice elipsy...
Ten paprskovy obrazek jsem nasel na netu a zbytek je malovani. Je videt, ze se ty usecky zkracuji, ale rozdil je vyrazny jen pri extremnejsim pomeru. A myslim, ze by to slo osidit tak, ze proste do uhlu se zapocita nejake procento vzdalenosti od pocatku. Takze, pak by vicemene to mohlo byt rovnomerne. Mel by to pokryt nejaky druh paraboly.
Připojen obrázek.
Ale, vicemene priblizne by se to dalo resit opsanou kruznici a rozdelil pravidelne. Pokud pomer stran nebude extremni, tak by to mohlo byt celkem ok.
No, ja to resim castecne tak, ze vypocitam stranu zleva, zprava.
Muj zpusob neni dobrej jen proto, ze to nepocita presne. Takze muze nastat situace, ze posledni carka bude moc dlouha nebo moc kratka. Pak by bylo treba dorovnat ostatni body. Jenze posunutim po elipse se to muze cele dramaticky posunout :) Kdezto u te vypocetni metody dostanes ty body zhruba na spravnem miste a rozdil bude +-1 u carek, ale ta posledni na tom bude stejne.
Jako, to moje by mozna slo, kdybych nasel chybu a kdybych pouzil ten zoom, jak jsem psal. Rozdil v zoomu-plus by mohl byt minimalni. A pak to prepocitat na zoom-out, tak bych se tez trefil na +-1.
Zasadni minusko cele to moje ma v okamziku, kdyz ten uhelnik bude mit 100 stran, treba. Ten posun na konci pak muze kolisat silne kolisat, minimalne +-100, maximalne klidne +-10.000
x-------x-------x-----------
x------xXx---xxxXxxx-------
S kazdym bodem a zaokrouhlovanim na jednotky pixelu narusta nejistota polohy bodu u primky. V pripade elipsy se kvuli zakriveni ten bod muze posunout o vic nez jeden pixel, takze ten dalsi uz se muze posunout po oblouku o 5, treba.
Proste, spocitat to matematicky jako prunik kruznic s elipsou je asi nejlepsi. To mas jistotu, ze ten bod je prave tam a nejistota je +-1-2 px.
Otazkou je, k cemu to BSD potrebuje? Treba jde jen o programatorske cviceni. do hodiny IT :) Resp, nejaky program, ktery, kdyz udela, nemusi jit na zkousku :)