Сайт о телевидении

Сайт о телевидении

» » Программы генераторы фракталов. В мире фрактальной графики. Другие действия с фрактальной графикой

Программы генераторы фракталов. В мире фрактальной графики. Другие действия с фрактальной графикой

Многоядерностью процессоров в нынешнее время никого не удивишь. Наоборот, все стараются чтобы их компьютер поддерживал как можно больше ядер, а следовательно быстрее работал, и это правильно.
Если касаться именно процессоров, то уже давно на рынке встречаются только два производителя - это Intel и AMD. И если вторые рассказывают про свои 8ми и 10-ядерные процессоры (имея ввиду что их много, а значит они мощнее), то первые имеют по 2 и 4 ядра, но делают акцент на свои потоки (не нужно писать гневных комментариев что ядер бывает и больше т.к. здесь и далее описываются процессоры для домашнего использования).

И если посмотреть на сравнительные графики производительности процессоров, то Вы можете увидеть, что 4-ядерный процессор (не все) от Intel будет обгонять 8-ядерный от AMD. Почему же так? Ведь 4 меньше чем 8, а значит должен быть слабее... Но если копнуть поглубже (не прям до кешей, частотой, шиной и т.д.), то можно увидеть одно интересное слово, которым часто описывают процессоры Intel - поддержка Hyper-threading .

Технология Hyper-threading ("гипертрендинг" в простонародье) была изобретена Intel`ом и используется только в их процессорах (не во всех). Я не буду особо глубоко вдаваться в её подробности, если хотите, то можете почитать про неё на . Данная технология позволяет как бы разделять каждое ядро надвое и в итоге вместо одного физического, мы имеем два логических (или виртуальных) и операционная система Windows думает что установлено два вместо одного.

Как узнать сколько потоков в процессоре?

Если Вы хотите узнать про конкретный процессор, то чаще всего в описании в магазинах указывают поддержку Hyper-threading либо вставляя это словосочетание, либо просто абревеатуру HT. Если же нет такого описания, то всегда можно воспользоваться самой правдивой информацией на официальной странице Intel`а http://ark.intel.com/ru/search/advanced/?s=t&HyperThreading=true
Рекомендую пользоваться только этой информацией ибо она самая точная.

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

Запускаете любым удобным способом (проще всего сочетание горячих клавиш Ctrl +Shift +Esc ) находясь в любом месте (хоть читая эту статью) и, если у Вас Windows 7, перейдите во вкладку Быстродействие.


Обратите внимание на верхнюю строку с загрузкой процессора и конкретно на количество "квадратов". Вот как раз сколько их будет - столько и будет всех ядер, включая все потоки. Если точнее здесь отображаются все логические/виртуальные ядра, а потоки как раз они и есть.

Если у Вас Windows 8, 8.1 или 10, то такой вкладки не будет, зато есть Производительность.


Здесь я выделил куда нужно обратить внимание. Кстати, я не зря кликнул по этому графику правой кнопкой мыши, потому что если выбрать пункт Логические процессы, то график изменится и будет похож на тот, который в Windows 7, т.е. будет 8 "квадратиков" и графиками загруженности по каждому ядру.
Если у Вас обратная картина, т.е. отображается не один, а несколько графиков, значит как раз и выбран данный пункт в свойствах самого графика.

Разумеется есть ещё несколько способов того, а в данном случае потоков.

Например можно вызвать свойство системы (сочетание клавиш Win + R и вводим systeminfo ) и увидеть там.

Но с покорением новых вершин показателей частоты, наращивать её стало тяжелее, так как это сказывалось на увеличении TDP процессоров. Поэтому разработчики стали растить процессоры в ширину, а именно добавлять ядра, так и возникло понятие многоядерности.

Ещё буквально 6-7 лет назад, о многоядерности процессоров практически не было слышно. Нет, многоядерные процессоры от той же компании IBM существовали и ранее, но появление первого двухъядерного процессора для настольных компьютеров , состоялось лишь в 2005 году, и назывался данный процессор Pentium D. Также, в 2005 году был выпущен двухъядерник Opteron от AMD, но для серверных систем.

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

