Forum
    • Categorieën
    • Recent
    • Populair
    • Gebruikers
    • Groepen
    • Zoeken
    • Registeren
    • Login
    1. Home
    2. Ganesh
    3. Berichten
    G
    • Profiel
    • Volgend 0
    • Volgers 0
    • Onderwerpen 0
    • Berichten 12
    • Beste 0
    • Controversial 0
    • Groepen 0

    Berichten geplaatst door Ganesh

    • RE: Vorming Fractal.

      Ik snap em helemaal! Super bedankt! Nu nog ff een voldoende halen :)

      geplaatst in Wiskunde
      G
      Ganesh
    • RE: Vorming Fractal.

      Ik snap alleen 2 dingetjes nog niet, hoe moet ik dan bijvoorbeeld 6 + 3i invullen bij c? gewoon Z(n+1) = Z(n)^2 + 6 + 3i ?
      En bij jouw voorbeeld gebruik je niet Z(n+1)..waarom niet?

      geplaatst in Wiskunde
      G
      Ganesh
    • Vorming Fractal.

      Hoi!

      Ik ben Ganesh en doe nu 5 HAVO. Mijn PWS gaat over Fractals en Complexe Getallen.
      Wat ik me af vraag is of iemand de formule kan verklaren.

      Zn + = Z^2 + C

      Groet, Ganesh

      geplaatst in Wiskunde
      G
      Ganesh
    • RE: Fractalen

      Bedankt voor de melding, ik hoop dat je iemand vindt.

      geplaatst in Informatica
      G
      Ganesh
    • RE: Fractalen

      Ik heb even een URL, mijn eigen fractal kan ik niet uploaden. De vorm is precies hetzelfde.

      linkje

      geplaatst in Informatica
      G
      Ganesh
    • RE: Fractalen

      Ik ga toch weer doorvragen. Hoe wordt de zwarte vorm in het midden gevormd?

      geplaatst in Informatica
      G
      Ganesh
    • RE: Fractalen

      Geweldig! Hartstikke bedankt!

      geplaatst in Informatica
      G
      Ganesh
    • RE: Fractalen

      en waarom 128 * 2 en niet gewoon 256?

      geplaatst in Informatica
      G
      Ganesh
    • RE: Fractalen

      Half..ik snap nog niet precies hoe die pixels verschillende kleuren krijgen..

      geplaatst in Informatica
      G
      Ganesh
    • RE: Fractalen

      Dit is de code, als je het bestand helemaal wilt hebben, dan heb ik je e-mail nodig.

      using System;
      using System.Collections.Generic;
      using System.ComponentModel;
      using System.Data;
      using System.Drawing;
      using System.Drawing.Imaging;
      using System.IO;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      using System.Windows.Forms;
      
      namespace PWS_Fractal
      
      {
          public partial class Form1 : Form
          {
              
              static double pXmax = 0;
              static double pXmin = 0;
              static double pYmax = 0;
              static double pYmin = 0;
      
              public Form1()
              {
                  InitializeComponent();
                  KeyDown += new KeyEventHandler(Form1_KeyDown);
              }
      
              private void Form1_KeyDown(object sender, KeyEventArgs e)
              {
      
                  
                  int x = pictureBox1.Location.X;
                  int y = pictureBox1.Location.Y;
      
                  if (e.KeyCode == Keys.Right) x += 5;
                  else if (e.KeyCode == Keys.Left) x -= 5;
                  else if (e.KeyCode == Keys.Up) y -= 5;
                  else if (e.KeyCode == Keys.Down) y += 5;
              }
      
              private void Form1_Load(object sender, EventArgs e)
              {
                  
                  Bitmap pic = MandelbrotSet(pictureBox1, 2, -2, 2, -2);
                  pictureBox1.Image = pic;
              }
      
              static Bitmap MandelbrotSet(PictureBox pictureBox1, double Xmax, double Xmin, double Ymax, double Ymin)
              {
                  pXmax = Xmax;
                  pYmax = Ymax;
                  pXmin = Xmin;
                  pYmin = Ymin;
                  Bitmap pic = new Bitmap(pictureBox1.Width, pictureBox1.Height);
                  
                  double zx = 0;
                  double zy = 0;
                  double cx = 0;
                  double cy = 0;
                  double xzoom = ((Xmax - Xmin) / Convert.ToDouble(pic.Width)); 
                  double yzoom = ((Ymax - Ymin) / Convert.ToDouble(pic.Height));
                  double tempzx = 0;
                  int loopmax = 1000; 
                  int loopgo = 0;
                  for (int x = 0; x < pic.Width; x++)
                  {
                      cx = (xzoom * x) - Math.Abs(Xmin);
                      for (int y = 0; y < pic.Height; y++)
                      {
                          zx = 0;
                          zy = 0;
                          cy = (yzoom * y) - Math.Abs(Ymin);
                          loopgo = 0;
      
                          while (zx * zx + zy * zy <= 4 && loopgo < loopmax)
                          {
                              loopgo++;
                              tempzx = zx;
                              zx = (zx * zx) - (zy * zy) + cx;
                              zy = (2 * tempzx * zy) + cy;
                          }
      
                          if (loopgo != loopmax)
                              pic.SetPixel(x, y, Color.FromArgb(loopgo % 128 * 2, loopgo % 32 * 7, loopgo % 16 * 14));
                          else
                              pic.SetPixel(x, y, Color.Black);
      
                      }
                  }
      
                  return pic;
      
              }
      
              private void button1_Click(object sender, EventArgs e)
              {
                  
                  Bitmap pic = MandelbrotSet(pictureBox1, 2, -2, 2, -2);
                  pictureBox1.Image.Dispose();
                  pictureBox1.Image = pic;
              }
      
              private void button2_Click(object sender, EventArgs e)
              {
                  
                  saveFileDialog1.FileName = "Fractal"; 
      
                  ImageFormat format = ImageFormat.Jpeg;
                  if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                  {
                      pictureBox1.Image.Save(saveFileDialog1.FileName, format);
                  } 
      
      
              }
      
              private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
              {
                  int Cx = e.X;
                  int Cy = e.Y;
                  double Xzoom = ((pXmax - pXmin) / Convert.ToDouble(pictureBox1.Width));
                  double Yzoom = ((pYmax - pYmin) / Convert.ToDouble(pictureBox1.Height));
      
                  int zoomx = pictureBox1.Width / 5;
                  int zoomy = pictureBox1.Height / 5;
                  Bitmap pic = MandelbrotSet(pictureBox1, ((Cx + zoomx) * Xzoom) - Math.Abs(pXmin), ((Cx - zoomx) * Xzoom) - Math.Abs(pXmin), ((Cy + zoomy) * Yzoom) - Math.Abs(pYmin), ((Cy - zoomy) * Yzoom) - Math.Abs(pYmin));
                  
                  pictureBox1.Image.Dispose();
                  pictureBox1.Image = pic;
              }
      
              private void button3_Click(object sender, EventArgs e)
              {
                  MessageBox.Show("   Muis -        Klik één keer met de muis op een locatie in de afbeelding \n                      en deze zal inzoomen op deze locatie.\n   Reset -       Brengt de afbeeling terug naar originele staat. \n   Opslaan -  Slaat de afbeeling op. (JPEG, PNG of Bitmap)", "Help", MessageBoxButtons.OK, MessageBoxIcon.Question);
              }
      
              private void button4_Click(object sender, EventArgs e)
              {
                  this.Close();
              }
      
              public string Filter { get; set; }
      
              public static double Ymin { get; set; }
      
              public static double Xmin { get; set; }
      
              public static double Ymax { get; set; }
      
              public static double Xmax { get; set; }
      
              private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
              {
                  label1.Text = e.X - (pictureBox1.Width / 2) + "";
                  label2.Text = e.Y - (pictureBox1.Height / 2) + "";
              }
      
              
      
          }
              
      }
      geplaatst in Informatica
      G
      Ganesh
    • RE: Fractalen

      Hoi Berend,

      Ik heb een mandelbrot fractal geprogrammeerd in de C# met Visual Studio. Om een kleur de maken in een pictureBox kun je gebruik maken van Color.FromArgb(0, 0, 0) (<- bijvoorbeeld). In plaats van deze notitie wijze, werd mij verteld over de notatie

      'pic.SetPixel(x, y, Color.FromArgb(loopgo % 128 * 2, loopgo % 32 * 7, loopgo % 16 * 14));'

      pic is de afbeelding en loopgo = 0.

      Hoe kan het dat er zoveel verschillende kleuren hierdoor ontstaan?

      Groet, Ganesh

      p.s. wil je misschien de hele broncode hebben?

      geplaatst in Informatica
      G
      Ganesh
    • Fractalen

      Hallo,

      Hoe kan het zijn dat een fractal kleuren bevat op die locaties die kleur bevatten. Ik heb er zelf 1 geprogrammeerd maar daar heb ik een standaard eigenschap gebruikt.

      geplaatst in Informatica
      G
      Ganesh