Forum » Programiranje » Barvanje v Processingu (Javi)
Barvanje v Processingu (Javi)
-Neverhood- ::
Imam en problem, namreč pri predmetu nam je dal asistent dokaj proste roke pri izdelavi aplikacije...
Sam sem si zamislil program, ki prebere neko tabelo podatkov (temperature, starost, preseljevanje) za Slovenijo in jih prikaže v različnih letih po regijah (vse to na zemljevidu Slovenije), kot prikazuje slika:
[url=http://www.Slikomat.com/slika/5134866.h...
(zraven so gumbi za avtomatsko premikanje po letih)..
Ko sem asistentu pokazal aplikacijo, mi je rekel da moram namesto stolpcev narediti tako, da se pobarvajo same regije na zemljevidu... in sicer tako, da recimo tam ko je vrednost (temperature, starosti) večja, je barva temnejša, tam ko je vrednost manjša pa svetlejša... barve se morajo med sabo tudi prepletati.. torej če sta dve sosednji regiji različne barve, se mora videti lep prehod iz ene barve v drugo...
Koordinate središč imam določene in iz tam naj bi se barva v vsaki regiji začela širiti enakomerno v vse smeri...
Sam se mučim že nekaj časa in iskreno nimam pojma kako bi to naredil... edino kar sem naredil je bilo to, da so se regije pobarvale z različnimi odtenki, vendar je imela ena regija en odtenek (ni se prelivalo).
Če mogoče kdo ve kako bi to naredil ali pozna stran, kjer bi bil kak primer tega narejen, bi bil zelo vesel vsakršne pomoči.
Delam v programu Processing, oz. Java, če pa kdo ve za rešitev v kakem drugem jeziku je tudi dobrodošlo.
Prilimam lahko tudi kodo programa.
Sam sem si zamislil program, ki prebere neko tabelo podatkov (temperature, starost, preseljevanje) za Slovenijo in jih prikaže v različnih letih po regijah (vse to na zemljevidu Slovenije), kot prikazuje slika:
[url=http://www.Slikomat.com/slika/5134866.h...
(zraven so gumbi za avtomatsko premikanje po letih)..
Ko sem asistentu pokazal aplikacijo, mi je rekel da moram namesto stolpcev narediti tako, da se pobarvajo same regije na zemljevidu... in sicer tako, da recimo tam ko je vrednost (temperature, starosti) večja, je barva temnejša, tam ko je vrednost manjša pa svetlejša... barve se morajo med sabo tudi prepletati.. torej če sta dve sosednji regiji različne barve, se mora videti lep prehod iz ene barve v drugo...
Koordinate središč imam določene in iz tam naj bi se barva v vsaki regiji začela širiti enakomerno v vse smeri...
Sam se mučim že nekaj časa in iskreno nimam pojma kako bi to naredil... edino kar sem naredil je bilo to, da so se regije pobarvale z različnimi odtenki, vendar je imela ena regija en odtenek (ni se prelivalo).
Če mogoče kdo ve kako bi to naredil ali pozna stran, kjer bi bil kak primer tega narejen, bi bil zelo vesel vsakršne pomoči.
Delam v programu Processing, oz. Java, če pa kdo ve za rešitev v kakem drugem jeziku je tudi dobrodošlo.
Prilimam lahko tudi kodo programa.
Spura ::
Barvo vsakega sivega piksla izracunas z interpolacijo glede na vse ostale centerske (referencne tocke) tocke.
Torej za vsako tocko lahko izracunas barvo tako, da sestejes razdalje od te tocke do vseh tock v centrih regij, ki imajo fiksno barvo
Nato dolocis barvo tocke kot:
s = suma vseh razdalj do centrov oziroma suma kvadratov razdalj
rn = razdalja do centra n oziroma kvadrat razdalje
bn = RGB barva centra
Barva = (Suma po (i=1:n) od (bi * ri)) / s
Ce uporabis kvadrate potem se izgones korenski operaciji pri racunanju razdalj, druga posledica pa je, da oddaljeni centri precej manj vplivajo na barvo. Tko da jst bi ti priporocil to varianto. Sicer je pa to dost pocasen algoritem per pixel.
Ne garantiram da to dela ker sem zdele to iz glave.
Torej za vsako tocko lahko izracunas barvo tako, da sestejes razdalje od te tocke do vseh tock v centrih regij, ki imajo fiksno barvo
Nato dolocis barvo tocke kot:
s = suma vseh razdalj do centrov oziroma suma kvadratov razdalj
rn = razdalja do centra n oziroma kvadrat razdalje
bn = RGB barva centra
Barva = (Suma po (i=1:n) od (bi * ri)) / s
Ce uporabis kvadrate potem se izgones korenski operaciji pri racunanju razdalj, druga posledica pa je, da oddaljeni centri precej manj vplivajo na barvo. Tko da jst bi ti priporocil to varianto. Sicer je pa to dost pocasen algoritem per pixel.
Ne garantiram da to dela ker sem zdele to iz glave.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | videorekorderOddelek: Zvok in slika | 868 (727) | zero22 |
» | Olympus pen mini in slabe slike v prostorih z manj svetlobe (strani: 1 2 )Oddelek: Zvok in slika | 7856 (6372) | eric_cartman |
» | problem z Sony DSC-W210Oddelek: Elektrotehnika in elektronika | 1474 (1374) | Janac |
» | Popravilo avtomobilski prask, kje?Oddelek: Na cesti | 4780 (4366) | kixs |
» | Cena barvanja avtomobilaOddelek: Na cesti | 53448 (51964) | lufthammer |