Увеличение производительности за счёт многоядерности

Принцип увеличения производительности процессора за счёт нескольких ядер, заключается в разбиении выполнения потоков (различных задач) на несколько ядер. Обобщая, можно сказать, что практически каждый процесс, запущенный у вас в системе, имеет несколько потоков.

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


Возьмём для примера антивирусную программу. Один поток у нас будет сканирование компьютера, другой – обновление антивирусной базы (мы всё очень упростили, дабы понять общую концепцию).

И рассмотрим, что же будет в двух разных случаях:

а) Процессор одноядерный. Так как два потока выполняются у нас одновременно, то нужно создать для пользователя (визуально) эту самую одновременность выполнения. Операционная система, делает хитро: происходит переключение между выполнением этих двух потоков (эти переключения мгновенны и время идет в миллисекундах). То есть, система немного «повыполняла» обновление, потом резко переключилась на сканирование, потом назад на обновление. Таким образом, для нас с вами создается впечатление одновременного выполнения этих двух задач. Но что же теряется? Конечно же, производительность. Поэтому давайте рассмотрим второй вариант.

б) Процессор многоядерный. В данном случае этого переключения не будет. Система четко будет посылать каждый поток на отдельное ядро, что в результате позволит нам избавиться от губительного для производительности переключения с потока на поток (идеализируем ситуацию). Два потока выполняются одновременно, в этом и заключается принцип многоядерности и многопоточности. В конечном итоге, мы намного быстрее выполним сканирование и обновление на многоядерном процессоре, нежели на одноядерном. Но тут есть загвоздочка – не все программы поддерживают многоядерность. Не каждая программа может быть оптимизирована таким образом. И все происходит далеко не так идеально, насколько мы описали. Но с каждым днём разработчики создают всё больше и больше программ, у которых прекрасно оптимизирован код, под выполнение на многоядерных процессорах.

Нужны ли многоядерные процессоры? Повседневная резонность

При выборе процессора для компьютера (а именно при размышлении о количестве ядер), следует определить основные виды задач, которые он будет выполнять.

Для улучшения знаний в сфере компьютерного железа, можете ознакомится с материалом про сокеты процессоров .

Точкой старта можно назвать двухъядерные процессоры, так как нет смысла возвращаться к одноядерным решениям. Но и двухъядерные процессоры бывают разные. Это может быть не «самый» свежий Celeron, а может быть Core i3 на Ivy Bridge, точно так же и у АМД – Sempron или Phenom II. Естественно, за счёт других показателей производительность у них будет очень отличаться, поэтому нужно смотреть на всё комплексно и сопоставлять многоядерность с другими характеристиками процессоров .

К примеру, у Core i3 на Ivy Bridge, в наличии имеется технология Hyper-Treading, что позволяет обрабатывать 4 потока одновременно (операционная система видит 4 логических ядра, вместо 2-ух физических). А тот же Celeron таким не похвастается.

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

Когда речь заходит об игровой производительности, то здесь, чтобы комфортно чувствовать себя в большинстве игр необходимо 4 ядра и более. Но тут всплывает та самая загвоздочка: далеко не все игры обладают оптимизированным кодом под 4-ех ядерные процессоры, а если и оптимизированы, то не так эффективно, как бы этого хотелось. Но, в принципе, для игр сейчас оптимальным решением является именно 4-ых ядерный процессор.


На сегодняшний день, те же 8-ми ядерные процессоры AMD , для игр избыточны, избыточно именно количество ядер, а вот производительность не дотягивает, но у них есть другие преимущества. Эти самые 8 ядер, очень сильно помогут в задачах, где необходима мощная работа с качественной многопоточной нагрузкой. К таковой можно отнести, например рендеринг (просчёт) видео, или же серверные вычисления. Поэтому для таких задач необходимы 6, 8 и более ядер. Да и в скором времени игры смогут качественно грузить 8 и больше ядер, так что в перспективе, всё очень радужно.

