Студопедия
rus | ua | other

Home Random lecture






Фракталы


Date: 2015-10-07; view: 368.


С помощью следующей программы можно нарисовать треугольный фрактал, используя случайные числа. Фрактал – это геометрическая фигура, определенная часть которой (родительский элемент) повторяется снова и снова, изменяясь в размерах. В данном случае программа рисует сотни треугольников, каждый из которых в точности похож на родительский элемент. Уже в течение первых нескольких секунд выполнения программы Вы увидите, как треугольники будут медленно формироваться из нескольких точек. Логику происходящего трудно описать, поэтому оставим это задание для Вашего понимания.

GraphicsWindow.BackgroundColor = "Black"

x = 100

y = 100

 

For i = 1 To 100000

r = Math.GetRandomNumber(3)

ux = 150

uy = 30

If (r = 1) then

ux = 30

uy = 1000

EndIf

 

If (r = 2) Then

ux = 1000

uy = 1000

EndIf

 

x = (x + ux) / 2

y = (y + uy) / 2

 

GraphicsWindow.SetPixel(x, y, "LightGreen")

EndFor

Рисунок 36 – Треугольный фрактал

Если Вы захотите увидеть сам процесс формирования фрактала из точек Вы можете прибегнуть к помощи операции Proram.Delay, которая задержит выполнение цикла. В этой операции указывается число в миллисекундах, которое означает коэффициент задержки. Ниже Вы видите преобразованную программу с измененной строкой, выделенной жирным шрифтом.

GraphicsWindow.BackgroundColor = "Black"

x = 100

y = 100

 

For i = 1 To 100000

r = Math.GetRandomNumber(3)

ux = 150

uy = 30

If (r = 1) then

ux = 30

uy = 1000

EndIf

 

If (r = 2) Then

ux = 1000

uy = 1000

EndIf

 

x = (x + ux) / 2

y = (y + uy) / 2

 

GraphicsWindow.SetPixel(x, y, "LightGreen")


<== previous lecture | next lecture ==>
Расположение в случайном порядке | Logo (Лого)
lektsiopedia.org - 2013 год. | Page generation: 0.003 s.