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

Иллюстрации

Показать все

Реферат

 

УСТРОЙСТВО ИНТЕРПОЛЯЩШ ДЛЯ ОТОБРАЖЕНИЯ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ , содержащее генератор тактовых импульсов, вычитакядий счетчик длины вектора, первый коммутатор, блок вычитания , реверсивньш счетчик абсциссы , реверсивный счетчик ординаты, триггер знака-абсциссы, триггер зна .ка ординаты, два регистра и накапливающий сумматор., причем вход знака абсциссы устройства соединен с входом триггера знака, абсциссы, выход которого соединен с управляющим входом реверсивного счетчика абсциссы, выходы которого подключены к выходам абсциссы устройства, вход знака орди:наты устройства соединен с входом триггера знака ординаты, выход кото-, рого соединен с входом управления на, правлением счета реверсивного счетчика ординаты, выходы которого соединены с выходами ординаты устройства, входы абсолютного значения абсциссы и входы абсолютного значения ординаты устройства соединены соответственно с входами уменьшаемого и вычитаемого блока вычитания и первой и второй группами информационных входов первого комм /татора, выходы которого соединены с установочными входами вычитающего счетчика длины вектора, выход обнуления которого соединен с входом останова генератора тактовых импульсов, а счетный вход - с выходом генератора тактовых импульсов, . выход которого подключен ко входу синхронизации накапливающего сумматора , отличающееся тем, что, с целью повышения точности ин-. терполяции, в него введены четьфе элемента И, два элемента ИЛИ, элемент НЕ, два блока элементов НЕ, второй, третий, четвертый и пятый коммутаторы, сдвигатель и триггер знака разности, причем выход знака М . блока вычитания соединен с управляюими входами первого, второго, третьего и четвертого коммутаторов и входом триггера знака разности, выход которого соединен с первым управляющим входом пятого коммутатора и входом элемента НЕ, выходы разности 05 4ik блока вычитания соединены с первой группой информационных входов второ СО 1C го коммутатора и через первый блок элементов НЕ - с первой группой информационных входов третьего коммутатора , входы абсолютного значения абсциссы устройства соединены с второй группой информационных входов третьего коммутатора и первой группой информационных входов четвертого коммутатора , входы абсолютного значения ординаты устройства соединены с второй группой информационных входов второго и четвертого коммутаторов, выходы второго коммутатора соединены с входами первого регистра, выходы

СОЮЗ СО8ЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИН

4(51) G 06 F 15/353

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К ABTOPGHOMY СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЬ Й НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3689246/24-24 (22) 13. 01. 84 (46) 30. 06 . 85. Бюл. У 24 (72) Н.А. Кунец, Л. П. Варламова, А.А.Мовчан и С.И.Ветренко (53) 681. 32 (088. 8) (56) Авторское свидетельство СССР

У 395839, кл. G 06 F 15/353, t 972.

У.Ньюмен и P. Спрулл. Основы интерактивной машинной графики, M

Мир, 1976, с. 65-66. (54)(57) УСТРОЙСТВО ИНТЕРПОЛЯЦИИ

ДЛЯ ОТОБРАЖЕНИЯ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ, содержащее генератор тактовых импульсов, вычитающий счетчик длины вектора, первый коммутатор, блок вычитания, реверсивный счетчик абсциссы, реверсивный счетчик ординаты, триггер знака. абсциссы, триггер зна.ка ординаты, два регистра и накапливающий сумматор., причем вход знака абсциссы устройства соединен с входом триггера знака абсциссы, выход которого соединен с управляющим входом реверсивного счетчика абсциссы, выходы которого подключены к выходам абсциссы устройства, вход. знака орди-. наты устройства соединен с входом триггера знака ординаты, выход которого соединен с входом управления на-. правлением счета реверсивного счетчика ординаты, выходы которого соединены с выходами ординаты устройства, входы абсолютного значения абсциссы и входы абсолютного значения ординаты устройства соединены соответственно с входами уменьшаемого и вычитаемого блока вычитания и первой и второй группами информационных входов перÄÄSUÄÄ 1164732 А вого коми татора, выходы которого соединены с установочными входами вычитающего счетчика длины вектора, выход обнуления которого соединен с входом останова генератора тактовых импульсов, а счетный вход — с выходом генератора тактовых импульсов, выход которого подключен ко входу синхронизации накапливающего сумма— тора, о т л и ч а ю щ е е с я тем, что. с целью повышения точности ин-. терполяции, в него введены четыре элемента И, два элемента ИЛИ, элемент НЕ, два блока элементов НЕ, второй, третий, четвертый и пятый коммутаторы, сдвигатель и триггер знака разности, причем выход знака .блока вычитания соединен с управляюими входами первого, второго, тре- С тьего и четвертого коммутаторов и входом триггера знака разности, выход которого соединен с первым управляющим входом пятого коммутатора и входом элемента НЕ, выходы разности блока вычитания соединены с первой Ж. группой информационных входов второ- I4h го коммутатора и через первый блок элементов HE — с первой группой ин- фф формационных входов третьего коммута- Я тора, входы абсолютного значения абсциссы устройства соединены с второй группой информационных входов третьего коммутатора и первой группой информационных входов четвертого коммутатора, входы абсолютного значения ординаты устройства соединены с второй группой информационных входов второго и четвертого коммутаторов, выходы второго коммутатора соединены с входами первого регистра, выходы

