- •Графика. От простого к сложному.
- •Графика Принципы работы с видеотерминалом в системе Turbo Pascal 7.0
- •Текстовый режим.
- •Графический режим Переход в графический режим.
- •Принципы управления палитрой
- •Работа с точками и графическими примитивами
- •Вывод текстовых сообщений в графическом режиме
- •Полярная система координат
- •Фигуры в полярных координатах
- •Окружность
- •"Пируэты" окружности
- •Астроида (Astroid)
- •Конхоида
- •Педальная кривая
- •Создание шедевров
- •Паутина
- •Использование таймера
- •Спирали Спираль Архимеда
- •Логарифмическая спираль
- •Кохлеоида
- •Строфоида
- •Freeth's Nephroid
- •Введение
- •L - системы
- •Системы итерирующих функций (ifs)
- •Фрактальный морфинг
- •Фрактальное сжатие изображений
- •Программа фрактального морфинга
- •Список использованных источников
Паутина
Любителям математических картинок известна так называемая паутина. На окружности берутся точки с определенным шагом, и каждая из них соединяется с такой же точкой, но сдвинутой по фазе в какое-то число раз (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)) рисует строфоиду