private void galaz(wek2d poczatek, wek2d koniec, int pokolenie) { if (pokolenie > 0) { graf.DrawLine(Pens.Black, (float)poczatek.x, (float)poczatek.y, (float)koniec.x, (float)koniec.y); double dx = koniec.x - poczatek.x; double dy = koniec.y - poczatek.y; double kat = Math.Atan2(dy, dx); double dlugosc = Math.Sqrt(dy * dy + dx * dx); double nowykat = kat + trackBar1.Value * 0.017; double nowadlugosc = dlugosc * trackBar4.Value / 100.0; wek2d nowykoniec = new wek2d(); nowykoniec.x = koniec.x + nowadlugosc * Math.Cos(nowykat); nowykoniec.y = koniec.y + nowadlugosc * Math.Sin(nowykat); galaz(koniec, nowykoniec, pokolenie - 1); nowykat = kat + trackBar2.Value * 0.017; nowykoniec.x = koniec.x + nowadlugosc * Math.Cos(nowykat); nowykoniec.y = koniec.y + nowadlugosc * Math.Sin(nowykat); galaz(koniec, nowykoniec, pokolenie - 1); nowykat = kat + trackBar3.Value * 0.017; nowykoniec.x = koniec.x + nowadlugosc * Math.Cos(nowykat); nowykoniec.y = koniec.y + nowadlugosc * Math.Sin(nowykat); galaz(koniec, nowykoniec, pokolenie - 1); } }
private void rysuj() { graf.Clear(Color.White); wek2d pocz = new wek2d(); wek2d kon = new wek2d(); pocz.x = panel1.Width / 2; pocz.y = panel1.Height; kon.x = pocz.x; kon.y = pocz.y - 20; galaz(pocz, kon, pokolenia); }