Не стоит забывать о том, что остается масса задач, создающих однопоточную нагрузку. И стоит задать себе вопрос: нужен мне этот 8-ми ядерник или нет?

Подводя небольшие итоги, еще раз отмечу, что преимущества многоядерности проявляются при «увесистой» вычислительной многопоточной работе. И если вы не играете в игры с заоблачными требованиями и не занимаетесь специфическими видами работ требующих хорошей вычислительной мощи, то тратиться на дорогие многоядерные процессоры, просто нет смысла (

Математика буквально пронизана гармонией, и графика фрактальная - прямое тому подтверждение. Наука присутствует при создании каждого ее элемента, поэтому она отражает всю красоту.

Создатель фрактальной геометрии, профессор Мальдерброт, писал в своих книгах, что рассматриваемая графика представляет собой не просто повторяющиеся изображения. Это - структура любого существа или объекта на планете, живого и неживого. К примеру, ДНК является основой, одной интеграцией. Но если код начинает повторяться, тогда появляется человек.

Основы фрактальной графики

Что такое фрактальная графика? Это одна или несколько каждая из которых подобна другой. То есть, изображение составляется из одинаковых частей.

Само слово "фрактал" может употребляться, если фигура обладает одним или несколькими из этих свойств:

  • Нетривиальная структура. Когда рассматривается небольшая деталь всего изображения, то фрагмент схож со всем рисунком. Увеличение масштаба не приводит к ухудшению. Изображение всегда остается одинаково сложным.
  • Каждая часть рисунка является самоподобной.
  • Имеется математическая размерность.
  • Строится при помощи повторения.

Множество объектов природного или искусственного происхождения наделяются свойствами фракталов. К ним относятся кровеносные системы человека и животного, кроны и корни деревьев и так далее.

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

Как создать элемент фрактальной графики?

Создание фрактальной графики будет различаться в зависимости от ее классификации: геометрическая, алгебраическая или стохастическая. Несмотря на разницу, итог всегда будет одинаковым. Поскольку фрактальная графика начинается с геометрии, то следует рассмотреть ее создание на соответствующем примере:

  1. Задают условие. Это фигура, на основе которой будет строиться все изображение.
  2. Задают процедуру. Она преобразует условие.
  3. Получают геометрический фрактал.

Обычно нулевое условие представляется в виде треугольника.

Чтобы построить изображение, нужно применить две процедуры. Во-первых, DrawTriangle. Она строит треугольник по точкам, заданным пользователем. Во-вторых, DrawGenerator. Она указывает количество точек. Каждая процедура может повторяться несколько раз или бесконечно долго. Для определения этого показателя применяется численный аргумент n.

Другие действия с фрактальной графикой

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

  • Повороты и растяжения. Так увеличиваются отдельные детали рисунка, либо они принимают нужную пользователю форму.
  • Группирование объектов. Обычно эта функция применяется для того, чтобы назначить требуемый масштаб.
  • Преобразование цветов. Изображение можно окрасить в любой оттенок, задать тон.
  • Изменение формы всего объекта или отдельных деталей.

Нужно помнить, что изображения фрактальной графики в конечном итоге предсказать невозможно. Когда треугольник слишком увеличивается, то просмотр будет нереальным, пользователь увидит только черное окно. Когда желаемая текстура обнаружена, все изменения с ней нужно проводить в минимальном порядке, постоянно сохраняя допустимый вариант.

Программы для генерации

Нет такого человека, которого бы не привлекала фрактальная графика. Программы, участвующие в ее создании, представлены в большом количестве. Поэтому надо разобраться в наиболее подходящих для новичков.

Продукт Art Dabbler представляет собой лучший вариант, если пользователь раньше не имел дело с его налогами. Здесь можно не только освоить графику, но и научиться рисовать на компьютере. К другим преимуществам следует отнести небольшое количество занимаемой памяти и интуитивно понятный интерфейс.

Другая программа - Ultra Fractal. Она уже ориентирована на работу профессионалов, новичкам сложно будет в ней разобраться. Интерфейс здесь достаточно сложный, но производители выполнили его на примере обычного Photoshop. Если пользователь имел дело с этой программой, то в кнопках разберется быстро. Особенность Ultra Fractal заключается в том, что здесь выполняется не только графика фрактальная в качестве стандартного и обычного изображения, но и анимация. Формулы для составления прилагаются, но при необходимости пользователь сможет задействовать свою.

Существующие форматы

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

Если перед пользователем аппликация, большая часть которой выдержана в одном цвете, то разумно использовать форматы BMP и PCX. Здесь заменяется последовательность повторяющихся величин.

Диаграмму, которая очень редко, но все-таки используется во фрактальной графике, логично поместить в TIFF или GIF.

Часть форматов является универсальной. То есть, их можно просмотреть в большинстве редакторов. Но если пользователю важна качественная тогда нужно применять оригинальную программу.

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

Сферы применения

Применение фрактальной графики можно назвать фактически повсеместным. Более того, эта область постоянно расширяется. На данный момент можно отметить следующие области:

  1. Компьютерная графика. Реалистично изображаются рельефы и природные объекты. Это применяется в создании компьютерных игр.
  2. Анализ фондовых рынков. Фракталы здесь используются для того, чтобы отметить повторения, которые впоследствии сыграют трейдерам на руку.
  3. Естественные науки. В физике с помощью фрактальной графики моделируются нелинейные процессы. В биологии она описывает строение кровеносной системы.
  4. чтобы уменьшить объем информации.
  5. Создание децентрализованной сети. Посредством фракталов удается обеспечить прямое подключение, а не через центральное регулирование. Поэтому сеть становится более устойчивой.

На данный момент практикуется применение фракталов в производстве различного оборудования. Например, уже запущен конвейер по созданию антенн, отлично принимающих сигналы.

Примеры

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

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

Самым простым примером можно назвать кривую Коха. Во-первых, она не имеет конкретной длины, и ее называют бесконечной. Во-вторых, здесь полностью отсутствует гладкость. Поэтому невозможно построить касательную.

Плюсы и минусы

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

Достоинства фрактальной графики заключаются в нескольких факторах:

  1. Небольшой размер при масштабном рисунке.
  2. Нет конца масштабированию, сложность картинки можно увеличивать бесконечно.
  3. Нет другого такого же инструмента, который позволит создавать сложные фигуры.
  4. Реалистичность.
  5. Простота в создании работ.

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

Во-вторых, присутствуют ограничения в исходных математических фигурах. Некоторые изображения создать посредством фракталов не удастся.

Сходства и различия между фракталом и вектором

Векторная и фрактальная графика очень различаются между собой:

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

Несмотря на многообразие отличительных черт, эти два вида графики объединяет качество изображения. Оно остается неизменным, независимо от уровня масштабирования.

Трехмерная, векторная, растровая, фрактальная графика схожи в одном - все они широко используются в решении различных компьютерных задач. Чтобы получить действительно качественное изображение, нужно задействовать каждую из них.

Уникальные особенности фракталов

Графика фрактальная не имеет аналогов. Она уникальна в своем роде. Во-первых, один ее небольшой участок может рассказать сразу обо всем рисунке или изображении. Информация обо всем фрактале доступна, т.к. он является самоподобным.

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

Для того чтобы использовать фрактальную графику, не нужны никакие объекты, хранящиеся в памяти компьютера. Приступить к созданию можно, имея под рукой одну только математическую формулу.

Заключение

Графика фрактальная очень реалистична. Происходит это потому, что ее детали и элементы постоянно встречаются в окружении человека - горы, облака, морские берега, различные природные явления. Часть из них остается постоянно в одном и том же состоянии, вроде деревьев, каменистых участков. Остальные же непрерывно меняются, как мерцающее огненное пламя или кровь, двигающаяся по сосудам.

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

Фрактал - это фигура с дробной размерностью (не 2D и не 3D, а, например, 1,5D или 2,3D). Благодаря такой особенности фигура получается самоподобной, т.е. состоящей из множества частей, каждая их которых является уменьшенной копией всей фигуры в целом. Понятие фрактала в математику ввел американский ученый польского происхождения Бенуа Мандельброт (1924-2010). Вот классическая книга по фракталам (в формате djvu) основоположника этого направления математики.

Apophysis

Для генерации, отображения фракталов и сохранения их в виде картинки существует не один десяток компьютерных программ. Apophysis - одна из самых популярных. Существует базовый вариант программы (текущая весрия Apophysis 2.09) и продвинутая версия (Apophysis 7X). В последней больше настроек, разнообразнее шаблоны и параметры, по которым шаблон можно изменять. В обеих версиях можно, кроме статичной картинки, создавать видео (морфинг одного фрактала в другой). В версиии 7X предусмотрены плагины для создания трехмерных фракталов. Интерфейс программ совпадает на 90%.

Изображение фракталов строится по сложноым математическим формулам. От пользователя программы математический аппарат спрятан, но дана возможность менять различные параметры формул, которые влияют на трансформации и цвет конечного изображения. Один из самых простых сценариев работы с программой: а) выбрать шаблон, который ближе всего к тому, что вы хотите получить в итоге; б) в редакторе назначить дополнительные трансформации или изменить параметры заданных для этого шаблона трансформаций; в) отрегулировать цветовую гамму; г) сохранить на диск в стандартном графическом формате png с прозрачным фоном. Шаблоны называются флеймами (flames). Сохранение на диск называется рендерингом (render flame).

