Вход

Компьютерная графика «Фракталы»

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 303450
Дата создания 20 июля 2013
Страниц 14
Мы сможем обработать ваш заказ (!) 19 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
950руб.
КУПИТЬ

Описание

читаем содержание, становится все понятно =) ...

Содержание

Введение
История
Примеры самоподобных множеств
Применение фракталов
Теория
Алгоритм множества Мандельброта
Программа на С++
Скрины
Технические требования
Дальнейшее развитие работы
Заключение

Введение

Фрактал (лат. fractus — дробленый) — термин, означающий геометрическую фигуру, обладающую свойством самоподобия, то есть составленную из нескольких частей, каждая из которых подобна всей фигуре целиком. В более широком смысле под фракталами понимают множества точек в евклидовом пространстве, имеющие дробную метрическую размерность (в смысле Минковского или Хаусдорфа), либо метрическую размерность, строго большую топологической.
Следует отметить, что слово «фрактал» не является математическим термином и не имеет общепринятого строгого математического определения. Оно может употребляться, когда рассматриваемая фигура обладает какими-либо из перечисленных ниже свойств:
• Обладает нетривиальной структурой на всех шкалах. В этом отличие от регулярных фигур (таких, как окружность, эллипс, график гладкой функции): если мы рассмотрим небольшой фрагмент регулярной фигуры в очень крупном масштабе, он будет похож на фрагмент прямой. Для фрактала увеличение масштаба не ведёт к упрощению структуры, на всех шкалах мы увидим одинаково сложную картину.
• Является самоподобной или приближённо самоподобной.
• Обладает дробной метрической размерностью или метрической размерностью, превосходящей топологическую.
• Может быть построена при помощи рекурсивной процедуры.
Многие объекты в природе обладают фрактальными свойствами, например побережья, облака, кроны деревьев, кровеносная система и система альвеол человека или животных.
Фракталы, особенно на плоскости, популярны благодаря сочетанию красоты с простотой построения при помощи компьютера.

Фрагмент работы для ознакомления

