теория фракталов - геометрический фракталы - ломаная коха
нарисовавши 3 интернацию на листочке
мне захотелось чтото зделать на компе
так как c++ я еще нетак хорошо знаю... заюзал блиц
вообщем недолго думая, переделал ломаную коха , немного усложнил
вообщем получился монст и снега , в 8 интернаций
Type bla
Field x1#
Field y1#
Field x2#
Field y2#
End Type
Type bl
Field x1#
Field y1#
Field x2#
Field y2#
End Type
b.bla=New bla
b\x1#=100
b\y1#=400
b\x2#=800
b\y2#=400
;tochnost'
k#=6.5
;ramzer
i#=300
;internations :)
inter#=7
Graphics 1024,768,16,2
For z=0 To inter
fractal_internation(i)
i=i/Rnd(-k,k)
Next
draw()
Flip
WaitKey
Function draw()
For b.bla=Each bla
Line b\x1,b\y1,b\x2,b\y2
Next
End Function
Function fractal_internation(i)
For b.bla=Each bla
tx1#=b\x1#
tx2#=b\x2#
ty1#=b\y1#
ty2#=b\y2#
d#=Sqr((tx2-tx1)^2+(ty2-ty1)^2)
Delete b
b1.bl=New bl
b2.bl=New bl
b3.bl=New bl
b4.bl=New bl
dx#=(tx2-tx1)/4
dy#=(ty2-ty1)/4
b1\x1#=tx1
b1\y1#=ty1
b1\x2#=dx+tx1
b1\y2#=dy+ty1
b4\x1#=tx2-dx
b4\y1#=ty2-dy
b4\x2#=tx2
b4\y2#=ty2
a#=ACos((tx2-tx1)/d)
If ty1>ty2 Then
zx#=2*dx+tx1-Sin(a)*i
zy#=(2*dy+ty1)-Cos(a)*i
Else
zx#=2*dx+tx1+Sin(a)*i
zy#=(2*dy+ty1)-Cos(a)*i
End If
b2\x1#=dx+tx1
b2\y1#=dy+ty1
b2\x2#=zx
b2\y2#=zy
b3\x1#=zx
b3\y1#=zy
b3\x2#=3*dx+tx1
b3\y2#=3*dy+ty1
Next
For bz.bl=Each bl
b.bla=New bla
b\x1=bz\x1
b\x2=bz\x2
b\y1=bz\y1
b\y2=bz\y2
Delete bz
Next
End Function
)
а что мона будет зделать заюзавши еще пару формул ? - много чего