eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingprzyjemna zagadka
Ilość wypowiedzi w tym wątku: 12

  • 1. Data: 2013-06-29 08:52:29
    Temat: przyjemna zagadka
    Od: firr <p...@g...com>

    zagadka mz z gatunku przyjemnych choc dokladnie nie
    wiem jeszcze jak nalezaloby to zrobic

    potrzebuje funkcji do rasteryzowania kółka
    z blendingiem (blending polega
    na tym ze wartosc piksela koloru
    tla pod kólkiem ma byc proporcjonalnie
    zgodnie z alfą dodana do wartosci
    koloru kołka - oba kolory to unsigned
    32 bit w formacie ARGB)

    samo kolko zostalo oparte na midpoincie

    void DrawFillCircleBlendUnsafe(int x1, int y1, int radius, unsigned color)
    {

    int x = 0;
    int y = radius;
    int d1 = 3 - (2 * radius);

    do
    {
    if (d1 < 0) d1 += (x<<2) + 6;
    else d1 += ((x-(y--))<<2) + 10;

    drawScanlineBlendUnsafe(y1+x, x1-y, x1+y, color);
    drawScanlineBlendUnsafe(y1-x, x1-y, x1+y, color);
    drawScanlineBlendUnsafe(y1+y, x1-x, x1+x, color);
    drawScanlineBlendUnsafe(y1-y, x1-x, x1+x, color);
    x++;
    }
    while(x<y);

    }


    1)
    pierwszy problem polega na tym ze okazuje sie ze
    midpoint tutaj niektore poziome linie (scanlines) rysuje dwa razy (i wychodzą wtedy
    dwa razy
    pogrubione w kolorze) - jak to poprawic

    2) jak dobrze napisac funkcje blend

    unsigned blend(unsigned color1, unsigned color2)
    {
    return ...
    }

    (tak zeby byla szybka i poprawna,


  • 2. Data: 2013-06-29 19:07:06
    Temat: Re: przyjemna zagadka
    Od: "R.e.m.e.K" <g...@d...null>

    Dnia Fri, 28 Jun 2013 23:52:29 -0700 (PDT), firr napisał(a):

    > zagadka mz z gatunku przyjemnych choc dokladnie nie
    > wiem jeszcze jak nalezaloby to zrobic

    Lubie zagadki!
    Moja odpowiedz: 8.02

    Wygralem??

    --
    pozdro
    R.e.m.e.K


  • 3. Data: 2013-06-29 19:24:53
    Temat: Re: przyjemna zagadka
    Od: A.L. <a...@a...com>

    On Sat, 29 Jun 2013 19:07:06 +0200, "R.e.m.e.K" <g...@d...null> wrote:

    >Dnia Fri, 28 Jun 2013 23:52:29 -0700 (PDT), firr napisał(a):
    >
    >> zagadka mz z gatunku przyjemnych choc dokladnie nie
    >> wiem jeszcze jak nalezaloby to zrobic
    >
    >Lubie zagadki!
    >Moja odpowiedz: 8.02
    >
    >Wygralem??

    A moja odpowiedz: 66.91

    A.L.


  • 4. Data: 2013-06-29 21:31:11
    Temat: Re: przyjemna zagadka
    Od: bartekltg <b...@g...com>

    W dniu 2013-06-29 19:07, R.e.m.e.K pisze:
    > Dnia Fri, 28 Jun 2013 23:52:29 -0700 (PDT), firr napisał(a):
    >
    >> zagadka mz z gatunku przyjemnych choc dokladnie nie
    >> wiem jeszcze jak nalezaloby to zrobic
    >
    > Lubie zagadki!

    A bardzo proszę.
    http://projecteuler.net/problems
    Zagadki od trywialnych do nierobialnych, łatwo
    poznać która jest która po liczbie osób, które zgadły;)

    > Moja odpowiedz: 8.02

    Bitwa o Moryrz.

    > Wygralem??

    Radziwiłł wygrał.

    :)
    pzdr
    bartekltg


  • 5. Data: 2013-06-30 09:35:25
    Temat: Re: przyjemna zagadka
    Od: firr <p...@g...com>

    > (tak zeby byla szybka i poprawna,

    wogole interesuje sie 'z obowiazku' prymitywami
    graficznymi,

    blending mamy mozna powiedziec zwykly i brzegowy,
    jesli mowa o tym 'brzegowym':

    poszukuje algorytmow ktore potrafilyby
    zblendowac np kreske, trójkat, prostakat,
    albo koło, w scisły sposób -

    tj tak jakby kreska byla traktowana
    scisle jako prostokat o szerokosci 1
    polozony na siatce kafelkow gdzie kazdy
    kafelek jest zasłaniany w poprawnie
    obliczonym procencie

    wydaje mi sie ze algorytmy takie jak wu
    robia to chyba w mocno przyblizony sposob
    a czy sa optymalizowane algorytmy dokonujace
    tego w sposob scisly ? (- to co do kreski
    bo co do litych figur to algorytmow brzegowych
    wogole jeszcze nie kojarze)





  • 6. Data: 2013-06-30 12:27:58
    Temat: Re: przyjemna zagadka
    Od: Adam Majewski <a...@o...pl>


    Może przez wypełnienie konturu ?

    int FillContour(double dXseed, double dYseed, unsigned char color,
    unsigned char _data[])
    {
    /*
    fills contour with black border using seed point inside contour
    and horizontal lines
    it starts from seed point, saves max right( iXmaxLocal) and max
    left ( iXminLocal) interior points of horizontal line,
    in new line ( iY+1 or iY-1) it computes new interior point :
    iXmidLocal=iXminLocal + (iXmaxLocal-iXminLocal)/2;
    result is stored in _data array : 1D array of 1-bit colors (
    shades of gray)
    it does not check if index of _data array is good so memory error
    is possible
    */

    int iXseed = (int)((dXseed - ZxMin)/PixelWidth);
    int iYseed = (int)((dYseed - ZyMin)/PixelHeight);

    int iX, /* seed integer coordinate */
    iY=iYseed,
    /* most interior point of line iY */
    iXmidLocal=iXseed,
    /* min and max of interior points of horizontal line iY */
    iXminLocal,
    iXmaxLocal;
    int i ; /* index of _data array */;


    /* --------- move up --------------- */
    do{
    iX=iXmidLocal;
    i =f(iX,iY); /* index of _data array */;

    /* move to right */
    while (_data[i]==iInterior)
    { _data[i]=color;
    iX+=1;
    i=f(iX,iY);
    }
    iXmaxLocal=iX-1;

    /* move to left */
    iX=iXmidLocal-1;
    i=f(iX,iY);
    while (_data[i]==iInterior)
    { _data[i]=color;
    iX-=1;
    i=f(iX,iY);
    }
    iXminLocal=iX+1;


    iY+=1; /* move up */
    iXmidLocal=iXminLocal + (iXmaxLocal-iXminLocal)/2; /* new iX inside
    contour */
    i=f(iXmidLocal,iY); /* index of _data array */;
    if ( _data[i]==iJulia) break; /* it should not cross the border */

    } while (iY<iYmax);


    /* ------ move down ----------------- */
    iXmidLocal=iXseed;
    iY=iYseed-1;


    do{
    iX=iXmidLocal;
    i =f(iX,iY); /* index of _data array */;

    /* move to right */
    while (_data[i]==iInterior) /* */
    { _data[i]=color;
    iX+=1;
    i=f(iX,iY);
    }
    iXmaxLocal=iX-1;

    /* move to left */
    iX=iXmidLocal-1;
    i=f(iX,iY);
    while (_data[i]==iInterior) /* */
    { _data[i]=color;
    iX-=1; /* move to right */
    i=f(iX,iY);
    }
    iXminLocal=iX+1;

    iY-=1; /* move down */
    iXmidLocal=iXminLocal + (iXmaxLocal-iXminLocal)/2; /* new iX inside
    contour */
    i=f(iXmidLocal,iY); /* index of _data array */;
    if ( _data[i]==iJulia) break; /* it should not cross the border */
    } while (0<iY);



    return 0;
    }

    HTH

    Adam


  • 7. Data: 2013-06-30 12:31:17
    Temat: Re: przyjemna zagadka
    Od: Edek <e...@g...com>

    Dnia pamiętnego Sun, 30 Jun 2013 00:35:25 -0700, firr wyjmując peta
    oznajmił:

    >> (tak zeby byla szybka i poprawna,
    >
    > wogole interesuje sie 'z obowiazku' prymitywami graficznymi,
    >
    > blending mamy mozna powiedziec zwykly i brzegowy,
    > jesli mowa o tym 'brzegowym':
    >
    > poszukuje algorytmow ktore potrafilyby zblendowac np kreske, trójkat,
    > prostakat,
    > albo koło, w scisły sposób -
    >
    > tj tak jakby kreska byla traktowana scisle jako prostokat o szerokosci 1
    > polozony na siatce kafelkow gdzie kazdy kafelek jest zasłaniany w
    > poprawnie obliczonym procencie
    >
    > wydaje mi sie ze algorytmy takie jak wu robia to chyba w mocno
    > przyblizony sposob a czy sa optymalizowane algorytmy dokonujace tego w
    > sposob scisly ? (- to co do kreski bo co do litych figur to algorytmow
    > brzegowych wogole jeszcze nie kojarze)

    Ciężko przyznać, że ludzie nie tylko sobie rozmawiają na grupie,
    ale jeszcze nie są ostatnimi fakerami, prawda? Chcesz dyskutować
    sam ze sobą to sobie bloga załóż, trollu.

    --
    Edek


  • 8. Data: 2013-06-30 13:10:58
    Temat: Re: przyjemna zagadka
    Od: firr <p...@g...com>

    W dniu niedziela, 30 czerwca 2013 12:27:58 UTC+2 użytkownik Adam Majewski napisał:
    > Mo�e przez wype�nienie konturu ?
    >
    >
    >
    > int FillContour(double dXseed, double dYseed, unsigned char color,
    >

    raczej nie bardzo, potrzebny jest zwykly szybki
    algorytm straightforward - tyle ze taki scisly
    algorytm moze byc trudny do napisania
    (nie wiem)


  • 9. Data: 2013-06-30 23:27:39
    Temat: Re: przyjemna zagadka
    Od: Edek <e...@g...com>

    Dnia pamiętnego Sat, 29 Jun 2013 21:31:11 +0200, bartekltg wyjmując peta
    oznajmił:

    > W dniu 2013-06-29 19:07, R.e.m.e.K pisze:
    >> Lubie zagadki!
    >
    > A bardzo proszę.
    > http://projecteuler.net/problems Zagadki od trywialnych do
    > nierobialnych, łatwo poznać która jest która po liczbie osób, które
    > zgadły;)

    W sam raz na rozmowę kwalifikacyjną. Zna pan algorytmy? Ten potrafiło
    napisać już 14 osób! ;)

    >> Moja odpowiedz: 8.02
    >
    > Bitwa o Moryrz.
    >
    >> Wygralem??
    >
    > Radziwiłł wygrał.

    Jego konie miały dobre AI, to dlatego. Pisane w C::B v. 8.02.

    --
    Edek


  • 10. Data: 2013-07-01 14:44:38
    Temat: Re: przyjemna zagadka
    Od: bartekltg <b...@g...com>

    W dniu 2013-06-30 23:27, Edek pisze:
    > Dnia pamiętnego Sat, 29 Jun 2013 21:31:11 +0200, bartekltg wyjmując peta
    > oznajmił:
    >
    >> W dniu 2013-06-29 19:07, R.e.m.e.K pisze:
    >>> Lubie zagadki!
    >>
    >> A bardzo proszę.
    >> http://projecteuler.net/problems Zagadki od trywialnych do
    >> nierobialnych, łatwo poznać która jest która po liczbie osób, które
    >> zgadły;)
    >
    > W sam raz na rozmowę kwalifikacyjną. Zna pan algorytmy? Ten potrafiło
    > napisać już 14 osób! ;)

    już 23;)

    Niby 20, ale na ile zgadujących?
    Zerknąłem na kilka ostatnich zadanek, np 431 i 429 dalem radę,
    uznajmy więc, że są łatwe. Zrobiło je 200 i 500 osób. Czyli
    pewnie tyle osób się w to regularnie bawi. Zrobiło więc jakieś 4%.
    Trudniejsze zadanko na maturze ;-)

    >
    >>> Moja odpowiedz: 8.02
    >>
    >> Bitwa o Moryrz.
    >>
    >>> Wygralem??
    >>
    >> Radziwiłł wygrał.
    >
    > Jego konie miały dobre AI,

    A jeźdźcy takie samo? ;)

    Oby ci z chorągwiami (czy jak tam się sterowało wojskiem
    bez radia:) mieli lepszą niż konie:)

    > to dlatego. Pisane w C::B v. 8.02.

    Code::Blocks?
    Przez te kilkaset lat jedynie do 12.coś się dobili?
    ;-)

    pzdr
    bartekltg





strony : [ 1 ] . 2


Szukaj w grupach

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: