Энциклопедия по машиностроению XXL

Оборудование, материаловедение, механика и ...

Статьи Чертежи Таблицы О сайте Реклама

ДИСПЛЕЙНЫЕ ФАЙЛЫ Компиляторы дисплейных файлов

Обычно без особых затруднений оказывается возможным разработать набор макрокоманд для построения и переработки сегментированного дисплейного файла такой набор макрокоманд принято называть компилятором дисплейного файла. Однако задача усложняется, если необходимо задавать поворот и масштабирование частей изображения. Требуется введение простой системы обозначений, для задания таких преобразований, нужны также средства для обнаружения и удаления частей изображения, оказывающихся в-результате преобразований вне экрана. Первая из этих проблем решается путем использования матриц для задания преобразований, вторая требует использования специальных алгоритмов отсечения частей изображения, выходящих за пределы экрана.  [c.19]


Все эти методы рассмотрены в части П. В гл. 5 обсуждаются основные характеристики компиляторов дисплейных файлов. В гл. 6 даются сведения о матричных преобразованиях, методы отсечения рассмотрены в гл. 7. В той же главе рассматривается преобразование кадрирования, при котором масштаб изображения определяется путем задания размера видимой части до и после масштабирования. Гл. 8 посвящена некоторым проблемам, связанным с созданием программного обеспечения для указанных преобразований.  [c.19]

КОМПИЛЯТОРЫ ДИСПЛЕЙНЫХ ФАЙЛОВ  [c.103]

Однако дисплейные файлы редко формируют таким способом, поскольку в этом случае программу можно было бы использовать только для представления заранее определенных изображений. Вместо этого пишут программы для ЭВМ, одна из функций которых состоит в генерировании дисплейного файла. Например, программа проектирования печатной схемы может быть предназначена для генерирования дисплейного файла по данным, как вычисляемым самой этой программой, так и введенным извне. Процесс генерирования программой, работающей в одном процессоре, другой программы для выполнения в другом процессоре, очень похож на процесс трансляции (компиляции). Назовем этот процесс компиляцией дисплейного файла. В данной главе рассматриваются компиляторы дисплейных файлов, т. е. такие программы, назначение которых состоит в генерировании дисплейных файлов.  [c.103]

Необходимо хорошо представить себе, какие функции выполняет компилятор дисплейного файла. Он принимает обращения к графическим макрокомандам из любого места программы. В общем  [c.103]

Данное обращение представляет собой команду на добавление к дисплейному файлу описания отрезка прямой, идущего из точки (100, 150) к точке (500, 600). На рис. 5.1 показан результат добавления к дисплейному файлу элементов, необходимых для проведения отрезка прямой. Были добавлены четыре дополнительные команды, и указатель конца дисплейного файла переместился вперед на четыре позиции. Здесь рассмотрен очень простой пример макрокоманда вычерчивания отрезка прямой относится к простейшим макрокомандам для компилятора дисплейного файла. Другие простейшие макрокоманды используются для отображения точек, вывода текста и очистки экрана. В данной главе будут рассмотрены также некоторые более сложные макрокоманды, которые может исполнять компилятор дисплейного файла.  [c.104]

В связи с этим компилятор дисплейного файла часто называют пакетом графических подпрограмм.  [c.104]

Компиляторы дисплейных файлов 105  [c.105]

Важной характеристикой компилятора дисплейного файла, особенно если он входит в интерактивную систему, является скорость компиляции. Рассмотрим в качестве примера программу для отображения на экране дисплея трехмерного объекта (например, машиностроительной детали) в виде двумерного плоского изображения, которая позволяет оператору поворачивать указанное изображение с помощью шарового указателя. Если в процессоре нет аппаратных средств для выполнения такого поворота, то при каждом перемещении шарового указателя программа должна компилировать новый дисплейный файл. Если до завершения компиляции шар будет еще дополнительно повернут, то возникнет новый запрос на компиляцию, попадающий в состояние ожидания окончания работы компилятора по генерации предыдущего дисплейного файла. При таком режиме компилятор используется почти непрерывно, и скорость его работы имеет большое значение. Если новые дисплейные файлы нельзя получать чаще, чем 10 раз в секунду, то движение детали на экране станет прерывистым, а если эта частота составляет один или менее одного кадра в секунду, то оператор может потерять всякий контроль над программой.  [c.106]


Компиляторы дисплейных файлов 107  [c.107]

Предположим также, что необходимо изменить содержание записи 2 Например, эта запись может описывать объект, который непрерывно поворачивается. В связи с этим невозможно просто заменить содержимое новыми дисплейными командами, поскольку существует значительная вероятность того, что дисплейный процессор попытается исполнять в процессе замены. Работа в таком режиме, когда один процессор формирует запись, а другой одновременно ее считывает, обычно приводит к неопределенным результатам, если не приняты особые меры предосторожности при формировании записи. При компиляции дисплейного файла такие особые меры предосторожности , например, могут означать, что запись можно считывать в следующий момент времени после окончания процесса добавления новой команды к файлу. Компилятор, удовлетворяющий такому требованию, обычно является большим и медленно действующим.  [c.107]

Компиляторы дисплейных файлов  [c.109]

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

В компиляторах дисплейных файлов могут использоваться многие другие типы систем распределения свободной памяти недостаток места не позволяет подробно остановиться на каждом из них. Читатель, желающий получить более подробную информацию по этому вопросу, может обратиться к работе [147].  [c.115]

Компиляторы дисплейных файлов 117  [c.117]

Деление на группы и элементы обеспечивает дополнительную гибкость при использовании компиляторов дисплейных файлов, что может иметь огромное значение для некоторых областей применения. По сравнению с методами, предложенными выше в данной главе, применение групп и элементов несколько затрудняет использование памяти из-за связной списочной структуры групп. Кроме того, дополнительные связи несколько уменьшают скорость регенерации. Однако эти затраты машинного времени часто вполне окупаются благодаря увеличению эффективности работы программы.  [c.122]

При формировании дисплейного файла на основании структуры данных совершаются два процесса во-первых, по структуре данных проходит алгоритм визуализации, т. е. программа вывода, генерирующая обращения к графическим макрокомандам во-вторых, используя эти обращения к макрокомандам, компилятор дисплейного файла формирует дисплейный файл. Суммарный результат этих двух процессов состоит в формировании второй структуры данных на основе первой. Часто во время этого процесса первоначальные данные изменяются до неузнаваемости. С другой стороны, легко можно представить случаи, когда дисплейный файл почти не отличается от исходной информации. Примером является программа вычерчивания следа перемещения указки устройства графического ввода по занесенным в память координатам последовательности точек.  [c.122]

Положим, что точки запоминаются по мере поступления координат от устройства ввода, причем они представляются как перемещения относительно предшествующей точки (рис. 5. 25). Программа вывода передает каждое из этих перемещений в компилятор дисплейного файла с указанием на компиляцию отрезка прямой соответствующей длины. Окончательный дисплейный файл будет представлять собой в основном последовательность команд для дисплейного процессора на вычерчивание векторов, как показано на рис. 5. 26. Единственное различие между исходными данными и соответствующей командой дисплейного файла состоит в том, что в дисплейном файле добавлен код операции вектор . Оба этих списка данных должны находиться в памяти ЭВМ, а объем памяти может быть недостаточен. Поэтому целесообразнее использовать один набор данных для обеих целей.  [c.122]

Составьте удобный для использования набор графических макрокоманд с целью их включения в компилятор дисплейного файла.  [c.125]

ВКЛЮЧЕНИЕ ОПЕРАЦИЙ ПРЕОБРАЗОВАНИЙ В КОМПИЛЯТОР ДИСПЛЕЙНОГО ФАЙЛА  [c.151]

В ГЛ. 6 И 7 рассматривался ряд разнообразных преобразований, которые можно производить с изображениями. К ним относятся кадрирование, масштабирование, поворот, сдвиг и общее преобразование с помощью однородной матрицы. В данной главе обсуждаются дополнительные мероприятия, которые следует осуществить в компиляторе дисплейного файла, описанного в гл. 5, для выполнения таких преобразований.  [c.151]

На рис. 8.8 показано, как эти процессы могут стыковаться с различными процессами компиляции дисплейного файла, рассмотренными в гл. 5. Если дисплейный процессор может производить все необходимые преобразования, то в этих четырех дополнительных процессах нет надобности в этом случае требуются только программа вывода и компилятор дисплейного файла (рис. 8.8, а). Если требуются более сложные преобразования, то дисплейный файл  [c.157]


Алгоритм обработки указывания одинаков как для диспетчера, так и для прикладной программы. Сильно влияет тип используемого компилятора дисплейного файла. Обнаружение указывания выполняется легче всего, когда для генерации дисплейного файла применяется программа преобразования, включающая операцию кадрирования. В этом случае ту же программу кадрирования можно использовать для выполнения операции указывания 1) вокруг положения пера описывается небольшой квадрат — область интереса 2) координаты этого квадрата подвергаются обратному преобразованию из координат экрана в координаты листа 3) с использованием указанного квадрата в качестве окна производится формирование дисплейного файла, но без выполнения конечной фазы — генерации дисплейного кода 4) если оказывается, что какой-либо отрезок или элемент попадают в окно, то это означает, что указанный элемент обнаружен, процесс формирования файла прекращается и программе передается соответствующая информация об обнаруженном элементе.  [c.232]

Совершенно особый случай представляют собой системы для редактирования изображения. Прежде всего обычно их гораздо легче реализовать, чем другие виды систем. Простая система для редактирования изображения должна быть лишь несколько большей, чем диалоговый вариант одного из компиляторов дисплейных файлов,, описанных в гл. 5 и 8. Пользователь вводит с клавиатуры имя макрокоманды и некоторые параметры, и в дисплейном файле производятся соответствующие изменения. Может оказаться рациональным слегка изменить последовательность обращений например, поль-  [c.388]

В предыдущих главах шла речь о различных компонентах графической системы — компиляторе дисплейного файла, системе преобразований, программах прерывания и т. д. На рис. 17.1 впервые показана полная графическая система с разделением на компоненты.  [c.389]

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

Все команды должны иметь одинаковую фиксированную длину и содержать код операции с возможными модификациями и поле данных. В поле данных может содержаться либо информация для непосредственного использования процессором, либо адрес расположения необходимой информации. Команды циклов и условных переходов в дисплейном процессоре обеспечивают универсальность, но их трудно применять в компиляторах дисплейных файлов.  [c.556]

Компиляторы дисплейных файлов 103  [c.566]

При разработке систем преобразований, т. е. программного обеспечения для преобразований изображений, основной проблемой является скорость преобразования. Причина здесь та же, что приводилась в гл. 5 как аргумент в пользу разработки быстрых компиляторов, так как без обеспечения высокой скорости невозможно получить динамичную систему машинной графики. К сожалению, даже при весьма быстрой процедуре преобразования может потребоваться несколько секунд для преобразования очень сложного изображения поэтому, какой бы быстрой ни была создаваемая система преобразования, ее использование может привести к заметным задержкам в процессе генерирования дисплейного файла. Практически именно система преобразования является узким местом всего процесса. Чем быстрее выполняется преобразование, тем менее  [c.151]

Выполняемый компилятором дисплейного файла набор функций может быть использован в самых разнообразных прикладных программах. Входящие в состав компилятора подпрограммы могут быть сгруппированы в пакеты подпрограмм1, которые программист загружает совместно со своей программой. Кроме того, они могут быть включены в системную библиотеку, с тем чтобы их загрузка производилась автоматически.  [c.104]

Часто бывает удобно добавить данные к существующей записи без полного ее переформирования. Для этого в компилятор дисплейного файла можно внести дополнительную макрокоманду APPEND за счет некоторого добавочного усложнения.  [c.112]

