Фрактал «магнитный маятник» - Использование приложения
ОГЛАВЛЕНИЕ
Использование приложения
Графический пользовательский интерфейс
Объяснение графического пользовательского интерфейса простое. Его нет! Все параметры модели читаются из файла INI, передаваемого в качестве единственного параметра программы. Приложение открывает единственное окно. Сразу начинается расчет. Так как ждать результата расчета скучно, была встроена интерактивность. Всегда, когда вы двигаете мышью, вычисляется траектория, начинающаяся с текущего положения мыши, и рисуется в окне приложения. Это игрушка, но помогает получить представление об итоговом изображении путем изучения определенных начальных точек и влияния маленьких изменений. Если вы вышли на данную статью, ища эффект бабочки, используйте указанную функцию и наблюдайте за изменением траектории.
Чтобы узнать, что приложение вычисляет в текущий момент, нажмите правую кнопку мыши, чтобы увидеть траектории для пикселей, вычисляющихся сейчас.
Рисунок 5: Окно приложения с производящимся расчетом
Приложение использует многоядерные процессоры путем порождения одного потока вычислений на каждое ядро и привязывая поток к этому ядру. Данный подход использует Windows API, а не OpenMP, что было бы проще, но требовало бы Visual Studio 2005.
Формат файла конфигурации
Формат файла конфигурации точно такой же, как и для всех файлов INI Windows. Надо знать разделы, ключи и значения файла INI.
Раздел |
Ключ |
Описание |
[Поле] |
COLS |
Число столбцов, используемых для дискретизации поля. Этот параметр задает ширину выходного изображения. |
HEIGHT |
Число строк, используемых для дискретизации поля. Этот параметр задает высоту выходного изображения. |
|
SIM_WIDTH |
Ширина моделируемого поля в единицах длины (метр). Установлен вCOLS,если не задан. |
|
SIM_HEIGHT |
Высота моделируемого поля в единицах длины (метр). Установлен вROWS,если не задан. |
|
WIN_WIDTH |
Ширина окна вывода в пикселях. Используйте этот параметр для корректировки ширины окна вывода при расчете изображений, превышающих размеры экрана. Установлен вCOLS,если не задан. |
|
WIN_HEIGHT |
Высота окна вывода в пикселях. Используйте этот параметр для корректировки высоты окна вывода при расчете изображений, превышающих размеры экрана. Установлен вROWS,если не задан. |
|
[Моделирование] |
THREADS |
Определяет число потоков, порождаемых для расчета. Если не задано, это число равняется числу процессоров, сообщенному системой. Все потоки выполняются на разных ядрах, давая увеличение производительности в многоядерных системах (около 40% на двухъядерном процессоре). |
FRICTION |
Коэффициенттрения. Сила трения пропорциональна этому значению за вычетом скорости маятника. |
|
PEND_HEIGHT |
Высота плоскости маятника над плоскостью магнита в пикселях. |
|
DELTA_T |
Размер шагов интегрирования по времени в единицах времени. Чем меньше, тем точнее; это параметрhв формуле интегрирования Бимена. |
|
MIN_STEPS |
Минимальное число шагов, которое должна иметь каждая траектория перед проверкой условия прерывания. |
|
MAX_STEPS |
Максимальное число шагов, которое может иметь траектория. При достижении этого числа моделирование останавливается, даже если маятник не остановился над магнитом. |
|
ABORT_VEL |
Если скорость маятника падает ниже этой величины, он считается остановившимся. |
|
COLOR_SCHEME |
Уравнение, определяющее пересчет цвета пикселя. Пересчет цвета зависит от длины траектории и от максимальной длины траектории. Это математическое выражение должно содержать переменныеlenиmax_len(смотрите рисунок 2). Пример:1/(exp(0.000001*(len*len))) |
|
BATCH_MODE |
Установите его в единицу для активации пакетного режима. В пакетном режиме приложение само завершает работу после окончания расчета. Это можно использовать для создания анимаций с применением сценариев командного процессора. |
|
[Источник...] |
TYPE |
Тип источника. ИспользуйтеINV_SQRилиLINEAR. Сила, вызываемая источником, пропорциональна расстоянию до маятника или обратному квадрату расстояния. Первый источник аналогичен закону Гука, а второй источник аналогичен закону Кулона(хотя это не закон Кулона, потому что речь идет о магнитах, а не электрических зарядах). |
COLOR |
Цвет источника. |
|
RAD |
Положения источников представлены в полярных координатах. Это расстояние источника от центра модели. |
|
THETA |
Положения источников представлены в полярных координатах. Это угол источника от центра модели. |
|
MULT |
Коэффициент пересчета силы. |
|
SIZE |
Размер источника. Условия прерывания проверяются, только если маятник ближе к источнику, чем многие пиксели. |
Примеры файлов конфигурации находятся в подкаталоге данных. Если хотите создать собственные файлы конфигурации, начните с изменения одного из существующих файлов.
Галерея
Наконец, ниже представлено несколько изображений, вычисленных с помощью приложения. Изображения были получены с использованием разных наборов параметров относительно силы и количества магнитов, а также положения точки крепления маятника.
Рисунок 6: Галерея, показывающая изображения на основе разных наборов параметров