Устройство для формирования растрового изображения кривых

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике и может быть использовано при проектировании устройств отображения графической информации . Цель изобретения - расширение области применения устройства путем формирования кривых, несимметричных относительно начала координат . Это достигается подключением счетного входа и второго выхода счетчика 11 узлов интерполяции соответственно к десятому выходу и второму адресному входу блока 1 управления. Множество узлов интерполяции, представленных указателями элементов, создают образ функции, который в соответствии с вводимым множителем позволяет отобразить реальную функцию . Доступ к элементам осуществляется в соответствии с содержанием хранящихся в них данных. Изобретение позволяет значительно расширить применение способа кусочно-линейной аппроксимации за счет точного, масштабируемого отображения функции. 5 ИЛ. i (Л

СОЮЗ СОВЕТСНИХ соцИАлистичесних

РЕСПУБЛИН (д) G 09 G 1 16 1/08

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

r ПО ИЗОБРЕТЕНИЯМ И СПНРЫТИЯМ

ПРИ ГКНТ СССР списочник изовретЕниЯ

И АВТОРСКОМ,К СВИДЕТЕЛЬСТВУ (21 ) 4167255/24 — 24 (22) 26.12.86 (46) 23.12.88. Бюл. Р 47 (71) Научно-производственное объединение "Автоматика" (72) В.А. Распономарев (53) 681.327.11(088.8) (56) Словарь по кибернетике./Под ред. акад. В.N. Глушкова. Киев, )979, с. 211 .

Авторское свидетельство СССР

lO 991486, кл. G 09 G 1/08, 1981. (54) УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ

РАСТРОВОГО ИЗОБРАЖЕНИЯ КРИВЫХ (57) Изобретение относится к вычислительной технике и может быть использовано при проектировании устройств отображения графической информации. Цель изобретения — расширение области применения устройства,.SU„„1446646 А 1 путем формирования кривых, несимметричных относительно начала координат. Это достигается подключением счетного входа и второго выхода счетчика 11 узлов интерполяции соответственно к десятому выходу и второму адресному входу блока 1 управления.

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

5 ил.

144бб46

Изобретение относится к вычислительной технике и может быть использовано при проектировании устройств отображения графической информации.

Цель изобретения — расширение области применения устройства путем формирования кривых, несимметричных относительно начала координат.

На фиг. 1 представлена блок-схема !0 устройства; на фиг. 2 — структура блока управления; на фиг. 3 — отображение функции в дискретном пространстве; на фиг. 4 и 5 — алгоритм работы блока управления. !5

Устройство содержит блок 1 управления, блок 2 деления, блок 3 регистров, счетчик 4 адреса, мультиплексор 5, регистр 6, триггер 7, блок 8 постоянной памяти, блок 9 суммирова- 20 ния„ линейный интерполятор 10 и счетчик 11 узлов интерполяции.

Блок 1 управления предназначен для работы блоков устройства.

Назначение входных сигналов Х 25 (источник сигнала) блока управле-. ния.

Сигнал "Пуск" по входу.12 предназначен для организации интерполятора. 30

Сигнал "Признак последнего регистра" по первому информационному входу 13 соответствует номеру последнего регистра в блоке 3 регистров.

Сигнал "Абс./орд." по второму информационному входу 14 определяет вычисление устройством абсциссы или ординаты.

Сигнал ."Первый узел" по третьему информационному входу 15 необходим 40 для занесения параметров координат первого аппроксимирующего отрезка прямой (начала и конца ), а сигнал

"Последний узел" по четвертому информационному входу 16 — для заверше- 45 ния интерполяции..

Сигнал Конец интерполяции прямой" по входу 17 сигнала конца интерполяции свидетельствует о готовности линейного интерполятора 10 к работе.

Назначение выходных сигналов Y (приемник сигналов) блока управления.

На первом выходе 18 сигнал "Запись М" организует запись содержимого 55 регистров в блок 2 деления.

На втором выходе 19 сигнал "Сдвиг

М" осуществляют сдвиг кода в блоке 2 деления.

На третьем выходе 20 по сигналу

"Запись" производится запись содержимого блока 2 деления в блок 3 регистров.

