Дипломная работа: Визуализация инженерных и научных расчетов
Каждая из них равна единице если соответствующий режим включен и равна нулю в противоположном случае. Эти переменные используются для того чтобы не переключаться каждый раз в новый режим. Также они используются подпрограммой Animat() для определения, какой массив ей заполнять.
Полный список всех подпрограмм и команд, им соответствующих:
Подпрограмма | Команда |
Помощь | |
Stat() | status |
Help() | help |
Анимация | |
Animat() | anim |
Виды отображения | |
PlainX() | plainx |
PlainY() | plainy |
Plain() | plain3d |
Visu() | visual |
Служебные | |
Paus() | pause |
ChangeDelay() | delay |
ChangeK() | k |
- | newfile |
- | exit |
Команды newfileи exit не имеют своих подпрограмм – они выполняются оператором goton.
Разберем подпрограммы по видам:
1. Подпрограммы помощи: Help() и Stat(): в реализации этих подпрограмм нет ничего сложного – они просто выводят информацию с помощью оператора write.
2. Подпрограмма анимации: Animat() : эта подпрограмма реализована следующим образом – вначале спрашивается шаг моделирования, с которого необходимо начать анимацию, затем конечный шаг. После этого, если выбран один из одномерных случаев запрашивается соответствующая координата. После этого, в зависимости от текущего вида отображения меняется какой-либо массив, после чего происходит вызов подпрограммы
APIAVfavUpdate, потом с помощью пустого цикла идет задержка. Пустой цикл просто перебирает числа от 1 до значения переменной delay*106 . Это повторяется циклически для всех необходимых значений k.
3. Подпрограммы вида отображения: Visu(), Plain(), PlainX, PlainY(): в них сначала происходит проверка на текущий тип отображения. Если он не совпадает с тем, который выбран сейчас, то производится подготовка оболочки AV (масштабы шкал, их названия, тип отображения). Потом заполняется необходимый массив и вызывается favUpdate.
4. Служебные подпрограммы: ChangeK(): изменяет текущий шаг моделирования (переменная k), затем заполняет все массивы новой информацией, после чего вызывает favUpdate. ChangeDelay(): изменяет значение переменной delay, которая влияет на время задержки при анимации, а также на время задержки при исполнении команды pause. Paus(): подпрограмма сделана специально для скриптового режима. Она обеспечивает задержку. Состоит из пустого вложенного цикла.
Таким образом мы разобрали структуру и принципы работы программы console.exe. Приступим теперь к ее описанию.
1.5 Описание работы программы визуализации
В этом подразделе будут рассмотрены следующие вопросы:
· Терминология программы
· Формат файла со служебной информацией (pre-файла).
· Команды программы
· Скриптовый режим программы
· Запуска программы.
Терминология программы.
Прежде чем приступить к описанию работы с программой, необходимо пояснить несколько терминов, которые будут использоваться.
· k – шаг моделирования. Т.е. если у вас прибор промоделирован в нескольких режимах (например, при разных потенциалах на контактах полупроводника), то число k отражает номер этого режима.
· pre-файл – файл со служебной информацией (например, размерности массива)
· скрипт – последовательность команд (сценарий), записанных в текстовый файл, которые программа может интерпретировать.
· i – переменная в трехмерном массиве TDMas. Ее аналог – координата y
· j – переменная в трехмерном массиве TDMas. Ее аналог – координата x.
· Формат данных – формат по которому записываются данные в файл.
Формат pre-файла.
Pre-файл (от preset – предварительные установки)– это файл с установками, необходимыми для работы программы, а также с оформлением шкал.
Минимальная длина этого файла в строках – три, максимальная не ограничена, но читаться будут только первые восемь. Итак построчно:
1. Максимальное значение k. Формат: I2 (integer, две цифры)