eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPodpis cyfrowy większej ilości podmiotówRe: Podpis cyfrowy większej ilości podmiotów
  • Data: 2013-04-18 14:35:09
    Temat: Re: Podpis cyfrowy większej ilości podmiotów
    Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2013-04-18 10:28, M.M. pisze:
    > On Thursday, April 18, 2013 9:44:56 AM UTC+2, firr kenobi wrote:
    >> a czemu taka dziwna petla
    > Nie wiem... znam akurat taką implementację rysowania
    > tego fraktala. Co jest w niej dziwne? Jaka jest lepsza?

    Była w wątku;)

    >> czy dwa warunki na fabsa sa szybsze
    >> niz jeden na x*x+y*y>4. ? moze
    >> cztery x<-2, x>2 y<-2, y>2 bylyby szybsze
    >
    > Jak dwa warunki, jak cztery? Nie kumam :)

    const double tmp = x*x - y*y + _x;
    if( std::fabs(tmp) > 2.0 ) break; //pierwszy
    y = 2.0 * x * y + _y;
    if( std::fabs(y) > 2.0 ) break; //drugi
    x = tmp;


    Wersja, o której myśli fir wygląda tak:

    double x=0, y=0, xx=0,yy=0;

    for( i=0 ; i<inf ; i++ )
    {
    y = 2.0 * x * y + _y;
    x = xx - yy + _x;
    xx = x*x;
    yy = y*y;
    if (xx+yy>4.0) break;
    }

    Idea jest taka, że skoro i tak kwadratujemy wspolrzedne
    by obliczyć cześć rzeczywistą, to możemy je wykorzystać
    do normy. Żadnych abs i tylko jeden warunek.
    Trzeba tylko pamiętać, żeby przed pętlą inicjować
    nie tylko x i y, ale też ich kwadraty, xx,yy.

    To jest zresztą jedna z optymalizacji, przy której
    nie wierzę, by komputer na nią wpadł na podstawie
    kodu zapisanego elegancko na zmiennych zespolonych;)

    BTW, jakiś kompilator wpada choćby na to, że
    if ( liczba.abs()< stala )
    to to samo co
    if ( liczba.norm()< stala*stala )
    ?

    A tego speca, co nazwał kwadrat normy normą to...


    > Na takim obszarze przy większej wartości inf mam wszystko czarne:
    > https://thumbs.rapidshare.com/thumbs/1024/F28/9A4A63
    B42170BFFB707E1970E39E1.jpg

    Zrób lepszą paletę;)

    To jakie masz to inf. Zmieniając je wyniki nie będą się
    tak do końca liniowo skalować.


    > Robię na takim:
    > x1 = -1.40105941;
    > y1 = -0.00005182;
    > x2 = -1.40116832;
    > y2 = 0.00004030;
    > inf = 60000;

    Łojej! 60 tysięcy? ładne obrazki na [-1,1]^2 to dla 30 wychodzą;)

    pzdr
    bartekltg

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: