-
1. Data: 2011-11-20 09:19:55
Temat: [trudne] cisnienie w pikselach
Od: " " <f...@W...gazeta.pl>
sam sie zastanawialem ze dwa dni i pytalem na grupie fizyka
ale to co wyglada na proste okazuje sie dziwnie jakby trudne
powedzmy ze mam dwuwymiarową tablicę intów albo
floatow powiedzmy rozmiaru 300 na 300,
wartosciami komorek (pikseli, bo pozniej kazda komorka bedzie
narysowana jako piksel w kolorze ) sa liczby ktore chcialbym aby
modelowaly cisnienie,
tzreba opracowac proste reguly przemieszczania sie tych wartosci
tak aby przypominowalo modelowalo to gaz (lub cos podobnego)
i dzialalo w mire dobrze (tj dawalo jakis gazopodobny efekt)
nieby proste a niestety mimo dwu dni myslenia nic mi z tego nie
wyszlo, prosty algorytm typu przekaz np 1/4 roznicy wartosci od
piksela o nizszej wartosci do piksela o nizszej wartosci, dziala
niesamowicie wolno - trzeba dobrych kilkaset iteracji calej
tablicy aby jakies zaburzenie z wyzszym cisnieniem sie rozeszlo
(czyli np kilka sekund nawet dla 100Hz) i zupelnie tez nie przypomina
to gazu tylko topnienie masla
(natrafifszy na te trudnosci uznalem przynajmniej ze wieksza
szanasa na zrobienie tego wystepowalaby byc moze gdyby porcje
cisnienia trzymac na odzielnej liscie a nie w tablicy xy
bo taka tablica bardzo limituje - caly storage to te xy i
wartosc - ale chcialbym sie zastanowic co jednak mozna zrobic
na takiej tablicy - (czytalem cos o automatach komorkowych
ale tylko ogolniki i nic nie znalazlem a dokladniej sie z tym
zapoznac to wymaga chyba raczej sporo czasu, zreszta pewnie bez
gwarancji ze znajde to o co mi chodzi )
--
fir
(soy el grifo mas escandaloso de los Angeles cypress peligroso
enciende el leño o la pipa pasalo por mi clicka la que rifa)
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
2. Data: 2011-11-21 12:08:56
Temat: Re: [trudne] cisnienie w pikselach
Od: " " <f...@N...gazeta.pl>
zasadniczo to 'cisnienie w pikselach' nie jest mi do niczego
specjalnie potrzebne ale zaciekawilo mnie,
wziawszy chocby sam najprostszy algorytm z wyrownywaniem
jade parami po wszystkich pikselach (raz parami w poziomie
pozniej parami w pionie) i wyrownuje dokladnie wartosci w tych
parach - to przyspieszylo i jest troche lepiej) ->
takie cos potrafi szybko, w kilku ramkach wyrownac np
losowy rozrzut ale w realnych wypadkach robi sie zwykla
'góra' typu 0 1 2 3 4 5 6 ... 6 5 4 3 2 1 0 i pozniej
ta gora rozpliwa sie na boki z predkoscia 1 piksel na
ramke,
pytanie szczegolowe jak chocby to przyspieszyc?
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
3. Data: 2011-11-23 16:04:56
Temat: Re: [trudne] cisnienie w pikselach
Od: " M.M." <m...@N...gazeta.pl>
<f...@W...gazeta.pl> napisał(a):
> nieby proste a niestety mimo dwu dni myslenia nic mi z tego nie
> wyszlo, prosty algorytm typu przekaz np 1/4 roznicy wartosci od
> piksela o nizszej wartosci do piksela o nizszej wartosci,
Wydaje sie to dobrym rozwiazaniem. Nie wiem czy wygeneruje zamierzony
efekt, ale na pewno da cos ciekawego. Gdy bawilem sie w symulacje
czastek obdarzonych masa, grawitacja i predkoscia, to problemem byla
kwadratowa zlozonosc - kazda czastka oddzialuje na kazda. W Twoim
przypadku czastka oddzialuje tylko na kilka czastek sasiednich, wiec
powinno dzialac szybko.
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
4. Data: 2011-11-23 21:52:14
Temat: Re: [trudne] cisnienie w pikselach
Od: n...@m...invalid
W dniu 23.11.2011 r. 17:04, M.M. pisze:
> <f...@W...gazeta.pl> napisał(a):
>
>> nieby proste a niestety mimo dwu dni myslenia nic mi z tego nie
>> wyszlo, prosty algorytm typu przekaz np 1/4 roznicy wartosci od
>> piksela o nizszej wartosci do piksela o nizszej wartosci,
Zakładając, że dobrze zdekodowałem ten fragment^:
for each( Point pt in Points )
for each( Point neighbor in pt.Neighbors )
if( pt < neighbor )
pt += ( neighbor - pt ) * 0.25
W image processing to się chyba nazywa odplamkowanie (lub któryś wariant
rozmycia, mogę się mylić).
> Wydaje sie to dobrym rozwiazaniem. Nie wiem czy wygeneruje zamierzony
> efekt, ale na pewno da cos ciekawego. Gdy bawilem sie w symulacje
> czastek obdarzonych masa, grawitacja i predkoscia, to problemem byla
> kwadratowa zlozonosc - kazda czastka oddzialuje na kazda. W Twoim
Jak to rozwiązałeś, jeśli można spytać? Jakąś aproksymacją, szeregiem,
clusteringiem?
BTW, to jest ~podobno jedno z zadań na iv u Google'a:
Imagine an unlimited net of 1R resistors connected in squares. What will
be the effective resistance between two corners of one such square?
> przypadku czastka oddzialuje tylko na kilka czastek sasiednich, wiec
> powinno dzialac szybko.
O(n*3^DIM(Points)).
--
:-/
-
5. Data: 2011-11-24 05:50:04
Temat: Re: [trudne] cisnienie w pikselach
Od: s <f...@f...com>
On Sun, 20 Nov 2011 09:19:55 +0000 (UTC), " " <f...@W...gazeta.pl>
wrote:
> ale to co wyglada na proste okazuje sie dziwnie jakby trudne
Nic trudnego ale trzeba umie do tego podej. Po pierwsze przestrze
fizyczna jest 3D plus czas a ty chcesz modelu 2D. Po drugie równania
róniczkowe czstkowe. Po trzecie numeryczne metody ich
rozwizywania. Po czwarte realistyczne modelowania tego co chcesz
moe by dokadnie tak trudne jak prognozowanie pogody.
-
6. Data: 2011-11-24 15:46:39
Temat: Re: [trudne] cisnienie w pikselach
Od: " M.M." <m...@N...gazeta.pl>
n...@m...invalid napisał(a):
> W dniu 23.11.2011 r. 17:04, M.M. pisze:
> > <f...@W...gazeta.pl> napisał(a):
> >
> >> nieby proste a niestety mimo dwu dni myslenia nic mi z tego nie
> >> wyszlo, prosty algorytm typu przekaz np 1/4 roznicy wartosci od
> >> piksela o nizszej wartosci do piksela o nizszej wartosci,
> Zakładając, że dobrze zdekodowałem ten fragment^:
>
> for each( Point pt in Points )
> for each( Point neighbor in pt.Neighbors )
> if( pt < neighbor )
> pt += ( neighbor - pt ) * 0.25
Mozna kombinowac roznie... efekt graficzny moze byc ladny, ale symulacja
zjawisk rzeczywistych to inna bajka.
> W image processing to się chyba nazywa odplamkowanie (lub któryś wariant
> rozmycia, mogę się mylić).
>
> > Wydaje sie to dobrym rozwiazaniem. Nie wiem czy wygeneruje zamierzony
> > efekt, ale na pewno da cos ciekawego. Gdy bawilem sie w symulacje
> > czastek obdarzonych masa, grawitacja i predkoscia, to problemem byla
> > kwadratowa zlozonosc - kazda czastka oddzialuje na kazda. W Twoim
> Jak to rozwiązałeś, jeśli można spytać? Jakąś aproksymacją, szeregiem,
> clusteringiem?
Hmmmm... nie wiem jak to sie nazywa fachowo... jakas maksymalnie uproszczona
symulacja z czasem dyskretnym. Gdy sila grawitacyjna szybko maleje wzgledem
odleglosci, to mozna pominac oddzialywania odleglych od siebie czastek - i
tak beda bilskie zeru. Cos w rodzaju:
for( int i=0 ; i<N-1 ; i++ )
for( int j=i+1 ; j<N ; j++ ) {
dystans pomiedzy pt_i i pt_j z normy euklidesowej
jakies sztuczne rozwiazanie gdy dystans < epsilon
sila maleje odwrotnie proporcjonalnie do kwadratu dystansu
przyspieszenie wprost proporcjonalne do sily i odwrotnie do mas
zmiana predkosci na podstawie przyspieszenia
zmiana polozenia na podstawie predkosci
}
Ladnie to wygladalo, ale dla duzej ilosci czastek dzialalo bardzo wolno.
Na ile to bylo realistyczne trudno powiedziec. Gdy dalwalem inne wzory
na sile grawitacyjna to na oko wygladalo bardziej realistycznie. Dla
niektorych wzorow tworzyly sie uklady podobne do ukladow planetarnych, dla
innych czastki laczyly sie w skupiska, a po zderzeniu czasami rozpadaly sie
na kilka malych, albo laczyly w jedno wielkie skupisko. Z tego co pamietam
trudno bylo dobrac parametry, chyba ciekawy wizualnie efekt udalo mi sie
uzyskac raptem dwa raz na kilkadziesiat prob.
> BTW, to jest ~podobno jedno z zadań na iv u Google'a:
> Imagine an unlimited net of 1R resistors connected in squares. What will
> be the effective resistance between two corners of one such square?
Nie wiem, nie interesowalem sie, ale moze da sie wygooglac? ;-)
> > przypadku czastka oddzialuje tylko na kilka czastek sasiednich, wiec
> > powinno dzialac szybko.
> O(n*3^DIM(Points)).
O( caly_czas / tik_czasu * ilosc_czastek * srednia_ilosc_sasiadow )
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
7. Data: 2011-11-24 18:39:22
Temat: Re: [trudne] cisnienie w pikselach
Od: "slawek" <s...@h...pl>
Użytkownik <n...@m...invalid> napisał w wiadomości grup
dyskusyjnych:jajptu$a19$...@n...icpnet.pl...
> for each( Point pt in Points )
> for each( Point neighbor in pt.Neighbors )
> if( pt < neighbor )
> pt += ( neighbor - pt ) * 0.25
To jest dyfuzja. Nic dziwnego, że wychodzi jak wychodzi - rozprzestrzenianie
ciepła jest (dość często) opisywalne równaniem dyfuzji.
> BTW, to jest ~podobno jedno z zadań na iv u Google'a:
> Imagine an unlimited net of 1R resistors connected in squares. What will
> be the effective resistance between two corners of one such square?
Było na jednej z Olimpiad Fizycznych. Nie ma przepływu prądu bez różnicy
potencjałów, tam gdzie jest symetria można rozcinać lub zwierać sieć
połączeń. Trywialne.
Daje się zrobić przejście graniczne na ośrodek ciągły o określonej
przewodności właściwej.
> O(n*3^DIM(Points)).
Ojtam, ojtam. 8 godzin na 1000 rdzeni. A może 10 000 rdzeni. Kto by pamiętał
o drobiazgach?!
-
8. Data: 2011-11-25 00:21:45
Temat: Re: [trudne] cisnienie w pikselach
Od: n...@m...invalid
W dniu 24.11.2011 r. 19:39, slawek pisze:
>
> Użytkownik <n...@m...invalid> napisał w wiadomości grup
> dyskusyjnych:jajptu$a19$...@n...icpnet.pl...
>> for each( Point pt in Points )
>> for each( Point neighbor in pt.Neighbors )
>> if( pt < neighbor )
>> pt += ( neighbor - pt ) * 0.25
>
> To jest dyfuzja. Nic dziwnego, że wychodzi jak wychodzi -
Z granicą w max{ Points }.
> rozprzestrzenianie ciepła jest (dość często) opisywalne równaniem dyfuzji.
>
>> BTW, to jest ~podobno jedno z zadań na iv u Google'a:
>> Imagine an unlimited net of 1R resistors connected in squares. What will
>> be the effective resistance between two corners of one such square?
<snips />
> Daje się zrobić przejście graniczne na ośrodek ciągły o określonej
> przewodności właściwej.
Brzmi prawdziwie.
Powiedz to ludziom łowiącym ryby na prąd.
>> O(n*3^DIM(Points)).
>
> Ojtam, ojtam. 8 godzin na 1000 rdzeni. A może 10 000 rdzeni. Kto by
> pamiętał o drobiazgach?!
Mam nadzieję, że to nie do mnie ;-) (Teza: Usenet zniesie wiele, w tym
rozwiązanie naiwne na dowolny postawiony problem. Lemat:
prawdopodobieństwo postawienia problemu jest odwrotnie proporcjonalne do
jego skomplikowania).
-
9. Data: 2011-11-26 20:14:13
Temat: Re: [trudne] cisnienie w pikselach
Od: "slawek" <s...@h...pl>
Użytkownik <n...@m...invalid> napisał w wiadomości grup
dyskusyjnych:jamn2r$qet$...@n...icpnet.pl...
> Brzmi prawdziwie.
>
> Powiedz to ludziom łowiącym ryby na prąd.
Ajtam, poszukaj "pomiar rezystancji gruntu", np. coś takiego Google znajdują
http://www.sep.krakow.pl/pdf/biuletyn/20-2003-11.pdf
> Mam nadzieję, że to nie do mnie ;-) (Teza: Usenet zniesie wiele, w tym
Nie. Po prostu ludzie, prezentujący swój program (5 a może 15 lat im zajęło
jego napisanie), mówili o około 8 godzinach na zajeb...
super-main-frame-full-wypas. Stąd te 1000 czy 10000 rdzeni (kto by się
takimi szczegółami przejmował? zwłaszcza, że jakby co, to się zrobi większy
komputer, no problem). A... oczywiście dostali całą moc exclusive.
-
10. Data: 2011-12-11 16:12:57
Temat: Re: cisnienie w pikselach
Od: t k <s...@g...com>
> zapoznac to wymaga chyba raczej sporo czasu, zreszta pewnie bez
> gwarancji ze znajde to o co mi chodzi )
>
> -
> fir
>
> (soy el grifo mas escandaloso de los Angeles cypress peligroso
> enciende el leño o la pipa pasalo por mi clicka la que rifa)
>
(i znowu gazeta usenet nie dziala)
nie rozwiazalem wspomnianego problemu
ale natrafilem na ciakawy tutorial nt
fluidów liquidów i dymu (ktory okazuje sie
nie jest ani fluidem ani likuidem tylko
aerozolem tj bardziej jakby pylem)
(Gourlay, na stronkach intela)
przejrze to moze jak sie da