Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

КРУГОВОЙ ФРАКТАЛ -ОШИБОЧНАЯ ПРОГРАММА! ПАПА ЗибЕрт
Можешь обяснить подробно что как работает, и почему массу не задаем
Здравствуйте, Ильгиз. Математика - царица наук (Карл Гаусс). Изучение математики начинается с детского сада, когда нас учат считать и выполнять простые арифметические операции. Любой, даже самый простейший алгоритм будет связан с арифметическими...
Я хотел узнать математика это обязательно в программирование. Пять лет назад просто из любопытства я увлекся HTML потом изучил CSS и JvaScript потом изучил PHP и Java. Как то не задумывался и начал смотреть форумы и узнал что без математики не...
Все верно, но так же необходимо зайти в: Компоновщик -> Ввод -> Дополнительные зависимости Здесь необходимо нажать изменить и в Дополнительные зависимости прописать это: SDL2.lib SDL2main.lib SDL2test.lib Без этого не заработает. (MVS 2015)

Счетчики и рейтинг

Яндекс.Метрика Рейтинг@Mail.ru
Скриншот к примеру
Среда программирования: 
Eclipse
Статья по теме: 

Построить описанный фрактал. Срабатывает при запуске.

Код программы: 

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Toolkit;
 
import javax.swing.JPanel;
 
public class MyPanel extends JPanel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	static int iter = 6;//количество итераций
 
	public static int drawTSQ(Graphics g, Point A, int size, int iter) {
		//параметры А - координата левого верхнего угла квадрата
		//size - длина стороны
		//iter - кол-во итераций
		//g - экземпляр библиотечного класса, ответственного за отрисовку
		if(iter==1){//если итерация одна, просто рисуем заполненный прямоугольник
			g.fillRect(A.x, A.y, size, size);
			return 0;
		}
		int d=size/4; //вспомогательная переменная, четверть длины исходного квадрата
		Point M[]=new Point[4];//координаты левых верхних углов порожденных квадратов
		for(int i=0;i<4;i++){
			M[i]=new Point();
		}
		M[0].x=A.x-d;//левый верхний квадрат
		M[0].y=A.y-d;
		M[1].x=A.x-d;//левый нижний
		M[1].y=A.y+size-d;
		M[2].x=A.x+size-d;//правый верхний
		M[2].y=A.y-d;
		M[3].x=A.x+size-d;//правый нижний
		M[3].y=A.y+size-d;
 
 
		for(int i=0;i<4;i++){
			drawTSQ(g, M[i], size/2, iter-1);//вызываем рекурсивно для каждого квадрата
		}
		g.fillRect(A.x, A.y, size, size);//отрисовываем исходный квадрат
		return 0;
 
	}
 
	@Override
	protected void paintComponent(Graphics g) {
		// TODO Auto-generated method stub
		super.paintComponent(g);
		this.setBackground(Color.YELLOW);
		g.setColor(Color.BLACK);
		Toolkit kit = Toolkit.getDefaultToolkit();
		Dimension size = kit.getScreenSize();
		int h=size.height;
		int w=size.width;
		Point A=new Point(w/2-h/4,h/4);//координаты левого верхнего угла исходного квадрата
 
 
 
		drawTSQ(g, A, h/2-h/10, iter);//вызываем отрисовку фрактала
		repaint();
 
	}
 
}

Прикрепленный файлРазмер
Larionov_TSquare.zip5.72 кб