На четвертом выходе 2! по сигналу

"+" счетчик 4 адреса изменяет свое состояние на единицу.

На пятом выходе 22 сигнал "Сброс" устанавливает в исходное состояние счетчик 4 адреса, триггер 7, счетчик 11 узлов интерполяции.

На шестом выходе 23 по сигналу

"T х/у: = Т х/у" триггер 7 изменяет состояние на противоположное.

На седьмом выходе 24 по сигналу

"Код слагаемого алгебраической суммы", начиная с нулевого, обеспечивается формирование адреса блока 8 постоянной памяти.

На восьмом выходе 25 по сигналу

"Сброс $М" устанавливается в нулевое состояние блок 9 суммирования, а по сигналу "Ввод слагаемого код из блока 3 регистров, выделяемый указателем, заносится в блок 9 суммирования, изменяется на единицу после формирования сигнала "Ввод слагаемого" °

На девятом выходе 26 по сигналу

"Запись d X" значение абсциссы заносится в линейный интерполятор 10, по сигналу "Запись ЛY значение ординаты заносится в линейный интерполятор 10, а по сигналу "Координата прямой первая/вторая" интерполятор 10 необходим для идентификации начала и конца отрезка прямой.

На десятом выходе 27 сигнал "Счет

+1" изменяет состояние счетчика Il узлов интерполяции на единицу.

Блок 2 деления предназначен для деления кода множителя на 2,4,8,16 и т.д. в зависимости от требуемой точности определения координат узлов интерполяции отображаемой функции.

Блок 3 регистров предназначен для хранения сдвинутых значений кода множителя функции.

Счетчик 4 адреса предназначен для формирования адреса регистра и признака последнего регистра в блоке 3 регистров.

Мультиплексор 5 обеспечивает передачу информации с адресуемого входа на выход.

Регистр 6 предназначен для хранения кода множителя функции на время ее отображения.

М РАКС х„

Х(М) n= M м<ккс (г) з

144664

Триггер 7 осуществляет выбор абсциссы или ординаты вычисляемых координат, в исходном состоянии производит выбор абсциссы, изменяет состояние на противоположное после вычис5 ления абсциссы (ординаты) и занесения ее величины в линейный интерполятор !О.

Блок 8 постоянной памяти предназначен для формирования адреса коммутируемого входа мультиплексора 5 для передачи на его выход соответствующего слагаемого алгебраической суммы с целью определения проекции узла интерполяции на оси координат.

Блок 9 суммирования предназначен для сложения величин, необходимых для определения проекций узлов интерполяции на оси координат. 20

Линейный интерполятор 10 представляет собой устройство для интерполирования прямой, определяемой координатами конечных точек отрезка, в заданном дискретном пространстве. Счет- 25 чик 1! узлов интерполяции предназначен для подсчета единичных импульсов и формирования кода интерполируемого узла. Количество узлов определяется заданной функцией. 30 функционирование блока 1 управления осуществляется в соответствии с алгоритмом, представленным на фиг.4 и 5.

По сигналу "Пуск" Х блоки 4, 7 и !

1 устанавливаются в исходное состояние, в блок 2 деления заносится содержимое регистра б.

Сигналами "Сдвиг N" 4 и "Запись 5 осуществляется сдвиг кода и полученный результат запоминается. Счетчик

4 адреса изменяет свое состояние на единицу под воздействием сигнала "+1".

При отсутствии "Признака последнего регистра" 7 процесс сдвига повторяется„ а при его наличии начинается процесс вычисления абсциссы (ординаты) уз в интерполяции. Элементом алгоритма(осуществляется установка признака ервой координаты (первый .отрезок прямой, аппроксимирующий функцию, задается координатами начала и конца отрезка). Коду слагаемого алгебраической суммы присваивается нулевое значение. 55

После завершения вычисления абсциссы (ординаты) и в соответствии с сигналами "Конец инте поляции прямой" Qlk) и "Асс./орд," 15 Формируетс я сигнал занесения резуд тата в линейный интерполятор 10 (!6) и !8 .

Для изменения состояния триггера 7 на противоположное орми ется сигнал "Тх/у: = Tx/у 17 и 19

