private void RenderScene() { if (!w_fractal && !w2_fractal) { InitGL(); } #region Constructed Fractals if (radioButton3.Checked && s_fractal) { //Draw Harter Dragon HarterDragon.SetColor(0, 255, 0); HarterDragon.Draw(0.2, 0.5, depth_counter); label3.Text = "2"; //s_fractal = false; } if (radioButton2.Checked && s_fractal) { //Draw Minkovsky square int current_depth_counter = depth_counter; if (depth_counter >= 7) { current_depth_counter = 6; } MinkovskySquare.SetColor(255, 0, 0); MinkovskySquare.Draw(0.25, 0.25, current_depth_counter); label3.Text = "3/4"; //s_fractal = false; } if (radioButton4.Checked && s_fractal) { //Draw Square with holes int current_depth_counter = depth_counter; if (depth_counter >= 7) { current_depth_counter = 7; } SquareCutted.SetColor(100, 100, 0); SquareCutted.Draw(0.05, 0.05, current_depth_counter); label3.Text = "2"; //s_fractal = false; } if (radioButton1.Checked && s_fractal) { //Draw Serpinsky carpet int current_depth_counter = depth_counter; if (depth_counter >= 7) { current_depth_counter = 7; } SerpinskyCarpet.SetColor(0, 80, 255); SerpinskyCarpet.Draw(0.2, 0.2, 0.6, current_depth_counter, 1); label3.Text = "log(8)/log(3)"; //s_fractal = false; } if (radioButton6.Checked && s_fractal) { //Draw Koch Curve int current_depth_counter = depth_counter; if (depth_counter >= 7) { current_depth_counter = 7; } KochCurve.SetColor(0, 60, 255); KochCurve.Draw(0.05, 0.5, current_depth_counter); label3.Text = "log(4)/log(3)"; //s_fractal = false; } #endregion #region ISF Fractals if (radioButton5.Checked && i_fractal) { //Draw IFS Fern Fern.SetColor(0.0, 1.0, 0.12); Fern.Draw(0.5, 0.0, 0.095, iterations); //i_fractal = false; } if (radioButton7.Checked && i_fractal) { w_fractal = true; i_fractal = false; w2_fractal = false; } if (radioButton8.Checked && i_fractal) { //Draw IFS Cobweb Cobweb.SetColor(0.1, 0.65, 0.75); Cobweb.Draw(0.5, 0.5, 0.25, iterations); //i_fractal = false; } if (radioButton9.Checked && i_fractal) { //Draw IFS Dragon Dragon.SetColor(0.98, 0.55, 0.1); Dragon.Draw(0.5, 0.1, 0.08, iterations); //i_fractal = false; } if (radioButton10.Checked && i_fractal) { //Draw IFS Star Star.SetColor(0.76, 0.5, 0.89); Star.Draw(0.05, 0.5, 0.5, iterations); //i_fractal = false; } if (radioButton11.Checked && i_fractal) { //Spiral with wind code //Draw IFS Spiral //Spiral.SetColor(0.99, 0.1, 0.2); //Spiral.Draw(0.45, 0.5, 0.5, iterations); w2_fractal = true; i_fractal = false; w_fractal = false; } #endregion #region Julia if (radioButton12.Checked && j_fractal) { //z^2+C JuliaSet.SetBorders(minx, maxx, miny, maxy, jmiterations); JuliaSet.SetConstant(rec, imc); JuliaSet.Draw(details, details, 1, scheme); label3.Text = "2"; //j_fractal = false; } if (radioButton13.Checked && j_fractal) { //z^3+C JuliaSet.SetBorders(minx, maxx, miny, maxy, jmiterations); JuliaSet.SetConstant(rec, imc); JuliaSet.Draw(details, details, 2, scheme); label3.Text = "2"; //j_fractal = false; } if (radioButton14.Checked && j_fractal) { //z^4+C JuliaSet.SetBorders(minx, maxx, miny, maxy, jmiterations); JuliaSet.SetConstant(rec, imc); JuliaSet.Draw(details, details, 3, scheme); label3.Text = "2"; //j_fractal = false; } if (radioButton15.Checked && j_fractal) { //z^3+Cz JuliaSet.SetBorders(minx, maxx, miny, maxy, jmiterations); JuliaSet.SetConstant(rec, imc); JuliaSet.Draw(details, details, 4, scheme); label3.Text = "2"; //j_fractal = false; } if (radioButton16.Checked && j_fractal) { //sin(z)+c JuliaSet.SetBorders(minx, maxx, miny, maxy, jmiterations); JuliaSet.SetConstant(rec, imc); JuliaSet.Draw(details, details, 5, scheme); label3.Text = "2"; //j_fractal = false; } if (radioButton17.Checked && j_fractal) { //e^z+c JuliaSet.SetBorders(minx, maxx, miny, maxy, jmiterations); JuliaSet.SetConstant(rec, imc); JuliaSet.Draw(details, details, 6, scheme); label3.Text = "2"; //j_fractal = false; } #endregion #region Mandelbrot if (radioButton12.Checked && m_fractal) { //z^2+C ManSet.SetBorders(minx, maxx, miny, maxy, jmiterations); ManSet.SetConstant(rec, imc); ManSet.Draw(details, details, 1, scheme); label3.Text = "bounders 2"; //m_fractal = false; } if (radioButton13.Checked && m_fractal) { //z^3+C ManSet.SetBorders(minx, maxx, miny, maxy, jmiterations); ManSet.SetConstant(rec, imc); ManSet.Draw(details, details, 2, scheme); label3.Text = "bounders 2"; //m_fractal = false; } if (radioButton14.Checked && m_fractal) { //z^4+C ManSet.SetBorders(minx, maxx, miny, maxy, jmiterations); ManSet.SetConstant(rec, imc); ManSet.Draw(details, details, 3, scheme); label3.Text = "bounders 2"; //m_fractal = false; } if (radioButton15.Checked && m_fractal) { //z^3+Cz ManSet.SetBorders(minx, maxx, miny, maxy, jmiterations); ManSet.SetConstant(rec, imc); ManSet.Draw(details, details, 4, scheme); label3.Text = "bounders 2"; //m_fractal = false; } if (radioButton16.Checked && m_fractal) { //sin(z)+c ManSet.SetBorders(minx, maxx, miny, maxy, jmiterations); ManSet.SetConstant(rec, imc); ManSet.Draw(details, details, 5, scheme); label3.Text = "bounders 2"; //m_fractal = false; } if (radioButton17.Checked && m_fractal) { //e^z+c ManSet.SetBorders(minx, maxx, miny, maxy, jmiterations); ManSet.SetConstant(rec, imc); ManSet.Draw(details, details, 6, scheme); label3.Text = "bounders 2"; //m_fractal = false; } #endregion Gl.glFlush(); }
private void DrawJulia() { Julia fr = new Julia(Domain); fr.Draw(img, Jp, Jq); }