Генератор векторов
Иллюстрации
Показать всеРеферат
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении устройств вывода графической информации. Целью изобретения является повышение быстродействия и точности генератора векторов. Для этого в генератор введены блок 1 вычисления параметров отрезков, суммирующий счетчик 4, блок 5 коммутации, элемент 6 задержки, мультиплексор 9, элемент 11 ИЛИ, второй элемент 14 И с соответствующими функциональными связей. Генератор векторов позволяет вычислять координаты узлов плоской равномерной сетки, имеющих минимальное отклонение от прямой линии, соединяющей два произвольных узла сетки. Последующая индикация найденных точек плоскости, находящихся в этих узлах, позволяет сделать линию видимой. Увеличение быстродействия достигается за счет того, что все подготовительные операции вынесены за пределы цикла генерации точек. 1 ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (51) 5 С 09 Ь 1/08
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К А BTOPCKOMY СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМ
ПРИ ГКНТ СССР (21) 4402178/24-24 (22) 01.04.88 (46) 23„05.90. Бюл. М 19 (72) А.А. Решетников, С.M. Терешко и А.А. Андреев (53) 681.327. 11 (088.8) (56) Авторское свидетельство СССР
Р 1300541, кл. С 09 С 1/08, 1985.
Авторское свидетельство СССР
У 1278926, кл. G 09 С 1/08, 1984.
-(54) ГЕНЕРАТОР ВЕКТОРОВ (57) Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении устройств вывода графической информации.Целью изобретения является повышение быстродействия и точности генератора векторов. Для этого в гене„„SU„„1566401 А 1 ратор введены блок 1 вычисления параметров отрезков, суммирующий счетчик 4, блок 5 коммутации, элемент 6 задержки, мультиплексор 9, элемент
ИЛИ 11, второй элемент И 14 с соответствующими функциональными связями. Генератор векторов позволяет вычислять координаты узлов плоской равномерной сетки, имеющих минимальное отклонение от прямой линии, соединяющей два произвольных узла сетки.
Последующая индикация найденных точек плоскости, находящихся в этих узлах, позвгляет сделать линию видимой. Увеличение быстродействия достигается sa счет того, что все подготовительные операции вынесены за предел цикла
6 генерации точек. 1 ил., 1 табл.
1566401
4„= 1х„- х,r, Д, = У - У1, и = lha- 4yl, а на пеРвом, втоРом и тРетьем управляющих выходах — коды знаков соответствующих разностей: „= в1дп(Х вЂ” Х4)
Д" = sign(Y>- .,)
g = sign(A„- Ag)
55
Здесь sign(X) — операция выделения знака числа Х:
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении устройств вывода графической информации.
Цель изобретения — повышение быстродействия и точности генератора векторов.
На чертеже представлена структурная схема генератора векторов ° I0
Генератор векторов содержит блок
1 вычисления параметров отрезка, первый 2 и второй 3 реверсивные счетчики, суммирующий счетчик 4, блок 5 коммутации, элемент 6 задержки, первый 7 и второй 8 сдвигающие ретистры, мультиплексор 9, накапливающий сумматор 10, элемент IUIH 11, триггер 12, первый 13 и второй 14 элементы И.
Позициями 15-18 обозначены cnoт- 2р ветстАенно первый, второй, третий и четвертый инд>ормационные входы генератора, позициями 19-2 1 — вход импульсов записи кода, вход импульсов пуска, вход тактовых импульсов гене- 25 ратора, позициями 22 и 23 — первый и второй выходы генератора.
Блок 1 вычисления параметров отрезка выполняет подготовительные операции для генерации линии, соединяюшеи точки плоскости Х<У1 и Х У .
Сущность работы блока сводится к перенэ у начала системы координат в первую граничную точку отрезка X,Ó и вычисления параметров, характеризующих наклон линии к осям этой системы координат. На первый-четвертый информационные входы блока 1 поступают коды граничных точек отрезка Х4 У1, Х У . На управляющий вход поступает 4р сигнал Запись кодов ° В результате
Работы блока 1 на его первом-третьем информационных выходах формиру ются соответственно величины:
1, если Х <0
sign(Õ)
0, если Х) О.
Величины „,, о в совокупности характеризуют наклон линии в системе координат с центром в точке Х,У, .
11ричем сочетание величин Й, ff определяет один из четырех квадрантов введенной системы координат, в котором находится линия, а величина Х дополнительно характеризует положение линии относительно диагонали квадранта. Значения величин dy,,,fy определяют знак приращения координаты Х и У соответственно. Величина h определяет компоненту отрезка, имеющую наибольшее по абсолютной величине приращение.
Блок управляется импульсом "Запись кодов, поступающим на вход устройства.
Реверсивные счетчики 2 и 3 предназначены для приема начальной точки
Х У и модификации ее в процессе генерации координат точек, составляющих отрезок. Запись начальной точки
Х У4 в счетчики 2 и 3 осуществляется по импульсу Запись кодов . Режим счета каждого счетчика определяется значением величин dq, g у
Суммирующий счетчик 4 предназначен для ограничения количества гене( рируемых точек. Перед началом счета в в него записывается число генерируемых точек, равное наибольшей иэ величин 4, Д .
Блок 5 коммутации предназначен для информационного согласования выходов блока 1 с входом регистра 8, установочным входом счетчика 4 и третьим входом мультиплексора 9, а также выходов элементов И 13 и 14 со счетными входами счетчиков 2 и 3. Блок 5 коммутации управляется сигналом с третьего выхода блока 1 (код знака величины Д ). Когда на управляющем входе
5-9 блока 5 присутствует сигнал логического нуля, информация с первогочетвертого информационных входов (5-1-5-4) поступает соответственно на первый-четвертый выходы (5-5-5-8).
При поступлении на управляющий вход сигнала логической единицы в блоке 5 осуществляется переключение входа 5- 1 на выход 5-6,входа 5-2 на выход 5-5, входа 5-3 на выход 5-8, входа 5-4 на выход 5-7.
5 15
Сдвигаю<чи р< гистры 7 и Я предназ«ачень< д <я хранения величин -2 Д и
2min(A>A«) < оответстненно. Последние ю получаютсн и результате записи со сдвигом нлеB<1 знач< нии Я и mltl($» A))
3(1 поступающих на входы ре гис тров, Îñîбенностью регистра 7 является то, что в его знаковом разряде постепенно находится код знака
Мультиплексор 9 предназначен для подачи на вход накапливающего сумматора 10 одной из трех величин, находящихся на его входах. Причем если триггер 12 находится в сброшенном состоянии, то на выход поступает информация с третьего входа мультиплексора. Если триггер 12 находится в единичном состоянии, то выдача информации с третьего входа мультиплексора блокируется и управление осуществля- . ется сигналом с инверсного выхода знакового разряда накапливающего сумматора 10. При этом по сигналу логического нуля (значение сумматора отрицательно) через мультиплексор на информационный вход сумматора проходит значение, хранящееся в регистре 8. Если на выходе сумматора уста.навливается сигнал логической единиць<, то на выход мультиплексора поступает содержимое регистра 7.
Накапливающий сумматор 10 предназначен для сложения и хранения вели- . чин, поступающих на его информационный вход. Суммирование выполняется при поступлении импульса на управляющий вход. Обнуление сумматора происходит по импульсу Запись кодов".
Элемент 6 задержки предназначен для согласования момента записи данных в блоки генератора с моментом окончания вычисления этих данных в блоке 1 и появлением их на соответствующих выходах блока 5, Остальные элементы схемы являются стандартными узлами вычислительной техники.
Генератор работает следукнцим образом.
На информационные входы 15-18 генератора поступают коды величин
Х,У<, Х,У соответственно. Одновре. менно на управляющий вход 19 генератора поступает сигнал Запись кодов". По этому сигналу в блоке 1 выполняются вычисления величин 4», и выделение знаковых разрядов
g„, g, f . .Одновременно по сигналу показано соответствие между входами и выходами в зависимости от зна25 чения Д .
Входы
5-2 5-3
5-1 5-4
О 5-5 5-6 5-7, 5-8
1 5-6 5-5 5-8 5-7
Значения таблицы соответствуют номерам выходов блока 5.
Сигналом Запись кодов, задержанным в элементе 6 задержки на вре4р мя, необходимое для выполнения вычислений в блоке 1 и переходных процессов в блоке 5, разрешается запись в регистры 7 и 8 кодов, поступающих с четвертого выхода 1-8 блока 1
45 и с второго выхода 5-6 блока 5. Запись в регистры 7 и 8 производится со сдвигом на один разряд влево. При этом в знаковый разряд регистра 7 заносится код знака "- . В результа5р те в регистр 7 записывается значение — 2A, а в регистр 8 — значение
2min(A»,Ay). Одновременно этим же сигналом с первого выхода 5-5 блока
5 в счетчик 4 заносится значение чис55 ла вычисляемых точек рав«ое шах(И»
ky ). Кроме того, через элемент ИЛИ
11 сигнал "Запись кодов" поступает на управляющий вход накапливающего сумматора 10, разрешая операцию сум6601 6
"Запись колон обнуляется накапливающий сумматор 10 и производится запись значений Х, У< в реверсивнь<е 1 счетчики 2 и 3 соответственно; После завершения вычислений в блоке 1 на его выходах появляются значения „, 4, !1, О,, g, о соответственно. у 1
Управляющими сигналами Х» и 8g с пятого и шестого выходов блока 1 устанавливается режим счета реверсивных счетчиков 2 и 3. Причем сигнал логической единицы устанавливает соответствующий счетчик в режим об15 ратного счета, а сигнал логического нуля — в режим прямого счета. Установленный режим счета сохраняется до конца вычислений всех точек отрезка °
20 Величина <) с третьего выхода блока 1 поступает на управляющий вход
5-9 блока 5 коммутации. В таблице
1566 01
1О
30
55 мир. Иниия. Поскольку триггер 12 находит Я н c6p(>UIUНИОм сОстОЯиии, cHI иал л и ического нуля разрешает прохождение 1шформации с третьего входа мультиплексора 9 на вход накапливающего сумматора 10 и, кроме того, блокирует прохождение сигнала через элемент И 14. Таким образом, в сумматоре в начальный момент времени находится пах(Й, Йу). На этом все подготовительные операции заканчиваются.
При поступлении сигнала "Пуск" на вход 20 триггер 12 устанавливается в единичное состояние. При этом сигнал логи 1еской единицы блокирует прохождение информации на выход мультиплексора 9 с его третьего входа. Одновременно этим же сигналом разрешается прохождение через элемент И 13 тактовой частоты с входа 21 генератора °
Тактовая частота поступает через блок
5 на опии из реверсивных счетчиков в
-.Оответствии с описанной выше схемой коммутации. Одновременно через элемент ICIH 11 импульсы тактовой частоты поступают на управляющий вход сумматора 10, разрешая тем самым выполнение операции суммирования величины, поступившей на информационный вход, с содержимым сумматора. Выборка очередного слагаемого осуществляется с помощью мультиплексора 9 в зависимости от знака суммы, Если в редыдущем такте сумма была отрицательной, то в текущем такте слагаемое выбирается из регистра 8, в противном случае из регистра 7. Одновременно с инверсного выхода знакового разряда сумматора сигнал через элемент И 14 посту-лает на вход 5-3 блока 5 и, далее, иа один из реверсивных счет-чиков. При этом сигналы тактовой частоты и знакового разряда сумматора 10 поступают на разные счетчики.
Таким образом, на выходах 22 и 23 генератора с тактовой частотой формируются координаты точек, образующих линию.
При переполнении счетчика 4 сигналом переполнения триггер 12 переводится в нулевое состояние и процесс вычислений заканчивается.
Предла.гаемый генератор имеет более высокое быстродействие в связи с тем, что все подготовительные операции лри расчете координат последовательности точек генерируемой линии вынесеиы 3R пре iе1ня цикла р; сче f;I координат очередной точки.
Тем самым сокращае T(я количество операций сложения и преобраз< ванин в Одном такте вычисления в 2-3 раза, что существенно уменьшает время затрачиваемое на вычисление каждой точки генерируемой линии.
Кроме то о, генератор имеет высокую точность вычисления координат точек линии, Это связано с тем, что применяемый алгоритм вычисления позволяет контролировать ошибку вычислений, Таким образом, генератор имеет высокое быстродействие и высокую точность вычислений координат точек генерируемой линии. Это позволяет использовать его в высококачественных быстродействующих системах вывода (отображения) графической информации, находя,цих все большее применение в системах автоматического проектирования и «втоматизированных системах управления, работающих в реальном масштабе времени.
Формула изобретения
Генератор векторов, содержащий первый и второй реверсивные счетчики, первый и второй сдвигающие регистры, первый элемент И, триггер, накапливающий сумматор, входы начальной установки первого и второго реверсивных счетчиков являются первым и вторым информационными входами генератора, а выходы — первым и вторым выходами генератора, управляющий вход первого реверсивного счетчика является входом импульсов Записи кодов генератора, вход "Установка в " 1" триггера является входом импульсов пусса генератора, первый управляющий вход накапливающего сумматора соединен с входом импульсов записи кодов генератора, отличающийся тем, что, с целью повышения быстродействия и точности генератора, он содержнт блок вычисления параметров отрезков, блок коммутации, элемент задержки, мультиплексор, суммирующий счетчик, элемент ИЛИ, второй элемент
И, первый и второй информационные и управляющий входы блока вычисления параметров отрезков соединены соответственно с первым и вторым информационными входами и входом импуль1566401
Составитель С. Каэаков
Техред Л.Олийнык
Редактор Н. Тупица
Корректор Т. Палий
Заказ 1224
Тираж 388
Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-издательский комбинат "Патент", г.ужгород, ул. Гагарина, 101 сов записи кодов генератора, третий и четвертый информационные входы блока вычисления параметров отрезков являются третьим и четвертым информационными входами генератора, первый, 5 второй, третий и четвертый выходы блока вычисления параметров отрезков подключены соответственно к первому и второму информационным и управляющему входам блока коммутации и информационному входу первого сдвигающего регистра, выход которого подключен к первому информационному входу мультиплексора, второй и третий информационные входы которого соединены соответственно с выходом второго сдвигающего регистрй и первым выходом блока коммутации, подключенным к входу начальной установки суммирующего счетчика,.управляющий вход которого соединен с выходом элемента задержки, подключенным к первому входу элемента ИЛИ и к управляющим входам первого и второго сдви- 25 гающих регистров, информационный вход второго сдвигающего регистра соединен с вторым выходом блока коммутации, третий и четвертый выходы которого соединены соответственно со счетными входами второго и первого реверсивных счетчиков, входы режима счета которых соединены с пятым и шестым выходами блока вычисления параметров отрезков, третий информационный вход блока коммутации соединен с выходом второго элемента И, первый вход которого соединен с выходом накапливающего сумматора, подключенным к первому управляющему входу мультиплексора, второй управляющий вход которого соединен с выходом триггера, подключенным к второму входу второго элемента И и к первому входу первого элемента И, второй вход которого является входом тактовых импульсов генератора, выход первого элемента И подключен к информационному входу суммирующего счетчика, к четвертому информационному входу блока коммутации и к второму входу элемента ИЛИ, выход которого подключен к второму управляющему входу накапливающего сумматора, выкод суммирующего счетчика подключен к входу "Установка в 0 триггера °