Flames

В любую поставку программы включается большая или не очень коллекция флеймов. Каждый флейм - это сохраненный набор параметров фрактала. Внешне пользователь может видеть флеймы в виде списка в левой части окна программы. Это список названий в виде текста или превьюшки. Переключаться между режимами отображения можно по кнопкам Classic view и Trumbnail view на панели инструментов. Клик на пункт этого списка приведет к тому, что в центральное окно программы загрузится этот шаблон и вы увидите сгенерированное изображение. Скорость отрисовки изображения зависит от установки качества. За это отвечает элемент селект на панели инструментов со значениями 5, 10, 15, 50... Чем выше выставлено качество, тем дольше отрисовывается картинка. А картинка будет перерисовываться часто, при каждом изменении хотя бы одного параметра, поэтому рекомендую выставить качество самое слабое 5, и повышать его разово, если до сохранения на диск хочеться какие-то детали все же рассмотреть.

В Apophysis 7X можно сгенерировать новый флейм по кнопке New. В обеих версиях можно воспользоваться флеймом скачанным из Интернета - просто откройте в программе файл с диска с расширением flame. Также вы сами можете создать флейм в виде файла на диске - в меню File подпункт Save Parameters.

Для новичков работа с программой - это не столько целенаправленное изменение параметров, сколько выбор между вариантами, которые сгенерировала сама программа. На панели есть кнопка Mutation - по ней случайным образом создаются 8 вариаций относительно текущего флейма. В открывшемся окне - 9 комбинаций, ваш первоначальный вариант - в центре. Можно задать программе параметр, который будет участвовать в мутациях.

Редактор

Самый интересный модуль программы - это редактор (Editor). В редакторе вы производите тонкую и тончайшую настройку формул (которые все равно скрыты, но вы работаете с их параметрами). В редакторе также можно создать свой фрактал с нуля (самая левая кнопка New Flame на панеле инструментов редактора). Кнопкой New Transform добавляется новая трансформация, которая отображается на главном поле редактора в виде треугольника. На закладке Variations для трансформации выбирается параметр и выставляется его значение, отличное от 0 (если 0, то параметр не участвует в формуле). В поле Weight выставляется вес трансформации (степень влияния на всю картинку). Подробнее о работе с редактором вы можете почитать .

Цвета

Цветовую гамму для вашего фрактала можно назначать как для отдельной трансформации (это делается в редакторе на закладке Colors), так и для всей композиции (кнопка Gradient на панели главного окна Apophysis). Градиенты также как и флеймы можно сохранять на диск и обмениваться ими между пользователями. На закладке градиента можно регулировать цветовую гамму, контрастность, яркость, размытость, насышенность...