Показать сообщение отдельно
Старый 15.12.2005, 23:10   #3
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
немного поигрался с коэффициентами:

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#=6

Graphics 1024,768,16,2
For z=0 To inter
fractal_internation(i)
i=i/Rnd(-k,k+2)
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
__________________
Как минимум я помог многим (с)
(Offline)