64732

11

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

Изобретение относится к автоматике и вычислительной технике и может

- быть использовано в устройствах ото— бражения и преобразования данных, преимущественно в .устройствах отобра5 жения графической информации на матричных экранах, а также на электроннолучевых трубках (ЭЛТ).

Целью изобретения является повышение точности интерполяции, а .именно 10 улучшение равномерности толщины формируемых линий.

На фиг.1 приведена структурная схема предлагаемого устройства, на фиг.2 — алгоритм работы устройства.

Устройство содержит накапливающий сумматор 1, генератор 2 тактовых импульсов, реверсивный счетчик 3 абсциссы, реверсивный счетчик 4 ординаты, триггер 5 знака абсциссы, триг- щ гер 6 знака ординаты, блок 7 вычитания, первый коммутатор 8, второй коммутатор 9, третий коммутатор 10, четвертый коммутатор 11, триггер 12 знака разности, первый регистр 13, 25 второй регистр 14, вычитающий счетчик 15 длины вектора, первый блок 16 элементов НЕ,.второй блок 17 элементов НЕ, сдвигатель 18, первый элемент 19 И, второй элемент И 20, тре2 тий элемент 21 И, четвертый элемент 22 И, первый элемент 23 ИЛИ, второй элемент 24 ИЛИ, элемент 25 НЕ и пятый коммутатор 26.

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

Если при очередном изменении на единицу координаты с большим приращением пересечения с граничной прямой не произошло, то вычисленная точка отображается на экране, так как она отстоит от идеальной прямой не более чем на пол-единицы дискретности экрана, а если при очередном изменении координаты с большим приращением произошло пересечение с граничной прямой, то производится изменение на единицу и координаты с меньшим нриращением, и точка с единичными приращениями по обеим координатам ото,дУ Х вЂ” дХ Y =0 з 1164 бражается на экране, B процессе такого построения каждой координате вдоль большего приращения отрезка будет со= ответствовать одна точка, т.е. вектор будет иметь .равномерную толщину.

При описании работы устройства приняты следующие обозначения:

X Y координаты текущей точки вектора;

Я Х,ÇY — приращения отрезка по осям 10

Х и Y соответственно; в=/д х/-/ду/ — разность модулей приращений по осям Х и У, вычисляемая блоком вычита- 15 ния „

R„,R - содержимое первого и второго регистров соответст= венно;

S — содержимое накапливающего 20 сумматора;

c„„„c

С> — содержимое вычйтающего счетчика длины вектора, реверсивного счетчика абс- 25 циссы, реверсивного счетчика ординаты соответственно.

Алгоритм построения отрезка прямой линии, заданный приращениями вдоль ЗО координат Х и Y приведен на фиг.2.

Рассмотрим построение отрезка прямой линии, начинающейся в начале координат (Х=О, Y=O), расположенной в 1 октанте координатной плоскости (дХ О; AY)0; ДХ AY) .

Уравнение отображаемой. прямой запишем в виде

Уравнение граничной прямой параллельной отображаемой и отстоящей на пол-единицы дискретности экрана- ниже ее выглядиФ следующим. образом: дХ

ДУХ-ДХУ- — = 0

2 дХ

Рассмотрим выражение Б= YX-дХУ- —, 2

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

S сместится в отрицательную сторону, так как ЬУ-ЬХ<0.

Пересечение с граничной прямой соответствует S=O.

732 4

Формируемые на экране точки должны стремитвся к граничной прямой сверху, не переходя за нее.

Для этого на каждом шаге добавляют единицу к большей из координат (Х) и соответственно добавляют ДУ к текущему значению величины S до тех пор,, пока S O, но как только величина S станет положительной, добавляют единицу и. к меньшей координате (7), а величину S при этом изменяют на величину AY-AX.

В начальный момент при Х=О, Y=O

ХЬ получим S=- — .

Эта величина засылается в накапливающий сумматор перед началом построения.

Количество шагов вычисления и соответственно точек на отрезке равно величине большего из приращений (ЬХ).

Эта величина засылается в вычитающкй счетчик длины вектора перед началом построения.