Потоцкий «Рукопись, найденная в Сарагоссе») предисловия, скрывающие авторство (У.Эко «Имя розы») Т.Стоппард «Розенкранц и Гильденстерн мертвы» (сцена с представлением перед королём) В семантических и нарративных фракталах автор рассказывает о бесконечном подобии части целомуХ. Л. Борхес «В кругу развалин» Х.Кортасар «Жёлтый цветок» Ж.Перек «Кунсткамера» Фрактальные антенныИспользование фрактальной геометрии при проектировании антенных устройств было впервые применено американским инженером Натаном Коэном, который тогда жил в центре Бостона, где была запрещена установка на зданиях внешних антенн. Натан вырезал из алюминиевой фольги фигуру в форме кривой Коха и наклеил её на лист бумаги, а затем присоединил к приёмнику. Оказалось, что такая антенна работает не хуже обычной. И хотя физическиепринципы работы такой антенны не изучены до сих пор, это не помешало Коэну основать собственную компанию и наладить их серийный выпуск.Сжатие изображенийСуществуют алгоритмы для сжатия изображения с помощью фракталов. Они основаны на идее о том, что вместо изображения можно хранить отображение сжатия, для которого это изображение является неподвижной точкой.Децентрализованные сетиСистема назначения IP-адресов в сети Netsukuku использует принцип фрактального сжатия информации для компактного сохранения информации об узлах сети. Каждый узел сети Netsukuku хранит всего 4 Кб информации о состоянии соседних узлов, при этом любой новый узел подключается к общей сети без необходимости в центральном регулировании раздачи IP-адресов, что, например, характерно для сети Интернет. Таким образом, принцип фрактального сжатия информации гарантирует полностью децентрализованную, а следовательно, максимально устойчивую работу всей сети.ТеорияВ основе построения фракталов лежит некая нелинейная функция комплексного процесса с обратной связью z = z2+c поскольку z и с — комплексные числа, то z=x+iy, c=p+iq необходимо разложить его на х и у чтобы перейти в более реальную для простого человека плоскость:x(k+1)=x(k)2-y(k)2 + p, y(k+1)=2*x(k)*y(k) + q.Плоскость, состоящая из всех пар (x,y), может рассматриваться, как при фиксированных значениях р и q, так и при динамических. В первом случае перебирая по закону все точки (х,у) плоскости и окрашивая их в зависимости от количества повторений функции необходимых для выхода из итерационного процесса или не окрашивая (черный цвет) при привышении допустимого максимума повторений мы получим отображение множества Жюлиа. Если, напротив, определить начальную пару значений (x,y) и проследить ее колористическую судьбу при динамически изменяющихся значениях параметров p и q, то получаим изображения, называемые множествами Мандельброта.Предположим, что разрешающая способность экрана монитора или графического окна равна a x b точек, твипсов и т.п. и что он может быть одновременно раскрашен в K + 1 цветов, которые мы пронумеруем от 0 до K цветов (0 соответствует черному цвету). Алгоритм множества МандельбротаШаг 0: выбрать pmin, pmax, qmin, qmax, . Выбрать число M, которое считается бесконечно большим. Положить dp=(pmax-pmin)/(A-1), dq=(qmax-qmin)/(B-1). Для всех пар (Np, Nq), где Np=0,1... A-1 и Nq=0,1...B-1 выполнить следующую процедуру.Шаг 1: Положить p(0)=pmin+Np*dp, q(0)=qmin+Nq*dq, k=0, x(0)=y(0)=0. x и у - обнуляются при каждом обращении к 1 шагу поскольку в процессе итерирования значения х и у изменяются. Шаг 2 (итерация): Вычислить x(k+1) и y(k+1), используя формулы x(k+1)=x(k)2*x(k)-y(k)2 + p, Увеличить счетчик k на 1 (k:=k+1).Шаг 3 (оценка): Вычислить r=x(k)2+y(k)2. Если r>M, то выбрать цвет k и идти на шаг 4. Если k=M, то выбрать цвет 0 (черный) и идти на шаг 4. r<=M, k<M. Вернуться на шаг 2.Шаг 4: Приписать цвет k точке экрана (p(n), q(n)) и перейти к следующей точке, начиная с шага 1.Программа на C++main.cpp#include "scene.h"#include <QtGui>#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); Scene w; w.setWindowTitle(QString::fromUtf8("Создатель фракталов")); w.resize(320, 240); w.show(); return a.exec();}scene.h#ifndef SCENE_H#define SCENE_H#include <QGLWidget>class Scene : public QGLWidget { Q_OBJECTpublic: Scene(QWidget *parent = 0);protected:void initializeGL();void resizeGL(int w, int h);void paintGL();void mouseReleaseEvent(QMouseEvent *event);void keyPressEvent(QKeyEvent *event);private: void draw(); void drawPoint(double x, double y); double crmin; double crmax; double cimin; double cimax; double zoom; double movex; double movey; double fwidth; double fheight; int width; int height; int ncolors; QVector<QColor> colors; enum colorsets {RED, GREEN, BLUE, YELLOW, TEAL, VIOLET, WHITE, MULTI}; colorsets colorset;};#endif // SCENE_Hscene.cpp#include <QtOpenGL>#include <QtGui>#include <GL/gl.h>#include <GL/glu.h>#include <iostream>#include "scene.h"Scene::Scene(QWidget *parent) : QGLWidget(parent){}void Scene::initializeGL(){ qglClearColor(Qt::black); zoom = 1; movex = 0; movey = 0; crmin = -2.25; crmax = 0.75; cimin = -1.5; cimax = 1.5; colorset = MULTI; ncolors = 64;}void Scene::resizeGL(int w, int h){ width = w; height = h; glViewport(0, 0, width, height);}void Scene::paintGL(){glClear(GL_COLOR_BUFFER_BIT);draw();}void Scene::draw(){ fwidth = crmax-crmin; fheight = cimax-cimin; glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(crmin, crmax, cimin, cimax); glMatrixMode(GL_MODELVIEW); if(ncolors < 2) ncolors = 2; else if (ncolors > 256) ncolors = 256; colors.clear(); colors.reserve(ncolors); if(colorset == MULTI){ colors.resize(ncolors); for(int i=0; i<ncolors/2; i++){ int c = qSqrt(i)*qSqrt(ncolors)/ncolors*256; colors[i] = QColor(0, 0, c); colors[ncolors/2+i] = QColor(c, 0, 255-c); } } else{ for(int i=0; i<ncolors; i++){ int c = qSqrt(i)*qSqrt(ncolors)/ncolors*256; switch(colorset){ case RED: colors.push_back(QColor(c, 0, 0)); break; case GREEN: colors.push_back(QColor(0, c, 0)); break; case BLUE: colors.push_back(QColor(0, 0, c)); break; case YELLOW: colors.push_back(QColor(c, c, 0)); break; case TEAL: colors.

Список литературы

• Пайтген Х.-О. Рихтер Н.Х. Красота фракталов. М. 1993. с. 176. (94-8/639)
• Федер Е. Фракталы. Пер. с англ.-М.: Мир,1991.-254с.
• Шабетник В.Д. Фрактальная физика М., 1994. - 24 с. (96-8/1561)
• Бондаренко В.А.,Дольников В.Л. Фрактальное сжатие изображений по Барнсли-Слоану. Автоматика и телемеханика.-1994.-N5.-с.12-20.
• Ватолин Д. Применение фракталов в машинной графике. Computerworld-Россия.-1995.-N15.-с.11.
• http://fract.narod.ru
• http://ru.wikipedia.org/wiki/Фрактал
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00477
© Рефератбанк, 2002 - 2024