Mandelbrot mit MFC
-
Hallo zusammen,
also ich möchte die Mandelbrotmengen mit MFC C++ darstellen, hab aber folgendes Problem: Beim Ergebnis der Iterationberechnung erhalte ich immer den selben Wert und ich weiß absolut nicht woran das liegen kann -.-
Verwende Visual Studio 2008void CApfelmnnchenView::OnBnClickedBberechnen() { UpdateData(TRUE); int I=0; double delta = 0; double Re, Im; COLORREF Farbe; CClientDC dc(this); delta = m_dSeite/(m_iSpalte*m_iZeile); for(int x = 0; x<=m_iSpalte; x++) { Re = x*delta + m_dRe0; for(int y = 0; y<=m_iZeile; y++) { Im = y*delta + m_dIm0; I=Mandelbrot_Berechnen(x,y,delta,Re,Im); Farbe = Farbe_Berechnen(I); dc.SetPixel(x+50,y+150,Farbe); } } } int CApfelmnnchenView::Mandelbrot_Berechnen(int Spalte, int Zeile, double delta,double Re, double Im) { int i=0; double Rez=0, Imz=0, tmp=0; do { tmp = Rez*Rez - Imz*Imz + Re; Imz = 2 * Rez * Imz + Im; Rez = tmp; i++; }while((i<=5000) && ((Rez*Rez + Imz*Imz)<4)); return i; } COLORREF CApfelmnnchenView::Farbe_Berechnen(int i) { int Farben[3]; if (i<=150) { Farben[0] = 234; Farben[1] = 125; Farben[2] = 48; } else if(i>150 && i<=500) { Farben[0] = 34; Farben[1] = 200; Farben[2] = 25; } else if(i>500 && i<=950) { Farben[0] = 255; Farben[1] = 255; Farben[2] = 0; } else if(i>950 && i<=1500) { Farben[0] = 0; Farben[1] = 255; Farben[2] = 255; } else if(i>1500 && i<=2500) { Farben[0] = 255; Farben[1] = 0; Farben[2] = 255; } else if(i>2500 && i<=3500) { Farben[0] = 255; Farben[1] = 0; Farben[2] = 0; } else if(i>3500 && i<=4000) { Farben[0] = 0; Farben[1] = 255; Farben[2] = 0; } else { Farben[0] = 0; Farben[1] = 0; Farben[2] = 0; } return RGB(Farben[0],Farben[1],Farben[2]); }
so wie ich mich kenne, ist der Fehler ziemlich trivial und ich steh einfach mal wieder aufm Schlauch! Hoffe mir kann da aber jemand helfen!
Gruß