Произвольный фрактал
Необходимо построить фрактал-лестницу в VB.Net:
Начальные координаты задаются через NumericUpDown1,2,3,4 соответственно. Строятся линии и получается прямой угол:
_
..|
Так^(. стоят вместо пробела :) )
Потом лестница "уменьшается" в два раза и на каждой середине отрезков строится(сверху и справа) строится такая же копия, только в два раза меньше.
Вот что есть, но код не работает нормально.
Public Class Form1
Sub line(x1%, y1%, x2%, y2%, c%)
If c < NumericUpDown5.Value Then Exit Sub
Dim x1n, y1n, x2n, y2n As Int32
Dim g As Drawing.Graphics = CreateGraphics()
g.DrawLine(Pens.Black, x1, y1, x2, y1)
g.DrawLine(Pens.Black, x2, y1, x2, y2)
g.DrawLine(Pens.Black, x1n, y1n, x2n, y1n)
g.DrawLine(Pens.Black, x2n, y1n, x2n, y2n)
line(x1, y1 / 2, 3 * x2 \ 4, y1 / 2, c / 2)
line(x2, 3 * y2 / 4, 5 / 4 * x2, y2, c / 2)
g.Dispose()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Refresh()
Dim x1, y1, x2, y2, size As Int32
x1 = CInt(NumericUpDown1.Value)
y1 = CInt(NumericUpDown2.Value)
x2 = CInt(NumericUpDown3.Value)
y2 = CInt(NumericUpDown4.Value)
size = CInt(NumericUpDown6.Value)
line(x1, y1, x2, y2, size)
End Sub
End Class
Заранее спасибо :)