Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
паскаль.doc
Скачиваний:
32
Добавлен:
01.05.2015
Размер:
788.48 Кб
Скачать

Паутина

Любителям математических картинок известна так называемая паутина. На окружности берутся точки с определенным шагом, и каждая из них соединяется с такой же точкой, но сдвинутой по фазе в какое-то число раз (n). Это число можно задавать или брать случайным образом. Точки пересечения хорд сливаются в муаровый узор самых замысловатых форм. Идея так притягательна, что настоятельно рекомендую всем попробовать реализовать ее самостоятельно, чтобы поиграть с параметрами и насладиться эффектами. При n= 1 не нарисуется ничего, так как начальные и конечные точки линий совпадают, зато при увеличении n будут появляться фигуры с узлами, причем количество узлов равно n-1. Нас же особенно интересует случай для n= 2, при этом нарисуется фигура, хорошо уже изученная нами кардиоида. При n= 3 так называемая нефроида с двумя узлами. Если n-1 делитель числа 360, то картинка проявляет некоторую упорядоченность. Приводим картинки для значений n= 2 (наша любимая кардиоида)

Form1.ScaleMode = vbPixels

n = 2

xx = 380

yy = 380

R = 240

P = 3.1415926

Cls

For I = 0 To 360 Step 1

T = I * P / 180

x = R * Cos(T)

y = R * Sin(T)

X2 = R * Cos(n * T)

Y2 = R * Sin(n * T)

c = 255 / 360

Line (x + xx, y + yy)-(X2 + xx, Y2 + yy), RGB(0, 0, 0)

Next I

Использование таймера

Чтобы не вводить каждый раз вручную значения n, а поручить эту работу компьютеру, то можно наблюдать интересный калейдоскоп узоров

Dim a As Double

Private Sub Form_Load()

Форма1.WindowState = 2

a = 0

End Sub

Private Sub Timer1_Timer()

xx = 380

yy = 380

R = 330

P = 3.1415926

a = a + 0.03

Cls

For i = 0 To 360 Step 2

T = i * P / 180

x = R * Cos(T)

y = R * Sin(T)

X2 = R * Cos(a * T)

Y2 = R * Sin(a * T)

c = 255 / 360

Line (x + xx, y + yy)-(X2 + xx, Y2 + yy), RGB(0, 0, 0)

Next i

End Sub

Спирали Спираль Архимеда

Вы можете представить спираль Архимеда как траекторию муравья, перемещающегося по секундной стрелке часов. Архимед использовал свойства этой спирали в задаче о трисекции угла, то есть делении угла на три равные части.

Формула r = a*theta рисует спираль Архимеда.

Логарифмическая спираль

Теперь рассмотрим другую спираль. Пусть три муравья, находящиеся на равноудаленном расстоянии (вершины правильного треугольника), решили познакомиться друг с другом. Первый пошел ко второму, второй - к третьему, а третий к первому. Путешествуя с одинаковой скоростью, муравьи всегда будут находится в вершинах правильного треугольника, подобному исходному (только поменьше), описывая при этом дугу логарифмической спирали. Ее формула выглядит как r=a^theta

Впервые эту спираль упоминает французский математик Рене Декарт в 1638 году. В природе ее можно увидеть в витках раковины. Логарифмической спираль обладает свойством, что любая прямая, выходящая из полюса спирали, пересекает любой виток под одним и тем же углом. Это свойство применяют в режущих машинах. Данная спираль так нравилась швейцарскому математику Якобу Бернулли, что он завещал высечь ее на его могиле.

Кохлеоида

Формула r = a*sin(theta)/theta рисует кохлеоиду

Строфоида

Формула r = a*(1/cos(theta) + tan(theta)) рисует строфоиду