#1 2011-04-14 23:04:40

januszs

Użytkownik

Zarejestrowany: 2010-10-20
Posty: 121
Punktów :   11 

Lab06

Podpowiedź??? Może trafna....
w pierwszym zadaniu mowa jest o parametrze t, który się zmienia od 0 do 2(pi)n, gdzie n jest takie, że a*n jest całkowite. Jeżeli n ma być typu int to moja propozycja co do jej wartości jest taka (nic lepszego o tej porze nie mogłem wymyśleć:))

Kod:

n=int(1/(a-int(a)));

jak duży krok pętli mamy obrać (co ile zmieniać się będzie t - na pewno będzie to po przecinku). może metodą prób i błędów - zaczynając od góry a kończąc na takiej wartości, że niższa nie robi różnicy w wykresie...

///
Dziurawa ta koncepcja jest.... ale wymyśliłem lepszą, która działa. Otóż:

Kod:

int N(double a)
{
       int n=1; 
       while ((n*a-int(n*a))!=0) n++; 
       return n;
}

Ostatnio edytowany przez januszs (2011-04-15 00:13:22)


Nie pytajcie po co to robię http://images.chomikuj.pl/button/jsszczytna.gif

Offline

 

#2 2011-04-15 08:52:37

 ShaguaR

Użytkownik

4245729
Skąd: Oleśnica
Zarejestrowany: 2010-11-29
Posty: 195
Punktów :   

Re: Lab06

ja narazie takie cos wymyslilem ale nie rysuje mi tak jak powinien

Kod:

{
    int i;
    x=0;
    y=0;
    t=0;
    p=3.14;
    a=2;
    i=2*p*100;
    fi=p*90/180;

    for (int g=1; g<=i; g++)
    {
                                                                         // do sprawdzania czy zmienne sie zmieniaja
/*        CString s;
        s.Format(_T("x=%lf"),x);
    pDC->SetTextColor(RGB(255, 0, 0));
    pDC->TextOutW(100,200,s);
    s.Format(_T("y=%lf"),t);
    pDC->SetTextColor(RGB(255, 0, 0));
    pDC->TextOutW(180,200,s);
*/    
                                                                         // ile ma dodawac przy funkcji for
    t=t+0.01;
    x=sin(t);
    y=sin(a*t+fi);
                                                                         // rysowanie po pixelach
        pDC->SetPixel(200*x, 200*y, c);

    }

  }

Pomogłem ? Daj +
              xDe

http://images.chomikuj.pl/button/sharas.gif

Offline

 

#3 2011-04-15 16:57:58

januszs

Użytkownik

Zarejestrowany: 2010-10-20
Posty: 121
Punktów :   11 

Re: Lab06

może to wynikać ze samego sposobu rysowania. x i y przyjmują bardzo małe wartości a rysowanie po pixelach daje marny efekt. użyj funkcji moveto(x*200,y*200) w pierwszym kroku i lineto(x*200,y*200) w następnych. to powinno pomóc

///

ja u siebie rozwiązałem rysowanie mniej więcej jak ci zaproponowałem, tym, że skalowanie mam inne no i oczywiście przechwycenie zamiany rozmiaru okna. kod na chomiku

Ostatnio edytowany przez januszs (2011-04-15 22:29:46)


Nie pytajcie po co to robię http://images.chomikuj.pl/button/jsszczytna.gif

Offline

 

#4 2011-04-17 09:58:28

 ShaguaR

Użytkownik

4245729
Skąd: Oleśnica
Zarejestrowany: 2010-11-29
Posty: 195
Punktów :   

Re: Lab06

patrzylem na twoj kod. 2 rzeczy w sumie sa jeszcze tylko zle, a mianowicie:
- rysunek powinien zaczac sie rysowac od srodka okna
- rysunek powinien byc wyskalowany na caly obszar roboczy okna


Pomogłem ? Daj +
              xDe

http://images.chomikuj.pl/button/sharas.gif

Offline

 

#5 2011-04-17 17:25:03

januszs

Użytkownik

Zarejestrowany: 2010-10-20
Posty: 121
Punktów :   11 

Re: Lab06

- na cały obszar okna - czyli deformacja... wtedy trzeba dokonać korekty i zrobić skalax=rc.right/2 i skalay=rc.bottom/2
- rysowanie od środka okna? ok przesx : rc.right/2, przesy : rc.bottom/2

o to chodziło?

///

poprawione

wariacja nt zad2
http://images40.fotosik.pl/854/b1691bd5ffe07464med.jpg
http://images45.fotosik.pl/874/4138910fb9a41a47med.jpg

Ostatnio edytowany przez januszs (2011-05-18 16:32:35)


Nie pytajcie po co to robię http://images.chomikuj.pl/button/jsszczytna.gif

Offline

 

#6 2011-06-01 23:39:27

 emgiel

Użytkownik

7499988
Zarejestrowany: 2010-10-22
Posty: 45
Punktów :   

Re: Lab06

Ma ktoś program dla indeksów nieparzystych ? ;>

Offline

 

#7 2011-06-02 07:57:56

 ShaguaR

Użytkownik

4245729
Skąd: Oleśnica
Zarejestrowany: 2010-11-29
Posty: 195
Punktów :   

Re: Lab06

przeciez to jest ten sam program tylko ze podmieniasz 2 funkcje  w kodzie !!!


Pomogłem ? Daj +
              xDe

http://images.chomikuj.pl/button/sharas.gif

Offline

 

#8 2011-06-10 15:51:39

Vasilij90

Nowy użytkownik

Zarejestrowany: 2011-01-15
Posty: 7
Punktów :   

Re: Lab06

ktoś podmienił te dwie funkcje tak żeby działało?

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.copernicus.pun.pl