Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 2D-программирование

2D-программирование Вопросы, касающиеся двумерного программирования

Закрытая тема
 
Опции темы
Старый 07.12.2005, 22:39   #1
jimon
 
Сообщений: n/a
теория фракталов - геометрический фракталы - ломаная коха

нарисовавши 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

)

а что мона будет зделать заюзавши еще пару формул ? - много чего
 
Старый 15.12.2005, 22:40   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Крута.
У меня мозгов не хватит такое придумать
__________________
Blitz3d to Unity Wiki
(Offline)
 
Старый 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)
 
Старый 16.12.2005, 21:32   #4
jimon
 
Сообщений: n/a
так можно задающию линию , или задающии линии зделать разными

b.bla=New bla
b\x1#=100
b\y1#=400
b\x2#=400
b\y2#=400

b.bla=New bla
b\x1#=400
b\y1#=400
b\x2#=800
b\y2#=0
 
Старый 05.05.2007, 14:34   #5
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: снежок или монстр ? фрактал .... :)

Прикольно!
(Offline)
 
Старый 05.05.2007, 14:42   #6
c0mrad
Разработчик
 
Регистрация: 08.06.2006
Сообщений: 412
Написано 13 полезных сообщений
(для 4 пользователей)
Re: снежок или монстр ? фрактал .... :)

Скрин!Скрин!Скрин!
Дайте скрин,а то блица нету уже.
(Offline)
 
Старый 05.05.2007, 17:23   #7
ZanoZa
Элита
 
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений
(для 252 пользователей)
Re: снежок или монстр ? фрактал .... :)

ну вы и темы поднимаете
(Offline)
 
Старый 05.05.2007, 17:56   #8
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: снежок или монстр ? фрактал .... :)

А что не так?
(Offline)
 
Закрытая тема


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снежок SeJay Полезные функции 6 28.02.2009 17:45
флеш-монстр... jimon Юмор 1 12.06.2006 20:22


Часовой пояс GMT +4, время: 17:05.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com