tstsst
چهارشنبه 16 فروردین 1391, 23:36 عصر
مارپیچ فیبوناچی با رسم قوس هایی که با اتصال گوشه های مربع هایی که به طول خود دنباله هستند ایجاد می شوند !
دنباله برابر :
1,1,2,3,5,8,13,21,34,55,89,144,233,...
فرمول کلیش برابر :
f(x) = f(x - 1) + f(x - 2)
و در وی بی : (10 برابر شدست برای ادامه بدرد می خوره)
Dim fibonacci(5) As Integer
fibonacci(0) = 10
fibonacci(1) = 10
For i = 2 To 5
fibonacci(i) = (fibonacci(i - 1) + fibonacci(i - 2))
Next
حالا من می خوام مارپیچ رو رسم کنم رسم مربع هاش به صورت زیره:
Dim x(5), y(5) As Integer
Dim ti(5) As Rectangle
x(0) = 100
x(1) = 110
x(2) = 100
x(3) = 70
x(4) = 70
x(5) = 120
y(0) = 100
y(1) = 100
y(2) = 80
y(3) = 80
y(4) = 110
y(5) = 80
For i = 0 To 5
ti(i) = New Rectangle(x(i), y(i), fibonacci(i), fibonacci(i))
Panel1.CreateGraphics.DrawRectangle(Pens.Red, ti(i))
Next
چجوری می شه خود مارپیچ رو رسم کرد ؟! (از این Me.CreateGraphics.DrawArc برای این مورد چجوری میشه استفاده کردم ؟ )
__________________________________________________ ___________________________________
Dim p(7) As Point
p(0) = New Point(x(1) - 5, y(0))
p(1) = New Point(x(0), y(4) - 5)
p(2) = New Point(x(1), y(4))
p(3) = New Point(x(5), y(0))
p(4) = New Point(x(0), y(2))
p(5) = New Point(x(3), y(4))
p(6) = New Point(x(5), 160)
p(7) = New Point(200, y(5))
Panel1.CreateGraphics.DrawCurve(Pens.Blue, p)
البته زیاد دقیق نیست ولی درسته
و کد کامل (مارپیچ + مربع ها)
Dim fibonacci(5) As Integer
fibonacci(0) = 10
fibonacci(1) = 10
For i = 2 To 5
fibonacci(i) = (fibonacci(i - 1) + fibonacci(i - 2))
Next
Dim x(5), y(5) As Integer
Dim ti(5) As Rectangle
x(0) = 100
x(1) = 110
x(2) = 100
x(3) = 70
x(4) = 70
x(5) = 120
y(0) = 100
y(1) = 100
y(2) = 80
y(3) = 80
y(4) = 110
y(5) = 80
For i = 0 To 5
ti(i) = New Rectangle(x(i), y(i), fibonacci(i), fibonacci(i))
Panel1.CreateGraphics.DrawRectangle(Pens.Red, ti(i))
Next
Dim p(7) As Point
p(0) = New Point(x(1) - 5, y(0))
p(1) = New Point(x(0), y(4) - 5)
p(2) = New Point(x(1), y(4))
p(3) = New Point(x(5), y(0))
p(4) = New Point(x(0), y(2))
p(5) = New Point(x(3), y(4))
p(6) = New Point(x(5), 160)
p(7) = New Point(200, y(5))
Panel1.CreateGraphics.DrawCurve(Pens.Blue, p)
دنباله برابر :
1,1,2,3,5,8,13,21,34,55,89,144,233,...
فرمول کلیش برابر :
f(x) = f(x - 1) + f(x - 2)
و در وی بی : (10 برابر شدست برای ادامه بدرد می خوره)
Dim fibonacci(5) As Integer
fibonacci(0) = 10
fibonacci(1) = 10
For i = 2 To 5
fibonacci(i) = (fibonacci(i - 1) + fibonacci(i - 2))
Next
حالا من می خوام مارپیچ رو رسم کنم رسم مربع هاش به صورت زیره:
Dim x(5), y(5) As Integer
Dim ti(5) As Rectangle
x(0) = 100
x(1) = 110
x(2) = 100
x(3) = 70
x(4) = 70
x(5) = 120
y(0) = 100
y(1) = 100
y(2) = 80
y(3) = 80
y(4) = 110
y(5) = 80
For i = 0 To 5
ti(i) = New Rectangle(x(i), y(i), fibonacci(i), fibonacci(i))
Panel1.CreateGraphics.DrawRectangle(Pens.Red, ti(i))
Next
چجوری می شه خود مارپیچ رو رسم کرد ؟! (از این Me.CreateGraphics.DrawArc برای این مورد چجوری میشه استفاده کردم ؟ )
__________________________________________________ ___________________________________
Dim p(7) As Point
p(0) = New Point(x(1) - 5, y(0))
p(1) = New Point(x(0), y(4) - 5)
p(2) = New Point(x(1), y(4))
p(3) = New Point(x(5), y(0))
p(4) = New Point(x(0), y(2))
p(5) = New Point(x(3), y(4))
p(6) = New Point(x(5), 160)
p(7) = New Point(200, y(5))
Panel1.CreateGraphics.DrawCurve(Pens.Blue, p)
البته زیاد دقیق نیست ولی درسته
و کد کامل (مارپیچ + مربع ها)
Dim fibonacci(5) As Integer
fibonacci(0) = 10
fibonacci(1) = 10
For i = 2 To 5
fibonacci(i) = (fibonacci(i - 1) + fibonacci(i - 2))
Next
Dim x(5), y(5) As Integer
Dim ti(5) As Rectangle
x(0) = 100
x(1) = 110
x(2) = 100
x(3) = 70
x(4) = 70
x(5) = 120
y(0) = 100
y(1) = 100
y(2) = 80
y(3) = 80
y(4) = 110
y(5) = 80
For i = 0 To 5
ti(i) = New Rectangle(x(i), y(i), fibonacci(i), fibonacci(i))
Panel1.CreateGraphics.DrawRectangle(Pens.Red, ti(i))
Next
Dim p(7) As Point
p(0) = New Point(x(1) - 5, y(0))
p(1) = New Point(x(0), y(4) - 5)
p(2) = New Point(x(1), y(4))
p(3) = New Point(x(5), y(0))
p(4) = New Point(x(0), y(2))
p(5) = New Point(x(3), y(4))
p(6) = New Point(x(5), 160)
p(7) = New Point(200, y(5))
Panel1.CreateGraphics.DrawCurve(Pens.Blue, p)