eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingiterowanie po kwadracie › Re: iterowanie po kwadracie
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: " M.M." <m...@g...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: iterowanie po kwadracie
    Date: Sat, 31 Mar 2012 10:20:49 +0000 (UTC)
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 83
    Message-ID: <jl6lq1$blg$1@inews.gazeta.pl>
    References: <jl4tcg$jo0$1@inews.gazeta.pl> <jl56od$hos$1@inews.gazeta.pl>
    <jl6dtr$lde$1@inews.gazeta.pl>
    NNTP-Posting-Host: localhost
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1333189249 11952 172.20.26.234 (31 Mar 2012 10:20:49 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Sat, 31 Mar 2012 10:20:49 +0000 (UTC)
    X-User: mariotti
    X-Forwarded-For: 89.229.34.123
    X-Remote-IP: localhost
    Xref: news-archive.icm.edu.pl pl.comp.programming:196466
    [ ukryj nagłówki ]

    <f...@g...pl> napisał(a):

    > M.M. <m...@g...pl> napisał(a):
    >
    > > <f...@g...pl> napisał(a):
    > >
    > > > jesli iteruje sie po kwadracie to robi sie to
    > > > zwykle tak
    > > >
    > > > for(int j=0; j<200; j++)
    > > > for(int i=0; i<200; i++)
    > > > costam(i,j)
    > > >
    > > > jak przeiterowac po tym samym kwadracie 200x200
    > > > gdy jest on przekrzywiony np o 7 stopni w prawo,
    > > > - dane sa np wspolrzedne wierzcholkow)
    > > >
    > > > ??
    > > Kolejne punkty leza na prostych, wiec punkt nastepny uzyskuje
    > > sie przez dodanie dx i dy do punktu poprzedniego. Ze
    > > wzorow na obrot trzeb wyliczyc start_x i start_y a
    > > potem odpowiednio dodawac dx i dy.
    > >
    > > x = x_start;
    > > y = y_start;
    > > for( i=0 ; i<200 ; i++ ) {
    > > xx = x;
    > > yy = y;
    > > for( j=0 ; j<200 ; j++ ) {
    > > draw(xx,yy);
    > > xx += dx2;
    > > yy += dy2;
    > > }
    > > x += dx1;
    > > y += dy1;
    > > }
    > >
    >
    > pytanie jednak czy to nie 'skipnie' pewnych punktow
    > (chyba skipnie i beda dziury) - przydalaby sie taka
    > metoda iterowania po kwadracie ktora by nie omijala
    > punktow - wtedy np w odwrotnej metodzie rysowania
    > obracanych bitmap nie trzebaby iterowac ekranu po
    > otaczajacym wiekszym kwadracie i marnowac czesci obliczen
    > tylko przeiterowac sam odwrocony kwadrat

    Hmmm pewnie sa gotowe liby do tego celu :)
    Ciekawe co ma QT. Wygląda zachęcająco:
    http://doc.trolltech.com/solutions/4/qtanimationfram
    ework/animation.html

    Kiedyś musiałem zrobić na szybko aplikację z animacją. Przekopiowałem
    ten przykład:
    http://doc.qt.nokia.com/4.7-snapshot/examples-graphi
    csview.html
    Kilka rzeczy zmieniłem i działało choć nie bardzo rozumiałem dlaczego
    działa. Może zrób tak samo?

    A jeśli chcesz się koniecznie bawić...
    Ja bym wyznaczył cztery punkty tego kwadrata. Potem bym wyliczył
    krawędzie. Następnie bym wziął dwie górne krawędzie i potraktował
    je jako funkcje łamaną górną. Dwie dolne krawędzie jako łamaną
    dolną. Zakładamy że nie jest obrócony o wielokrotność 90 stopni.
    Potem dziedzina <xmin,xmax>, dla obu łamanych będzie ona taka
    sama...

    for( x=xmin ; x<=xmax ; x++ )
    for( y=lamana_gorna(x) ; y>=lamana_dolna(x) ; y-- )
    draw( x , y );

    Taki algorytm zejdzie w dol po wszystkich pixelach, czyli zadnego
    nie ominie i nie bedzie dziury.

    Żeby nie było pixelozy to trzeba sprawdzić ile procent skrajnych
    pixeli należy do kwadrata i kolor ustalic mniej/wiecej tak:

    ile_nalezy * kolor_kopiowany + (1-ile_nalezy) * kolor_biezacy

    Pozdrawiam




    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

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: