PIZiadas GRÁFICAS

PIZiadas GRÁFICAS

Мой мир дюйма.

Рекурсивные фракталы: Кривая Коха [JAVA]

curva-de-koch-triangulo-completo-150Мы видели, первая программа под названием “DrawWorld” мы ввели программирования JAVA ориентированной графики. Программирование Этот модуль помогает нам увидеть первые рекурсивные фрактальной: Треугольник Sierpisnki.

Давайте изменим это основная программа для генерации нового базового рекурсивном фрактальной: La curva de Kuch.

(Посмотреть и генерации рекурсивного фрактальной)

Это фрактал, который построен рекурсивно от прямой линии. Его стороны разделен на три равные части и центрального сегмента изменяется на две равные формирования 60 градусов с предыдущими, и с каждым.

La кривизны де Коха, также известный как снежинки является фрактальной которые могут быть получены различными методами, в качестве так называемого IFS o Функции системы повторному (детерминированным в), основанной на правилах системы, и т.д..

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

Коха кривая принадлежит самоподобных фрактальных[1], быть способ получения детерминированных.

curva-de-koch-0

Инициатор

curva-de-koch-1

Первая итерация

Фрактальной размерностью

La измерение объект помещается или топологические концепции, которая классифицирует объекты метрические пространства. Интуитивное понятие целом размеры пространства столкновения с так называемым фрактальной размерности, принимая фактические значения.

La Пеано сука кривая способна заполнить. У вас есть, следовательно, два измерения?, задаешься вопросом,.

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

Koch кривая имеет отношение S = 1/3, с N = 4, поэтому его фрактальной размерности:

D = ~ ln4/ln3 1.269

Если каждый из этих новых сегментов вновь разделились рекурсивно кривой, полученной Hoch

curva-de-koch-2

кривизны де Коха пункт N = 2

.

curva de koch para n=3

кривизны Коха пункт N = 3

curva de koch para n=4

кривизны Коха параметров N = 4

Если мы используем три линии, вместо одного качестве инициатора, равносторонний треугольник образная форма появляется классический снежинка, имя, с которым эта конфигурация называется фрактальной.

curva-de-koch-triangulo

кривизны Коха : снежинка

Генератор алгоритма

Мы определили функцию “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)/3.;
 удвоится два =(yp22-yp12)/3.;
 удвоится XX = XP12  3 * dx2dy * sin60;
 удвоится уу yp12  3 * ду / дх 2   * sin60;
 если(я<= 0){
      g.drawLine((десятичного)XP12,(десятичного)yp12,(десятичного)xp22,(десятичного)yp22);
 }
 еще{
     paintRecursivo(грамм,I-1, XP12, yp12, XP12   DX,yp12 dy);
     paintRecursivo(грамм,I-1, XP12   DX,yp12 dy,XX,уу);
     paintRecursivo(грамм,я-1, хх,уу,xp22-DX,yp22-dy);
     paintRecursivo(грамм,I-1, xp22-DX,yp22-dy,xp22, yp22);
 }
} }
JAVA

Курс JAVA