Единственное изящное решение этой проблемы состоит в осуществлении дополнения таким образом, чтобы не исключать запись из цикла регенерации. Как это делается, показано на рис. 5. 13 на примере обращения к функции LINE, упомянутой выше. На рис. 5. 13, а показан стандартный способ добавления команд при использовании двойной буферизации. На рис. 5. 13, б показано, как те же команды добавляются к записи, которая одновременно регенерируется. Таким образом, включение макрокоманды APPEND в компилятор дисплейного файла влияет на реализацию всех графических функций компилятора. Кроме того, нужно отметить, что не все дисплеи допускают столь простое решение, как показанное на рис. 5, 13, б.  [c.113]

Простейший способ использования подпрограмм компилятором дисплейного файла состоит в том, что они рассматриваются как особая разновидность записи. После формирования такой записи ссылка на нее может быть сделана с помощью макрокоманды ALL  [c.117]

Используя одну или несколько из выбранных в упражнении 5.1 простейших графических макрокоманд, составьте программы или блок-схемы, показываюш,ие, как компилятор дисплейного файла генерирует коды дисплея. При этом используйте систему команд дисплея, приведенную в табл. 4.1 в качестве варианта используйте один из наборов табл. 4. 2 и рассмотрите, как это повлияет на результат упражнения 4.6. Особенно трудным является упражнение по написанию функции LINE для дисплея А из табл. 4.2, которая была бы пригодна для использования при выполнении макрокоманды APPEND.  [c.126]

Работа [123] является интересным примером компилятора дисплейного файла для работы с языком ФОРТРАН и дисплеем IBM 225O. Ознакомившись с этой статьей, представьте себе, как был реализован компилятор дисплейного файла. При этом используйте только ту информацию, которая содержится в статье. Особое внимание обратите на механизм работы макрокоманд PLOT и UNPLOT, а также на осложнения, связанные с выполнением оператора типа  [c.126]

Элементы изображения колеса необходимо подвергнуть последовательным пребразованиям ТхУ, Т- У, Т У и т. д. Как только компилятор дисплейного файла обнаруживает обращение к подпрограмме, программа трассировки сохраняет текущее преобразование в стеке преобразований, выполняет совмещение заданного в обращении к подпрограмме и текущего преобразований и затем подвергает элементы изображения вновь сформированному преобразованию.  [c.262]


При реализации метода процедур отображения предполагается минимальное изменение синтаксиса языка и, следовательно, транслятора необходимо только добавить процедуры для выполнения операций переноса, отсечения, совмещения преобразований и ввести генератор дисплейных кодов. Для обеспечения подобных возможностей с помощью макрокоманд необходимо написать компилятор псевдодисплейного файла, подпрограмму слежения за текущей позицией луча, а также все элементы системы преобразований. Кроме того, нужно предусмотреть, чтобы система распределения свободной памяти обеспечила потребности компилятора псевдодисплейного файла. Однако при этом нельзя вносить никаких изменений в язык. Если для работы системы не нужны какие-либо преобразования, то может использоваться более простой компилятор дисплейного файла, в котором функции графических макрокоманд ограничены формированием набора графических примитивов. В этом случае их применение является тривиальной задачей. Поскольку выше были подробно рассмотрены задачи макрокоманд при генерации дисплейного файла, то в этой главе только подведены итоги по вопросу о  [c.368]

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

Если у компилятора имеется возможность сегментирования дисплейного файла на записи, то для программиста необходимо добавить средства формирования отдельных записей. Эти средства как минимум должны позволять ему генерировать новые записи, переформировывать и стирать их. Кроме того, программист должен иметь возможность идентификации записей, которые нужно изменить или стереть. Это требует добавления средств для ижнования записей в той или иной форме.  [c.109]


Смотреть страницы где упоминается термин ДИСПЛЕЙНЫЕ ФАЙЛЫ Компиляторы дисплейных файлов : [c.106]    [c.216]    [c.104]   
Смотреть главы в:

Основы интерактивной машинной графики  -> ДИСПЛЕЙНЫЕ ФАЙЛЫ Компиляторы дисплейных файлов



ПОИСК



Включение операций преобразований в компилятор дисплейного файла

Компиляторы дисплейных файло

Компиляторы дисплейных файло

Компиляторы дисплейных файло памяти

Компиляторы дисплейных файло распределение свободной

М-файл



© 2025 Mash-xxl.info Реклама на сайте