Skocz do zawartości
mloncur

C#-problem ze zlokalizowaniem błędu

Rekomendowane odpowiedzi

Witam, nie wiem czy to jest odpowiednie forum do tego- ale może ktoś udzieli mi pomocy  w świecie C# jestem nowy jednak z programowaniem miałem styczność  poniższy kod ma generować taki rysunek jak w załączniku :przyk,jpg" a niestety rysuje takie coś jak w "rys.jpg" i niestety samemu nie mogę znaleźć przyczyny czemu, przy pisaniu posiłkowałem się pseudokodem z książki "Wprowadzenie do grafiki komputerowej" Angella.

int Y0 = Convert.ToInt32(pictureBox1.Height / 2);int X0 = Convert.ToInt32(pictureBox1.Width / 2);const int n = 4;int[,] P = new int[n, 2];int[,] PD = new int[n, 2];P[0, 0] = -200 + X0; P[0, 1] = 200 + Y0;P[1, 0] = 200 + X0; P[1, 1] = 200 + Y0;P[2, 0] = 200 + X0; P[2, 1] = -200 + Y0;P[3, 0] = -200 + X0; P[3, 1] = -200 + Y0;g.DrawLine(pen1, P[0, 0], P[0, 1], P[1, 0], P[1, 1]);g.DrawLine(pen1, P[1, 0], P[1, 1], P[2, 0], P[2, 1]);g.DrawLine(pen1, P[2, 0], P[2, 1], P[3, 0], P[3, 1]);g.DrawLine(pen1, P[3, 0], P[3, 1], P[0, 0], P[0, 1]);               double RMU = 0.9;for (int i = 0; i < 21; i++){    for (int j = 0; j < 4; j++)    {        int NJ = j % 3 + 1;        PD[j, 0] = Convert.ToInt32(RMU * P[j, 0] + (1-RMU) * P[NJ, 0]);         PD[j, 1] = Convert.ToInt32(RMU * P[j, 1] + (1 - RMU) * P[NJ, 1]);         g.DrawLine(pen1, P[j, 0], P[j, 1], PD[j, 0], PD[j, 1]);         P[j, 0] = PD[j, 0];          P[j, 1] = PD[j, 1];                          }                                            g.DrawLine(pen1, P[0, 0], P[0, 1], P[1, 0], P[1, 1]);   g.DrawLine(pen1, P[1, 0], P[1, 1], P[2, 0], P[2, 1]);   g.DrawLine(pen1, P[2, 0], P[2, 1], P[3, 0], P[3, 1]);   g.DrawLine(pen1, P[3, 0], P[3, 1], P[0, 0], P[0, 1]);                                                                              }

post-204700-0-30111500-1382988363_thumb.jpg

post-204700-0-35062400-1382988371_thumb.png

Edytowane przez mloncur

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie powiem w ktorej linii masz blad, ale przyjrzyj sie, ze w lewej czesci rysuje Ci linie w pionie.

A powinny byc tez takie zakrecone.

Dodaj parametr aby kazda fragment byl rysowany innym kolorem.

Edytowane przez _KaszpiR_

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

dzięki za odpowiedź, ale naprawdę to zastanawianie się (a raczej czas, jaki temu poświęciłem) tak mnie ogłupiło, że nie nic tam nie widzę :/

 

 

 

 

 

zmieniłem całkowicie podejście do problemu i zacząłem pisać na nowo, tym razem użyłem listy punktów i wszystko działa :)

Edytowane przez mloncur

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...