Устройство работает следующим образом.

В исходном состоянии в вычитающем . счетчике 15 длины вектора хранится отрицательное число, свидетельствующее об окончании. построения предыдущего вектора.

Генератор 2 тактовых импульсов не выдает- тактовых импульсов. В реверсивном.счетчике абсциссы З,и в реверсивном счетчике 4 ординаты хранятся координаты начала вектора.

По входам знака абсциссы и входам знака ординаты в триггер 5 знака абсциссы и в триггер б знака ординаты записываются знаки приращений ЬХ и дУ соответственно, а модули этих при- ращений по входам абсолютного значения абсциссы и входам абсолютного значения ординаты поступают на входы блока 7 вычитания и первого 8, второго 9, третьего 10 и четвертого 11 коммутаторов. Знак разности В=/ЛХ//gY/, определяемый блоком вычитания

7, запоминается в триггере знака разности 12 и управляет засыпкой начальных параметров в первый 13 и второй 14 регистры, в вычитающий счетчик длины вектора 15 и.в накапливающий сумматор 1 через первый 8, второй 9, третий 10, четвертый 11 коммутаторы, .первый блок 16 элементов НЕ, второй блок 17 элементов НЕ и сдвигатель 18.

При этом в .вычитающий счетчик 15 дли1!64732 б ны вектора записывается модуль большего из приращений /аХ/ или /dY/; в первый регистр 13 записывается dY если приращение по оси Х большее, и /hX/-/dY/, если приращение по оси Х 5 меньше или равно приращению по оси Y во второй регистр 14 записывается

/bY/-/dX/ или hX в зависимости от знака разности /dX/"/Е7/; в накапливающий сумматор 1 первоначально засы- 10 лается число, равное полонине большего из приращений /dX/ или /hY/, взятых со знаком минус; После засылки начальных параметров начинается построение отрезка прямой линии. По- 15 ложительный знак числа в вычитающем счетчике 15 длины вектора разрешает выдачу тактовых импульсов генератором тактовых импульсов 2. В каждом цикле от содержимого вычитающего счетчика .15 длины вектора вычитается единица и построение отрезка продолжается до тех пор, пока содержимое счетчика не станет отрицательным.

В каждом цикле координата с большим приращением изменяется на единицу.

Это выполняется следующим образом.

Если В О, то триггер знака разности З0

12 установлен в "1" и тактовые импульсы с блока 2 через второй элемент И 20 и первый элемент ИЛИ 23 поступают на счетный вход реверсивного счетчика абсциссы 3. Если 6X70, то триггер зрака абсциссы 5 переключает реверсивный счетчик абсциссы 3 на суммирование, если 6Х<0, то счетчик переключается на вычитание. Если B(0, то триггер знака разности 12 сброшен в "О" и через элемент НЕ 25 на третий.элемент И 21 поступает разрешающий сигнал для прохождения тактовых импульсов через второй элемент ИЛИ 24 на счетный вход реверсивного счетчика ординаты 4.

Изменение координаты с меньшим;-. приращением производится только в

t том случае, если содержимое накапливанхцего. сумматора 1 8)0.

При этом, если В О, то тактовые импульсы с блока 2 через четвертый. элемент И 22 и второй элемент ИЛИ 24 поступают на счетный вход реверсивного счетчика ординаты 4.

Если .В(0, .то тактовые импульсы с блока 2 через первый элемент 19 И и первый элемент 23 ИЛИ поступают на счетный вход реверсивного счетчика абсциссы 3.

Цикл заканчивается вычислением нового значения содержимого накапли.вающего сумматора 1 и записью точки с координатами Х и Y хранящимися в реверсивном счетчике абсциссы 3 и реверсивном счетчике ординаты 4 соответственно. Координаты точки передаются в индикатор через вьиоды абсциссы и выходы ордннаты устройства.

Новое значение содержимого накапливающего сумматора 1 вычисляется следующим образом. Если текущее значение S<0, то к прерыдущему содержи мому сумматора 1 прибавляется абсолютная величина меньшегс из приращений координат, а если 370, то к предыдущему содержимому сумматора прибавляется разность абсолютных величин меньшего и большего приращений координат. (Эта величина меньше или равна нулю). Величины меньшего из приращений координат отрезка и

I разность между меньшим.и большим приращениями хранятся в первом 13 и вто" ром 14 регистрах и поступают на вход накапливающего сумматора 1 через пятый коммутатор 26, управляемый от триггера 12 знака разности.н накапливающего сумматора 1.

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

11б4732

1164732

Составитель А.Чеканов

Редактор Л.Авраменко Техред М.Гергель Корректор С. Черни

Заказ 4189/47 Тираж 710 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д.4/5

Филиал ППП "Патент", г.ужгород, ул.Проектная, 4