После вычисления абсциссы узла интерполяции осуществляется переход (ll7 Q9 на вычисление ординаты, который завершается пд условии обработки первого узла (20) переходом к второму узлу интерполяции 21) . Процесс формирования сигналов для вычисления параметров второго зла осуществляется по цепи 25, (9) и т.д.

Если узел интерполяции не первый

20, то после перехода счетчика узлов интерполяции к следующему узлу

22 производится запуск линейного интерполятора (23, и если узел интерполяции не последний Я, признак "Координата прямой пе}свая/вторая" изменяется на противоположный о

25, начинается процесс вычисления координат следующего узла 9 и т.д.

При запуске линейного интерполятора 10 (23), воспроизводящего последний отрезок прямой, аппроксимирующий функцию, произво тся sepmeние работы устройства 24, (26) .

При рассмотрении семеиства прямых, соединяющих узлы интерполяции с началом координат (фиг. 3), видно, что абсцисса (ордината ) узла интерполяции характеризуется двумя сомножителями Уд=O„-tel, Y>=0!! tgp, которые для различных узлов интерполяции имеют различные значения.

Для подчинения управлению коорди-. натами всего множества узлов интерполяции (масштабирования) введен множитель М, изменяющийся для заданного дискретного пространства от нуля до максимального значения. Для приведения координат узлов интерполяции к общему множителю проводят следующие преобразования

Макс где х„ у" " — абсцисса и ордината n-ro

h узла интерполяции функции максимального отображения.

Из выражений (1) и (2) видно, что для п-го узла интерполяции функции

6646

5 !44

М 9 (х) координате соответствует произведение двух сомножителей - одного постоянного для и-ro узла интерполяции и множителя М, изменяющегося гот нуля до максимального значения и постоянного для выражений (1) и (2).

Максимальное значение М "" определяется полем отображения или максимальными значениями абсциссы и ординаты отображаемой функции.

Правая часть выражений (1 1 и (2 ) может быть представлена в виде алгебраической суммы слагаемых, представляющих собой коды, получаемые путем .сдвига множителя М на определенное число разрядов х(М),- М (3)

2 где у„е 6а; 4 < 4D, 0=1,2,4,8...

М у(м) „-Z л

f„eF„, F>(D, D=1,2,4,8... (4)

Дпя определения рядов (3 1 и (4 ) для каждого узла интерполяции функции максимального значения производится аппроксимация абсциссы (ординаты) в соответствии с условиями приближения

Ixе с х„!(Я(п) ° (5) ! у"„"" -у „1 <З(п), (6) где Я(п) — заданная точность нахождения абсциссы (ординаты) для данного дискретного пространства; х„,у„ - анпроксимированные,значе- ния абсциссы и ордииатьц макс м«кс значения абсциссы H срди наты для Функции М "ц(х)

Аппроксимирующие значения определяются для множителя М " " в соответ= ствии с выражениями (1), (2) и {3), (4) соответственно. Приближение к условиям (5), (6) выполняется итеративно .

Основным аспектам данного метода является введение указателей элементов для каждого узла интерполяции, обеспечивающих представление выражений (3) и (4).

В соответствии с множеством элементов ряда макс ««<ма«с м««с

2 4 . 8

26

36

49

М м«кс: (7) указатели 1,2,3,...,n элементов множества (7) с учетом знака и условий (5) (6) при алгебраическом сложении определяют значение абсциссы (срдинаты) в соответствии с выражениями (3) и {4).

Множество узлов интерполяции, . представленных указателями элементов, создают образ .функции, который в соответствии с вводимым множителем позвспяет отобразить реальную функцию.

Доступ к элементам осуществляется в соответствии с содержанием хранящихся в них данных.

Прошивка блока 8 постоянной памяти осуществляется в соответствии с выражениями (3) и (4). Указатели задают но ряду элементов числового множества„ представленного максимальной величиной множителя и последующими его величинами, каждан из которых равна предыдущей, деленной на два, для каждого узла интерполяции.

Наиболее простой способ задания указателей элементов — это выявление задействованных весовых разрядов элементов двоичнсгс ряда при нредставлении максимальной величины абсциссы (срдинаты jв двоичном коде.

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

Использование прямых и инверсных весовых разрядов позволяет сократить в 2 раза и более указатели элементов, стоящие подряд.

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

Величина, соответствующая коду множителя N, заносится в регистр 6.

В зависимости от требуемой точности аппроксимации функции осуществляют сдвиг указанного кода на определенное число разрядов и полученный результат запоминают. При этом величина кода множителя М из регистра 6 подается в блок 2 деления, который производит деление множителя на 2, 4, 8, 18 и т.д. Величина, соответствующая результату деления, заносится в блок 3 регистров и запоминается.

С помощью счетчика 4 определяют код

1446646 адреса того регистра блока 3, в который записан результат деления. При этом счетчик 4 подсчитывает единичные импульсы, формируемые в процессе сдвига множителя М; При равенстве ко5 да числа, записанного в счетчике 4, числу регистров блока 3, счетчик 4 выдает сигнал, который подается в блок 1 управления. t0

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

По сигналам, формируемым блоком 1, триггером ? и счетчиком 11 узлов интерполяции, из блока 8 подается сигнал на вход мультиплексора 5. Ио- 20 мер указателя является адресом коммутируемого входа мультиплексора 5, обеспечивающего передачу фиксируемого элемента множества, который формируют путем сдвига множителя функции 25 на число разрядов, определяемое наибольшим указателем.

Коды, вьщелениые указателями, передаются на блок 9 суммирования, с помощью которого производят сложение 30 составляющих для определения кодов проекций узла иИтерполяции на оси координат в соответствии с выраже, нием (3) и округляют результат.

Результат, соответствующий коду 35 абсциссы первого узла интерполяции, заносится в линейный интерполятор 10.

Аналогично осуществляют определение кода ординаты и результат заносится в линейный интерполятор 10. 40

Триггер 7 при этом установлен в состояние вычисления ординаты.

Блок 1 управленйя формирует импульс, изменяющий код счетчика 11 узлов интерполяции на единицу, и уп- 45 равляющий сигнал, определяющий запись координаты конца (начала) отрезков в линейный интерполятор 10.

После вычисления и занесения в рполятор 10 абсциссы и 50 ординаты второго узла интерполяции блок 1 выдает в линейный интерполятор 10 сигнал, по которому начинается процесс отображения заданной функции. Одновременно производится определение абсциссы и ординаты третьего узла интерполяции.

Процесс формирования координат завершается после формирования счетчиком ll узлов интерполяции сигнала

"Последний узел", вычисления абсциссы и ординаты этого узла, занесения результатов в линейный интерполятор

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

Изобретение позволяет значительно расширить применение способа кусочно-линейной аппроксимации за счет точного, масштабируемого отображения функции

Формула изобретения

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

"Пуск" устройства, шестой выход блока управления соединен с тактовым входом триггера, выход которого под" ключен к первому адресному входу блока постоянной памяти и информационному входу блока управления,седьмой выход которого соединен с вторым адресным входом блока постоянной памяти, выход котороГо подключен к адресному входу мультиплексора, выход которого подключен к информационному входу блока суммирования, управляющий вход которого подключен к восьмому выходу блока управления, девятый выход и вход сигнала конца интерполяции которого соединены соответственно с управляющим входом и первым выходом линейного интерполятора, информационный вход которого подключен к выходу бло)446646

IQ у) (ю) (11) Ю

Ъ (N) ка суммирования, третий адресный вход блока постоянной памяти соединен с первым выходом счетчика узлов интерполяции, вход сброса которого и вход сброса триггера подключены к пятому выходу блока управления, информационный вход регистра является информационным входом устройства, о т л и ч а ю щ е е с я тем, что, с целью расширения области применения устройства путем формирования кривых, несимметричных относительно начала координат,, в нем счетный вход и второй и третий выходы счетчика узлов интерполяции соединены соответственно с десятым выходом и

t третьим и четвертым информационными входами блока управления.

1446646

1446646

Составитель И,Загинайко

Техред И.Ходанич -, Корректор Л

Редактор В.Данко

Производственно-полиграфическое предприятие, r. Ужгород, ул. Проектная, 4

Заказ 6751/55 Тираж 459 Подписное

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

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