Мы видели, первая программа под названием “DrawWorld” мы ввели программирования JAVA ориентированной графики. Давайте изменим это основная программа для генерации основного рекурсивных фрактальной: El Треугольник Серпинского.
(Посмотреть и генерации рекурсивного фрактальной)
Это фрактал, который построен рекурсивно от треугольника, стороны которого делятся на его середине. С помощью этих новых точек, и предыдущих, новые треугольники построены аналогично предыдущему.
Если исходить из треугольника ABC и получить середины его сторон (MNP), Следующий уровень рекурсии будет строить три треугольника ниже: APN, PBM NMC.
Треугольник Серпинского имеет фрактальной размерности Хаусдорфа-Безиковича совпадает с фрактальной размерностью homotecia равным: 1,58496… (W)
Если каждый из этих новых треугольники подразделяются на три, мы будем получать новую фигуру рекурсивно. У нас будет новый уровень рекурсии мы можем контролировать с помощью переменной (nivel_de_recursividad) нашей программы.
Мы определили функцию “paintRecursivo” (Я позвонил из метода “краска”) и в этот момент мы треугольника базы, и рекурсия. Функция вычисляет вершины треугольника, рисует фигуру и называет себя три раза, один для каждого из треугольников.
В каждом вызове функция уменьшает значение рекурсии, так что, когда она равна нулю отделки проведение рекурсии.
импортировать java.applet.Applet; импортировать java.awt.Graphics; /** * @ Автор Jose Juan Алиаги */ общественность класс MainApp расширяется Апплета { удвоится xp1 = 300; удвоится yp1 = 300; удвоится XP2 = 10; удвоится yp2 = 300; удвоится sin60 = Math.sin(3.14/3.); десятичного nivel_de_recursividad = 6; общественность MainApp() { } общественность статический аннулированию основной(Строка[] аргументы) { } общественного недействительными краска(Графика г){ paintRecursivo(грамм,nivel_de_recursividad,xp1, yp1, XP2, yp2); } частных недействительным paintRecursivo(Графика г, десятичного я, удвоится XP12, удвоится yp12, удвоится xp22, удвоится yp22 ) { удвоится DX =(xp22-XP12)/2.; удвоится два =(yp22-yp12)/2.; удвоится XP32 XP12 DX = 2 * значение * sin60; удвоится yp32=yp12 dy 2*dx*sin60; удвоится dx1 =(xp22 XP12)/2.; удвоится dy1 =(yp22 yp12)/2.; удвоится dx2 =(XP32 xp22)/2.; удвоится dy2 =(yp32 yp22)/2.; удвоится dx3 =(XP12 XP32)/2.; удвоится Dy 3 =(yp12 yp32)/2.; если(я<= 0){ g.drawLine((десятичного)XP12,(десятичного)yp12,(десятичного)xp22,(десятичного)yp22); g.drawLine((десятичного)xp22,(десятичного)yp22,(десятичного)XP32,(десятичного)yp32); g.drawLine((десятичного)XP32,(десятичного)yp32,(десятичного)XP12,(десятичного)yp12); } еще{ paintRecursivo(грамм,I-1, XP12, yp12, dx1, dy1); paintRecursivo(грамм,I-1, dx1, dy1, xp22, yp22); paintRecursivo(грамм,I-1, dx3, dy3, dx2, dy2); } } }
Должно быть связано добавить комментарий.