Мы видели, первая программа под названием “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);
}
}
}


Должно быть связано добавить комментарий.