Устройство для формирования окружностей

Иллюстрации

Показать все

Реферат

 

О:П И С А Н И Е

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

Союз Советских

Социалистических

Республик вн991486 (б1) Дополнительное к авт. свид-ву— (22) Заявлено 06.05.81(2т) 3288926/1d-24

Р У gN З с присоединением заявки МС 09 G 1/08

Государственный коиитет

СССР ио деааи изобретений и открытий (23) ПриоритетОпубликовано 2301.83.Бюллетень Ио 3 (И)УДМ 681 ° 327 (088. 8) Дата опубликования описания 23.01.83

I.;,, 1

Г» .т,р., . Фф

/ оа / (72) Авторы изобретения

B. A. Роспономарев

Специальное конструкторское б автоматики (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ

ОКРУЖНОСТЕЙ

\

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

Известны устройства для формирования окружностей в заданном дискретном пространстве, содержащие накопительный сумматор, комбинационный сумматор, реверсивные счетчики и устройство управления $1).

Недостатком данных устройств являются низкое быстродействие по сравнению с линейной интерполяцией и возможное накопление погрешности в теку15 щих значениях координат.

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

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

Целью изобретения является ловыще» рие точности устройства.

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

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

10 блока .управления, седьмой выход которого подключен к одному из входов 15 блока регистров, другим входом соединенного с другим выходом счетчика адреса, третьим входом — с выходом блока деления, а выходом — с одним из входов мультиплексора, другой вход которого подключен к выходу регистра, а третий вход мультиплексора соединен с выходом блока постоянной памяти, один вход которого подключен к восьмому выходу блока уп20

25 равления, .девятым выходом соединенного с входом второго триггера., выход которого соединен с третьим входом блока управления и с вторым входом блока постоянной памяти, третьим входом подключенного к выходу счетчика узлов интерполяции, соединенного c анализатором знака координат, соответствующим выходом подключенного к четвертому входу блока управления. блока 1 управления, а третьим входомк соответствующему выходу анализатора 8 знака координат, другой выход 65

На фиг. 1 представлена блок-схема предлагаемого устройства, на фиг.2определение проекции радиуса на ось абсцисс х ; на фиг. 3 — элемент ок- 40 ружности в дискретном пространстве," на фиг. 4 — таблица значений координат точек прямых, аппроксимирующих окружность для R = 100 мм, h

1 мм, 45

Предлагаемое устройство для формирования окружности содержит блок 1 управления, регистр 2, выход которого соединен с одним входом блока 3 деления, другой вход которого соединен с одним иэ выходов блока 1 управления, другим выходом и одним иэ входов подключенного к счетчику 4, третий выход блока I управления соединен с одним из,входов блока 5 регистров, второй вход которого подклю-55 чен к второму выходу счетчика 4 адреса, третий вход соединен с выходом блока 3 деления, а выход подключен к одному из входов мультиплексора 6, выход которого соединен с одним иэ 60 входов сумматора 7, другим входом подключенного к четвертому выходу которого и одни иэ входов соединены с блоком 1 управления, соответству-. ющим выходом подключенным к входу блока 9 постоянной памяти, выход которого соединен с вторым входом мультиплексора б, третьим входом подключенного к выходу регистра 2, второй вход блока .9 постоянной памяти подключен к выходу счетчика 10 узлов интерполяции, соединенного с анализатором 8 знака координат, третий вход блока 9 постоянной памяти подключен к выходу триггера 11, соединенного с блоком управления, соответствующим выходом подключенным к входу триггера 12) выход которого соединен с входом линейного интерполятора 13, другим входом подключенного к выходу сумматора 7, а третьим вхо,qoM и одним из выходов -.. к блоку 1 управления.

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

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

Блок 3 деления предназначен для деления кода радиуса окружности на

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

Счетчик 4 предназначен для формирования кода адреса соответствующего регистра блока 5 регистров °

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

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

Сумматор 7 предназначен для сложения величин, необходимых для определения кодов проекций радиуса на оси координат, Анализатор 8 знака координат предназначен для управления работой счетчика 10 узлов интерполяции и сумматора 7.

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

Счетчик 10 узлов интерполяции предназначен для подсчета единичных импульсов как в прямом, так и в обратном направлении.

Триггер 11 осуществляет выбор абсциссы или ординаты вычисляемой координаты. В исходном состоянии производит выбор абсциссы. Изменяет состояние на противоположное после вы- числения абсциссы (ординаты) и занесения ее в линейный интерполятор 13.

Триггер 12 предназначен для управления записью в линейный интерпо992486 лятор 12 координат начала и конца отрезка, В исходном состоянии управляет записью координаты начала отрезка.

Меняет состояние на противоположное после . вычисления ординаты узла интерполяции и занесения ее значения в линейный интерполятор 13.

Линейный интерполятор 13 представ ляет собой устройство для интерполирований прямой в заданном дискретном пространстве, заданной координатами конечных точек отрезка.

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

Аппроксимация дуги окружности про-. изводится путем построения определенного количества отрезков пряьых, соединяющих узловые точки О, 1, 2, и. Число отрезков прямых m, аппроксимирующих окружность, определяется в зависимости от требуемой точности построения окружности. Построение осуществляется для максимальной для данной аппаратуры окружности радиуса.

Координаты узловых точек определяются .путем вычисления абсцисс

Хи=Хи-- — „и, (4) и и 2 и! где Х„,=Rcos ай, С - угол, образованный радиусом окружности и осью абсцисс (d„36О/m)

6 Р„, D — 0; D = 1, 2, 4, 8, ° Ф ° и определения точного значения ординат у„, соответствующих абсциссам х по формуле и= - и =" и, И) где 0» Ки 1 - коэффициент, порядок которого зависит от значения радиуса и точности нахождения ординаты

g(h) для заданного дискретного пространства.

В качестве приближения к (2) определяются значения у„= R.g (3) где g - коэффициент, полученный путем разложения в ряд (4) где „Е Р„,; Fg D> 0 = 1ф 2г 4с

8, При этом должно соблюдаться условие

l .- . 1= (4), (й где 6(h) - заданная точность нахождения ординаты для данного щ скретного пространства. Приближение к условию - (5 } выполняется итеративно.

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

Выражения дпя определения кодов проекций радиуса на оси координат дх и dy в различных квадрантах окружности в дискретном пространстве имеют следующий вид

dX - - -(X> + 1), 2-й квадрант (6)

ЬУ = У1

dX = -(Х„+ 1), 3-й квадрант (7)

Ау (у„+ 1)

ЬХ= X

dy = - уи+ 1) 4-й квадрант (8)

Сигнал запуска, поступающий на вход блока 1 управления и регистр 2, устанавливает в исходное нулевое состояние счетчик 10 узлов интерполяции, счетчик 4, анализатор 8 знака координат., триггеры 11 и 12.

Код радиуса, записанный в регистр

2, поступает в блок 3 деления, который осуществляет деление кода радиуса окружности на 2, 4, 8, 16 и т.д., в зависимости от требуемой точности построения окружности, путем сдвига его на определенное число разрядов.

35 Результат деления после каждого сдвига запоминается в блоке 5 регистров.<

Счетчик 4 под действием единичных импульсов, формируемых в процессе сдвига кода радиуса, образует код

40 адреса соответствуккцего регистра блока 5 регистров. При равенстве кода числа, записанного в счетчике 4, числу регистров блока 5 сигнал, формируемый на.выходе счетчика 4, по45 ступает в блок 1 управления. Сигналы, соответствующие прямым и обратным значениям кода радиуса, из блока 5 регистров поступают на вход мультиплексора 6, обеспечивают передачу о информации с адресуемого входа на выход.

По сигналам, формируемым блоком

1 управления, триггером 11 и счетчиком 10 узлов интерполяции, из блока 9

55 постоянной памяти подается сигнал на вход мультиплексора 6, по которому осуществляется выбор адресов сла.гаемых, поступающих на соответствующий вход мультиплексора 6, коды слагаемых с выхода которого поступа ют на вход сумматора 7, который производит сложение составляющих для определения кодов проекций радиуса окружности на оси координат согласно выражению (1) и округление резуль65 тата, Результат, соответствующий коду

991486 абсциссы нулевого узла интерполяции, заносится в линейный интерполятор 13.

Триггер 11 устанавливается в состояние, при котором на его выходе появляется сигнал, запускающий сумматор 7, который осуществляет процес вычисления кода ординаты аналогично определению кода абсциссы. Результат запоминаетсяа линейном интерполяторе 13. Триггер 12 устанавливается в состояние, при кстором он выдает сигнал, управляющий записью координаты конца (начала) отрезка. Анализатор 8 знака координат изменяет состояние счетчика 10 узлов интерполяции на единицу.

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

В зависимости от того, в каком квадранте находится узел интерполяции, анализатор 8 знака координат уп равляет сумматором 7 в соответствии с выражениями (6), (7) и (8), изменяя знак и корректируя величину проекции радиуса на ось координат.

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

Рассмотрим случай определения координат первого узла интерполяции (п-1) для конкретных значений величин R = 100 и, h = 1 мм, d(h) = 0,5 при которых m = 45.

Х„=Хл= „ ™ .

X =RC05at. о где (d. = 7I5

Хл = $00 С067)5 = 99 1; X л = k

R с

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

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

З5 ду блока управления, а выход соедиОнен с одним иэ входов линейного интерполятора, выход и другой вход которого подключены соответственно к второму входу и пятому выходу блока

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

) = Й,"= "- К= / — - =0 <1+75R 6Я4 „=о,лк=щв; (h) = 12, 475-12, 5 = 0,025,.

0,025 < 0,5, значит условие (5) выполняется.

Координаты Первой узловой точки (n=1) Хл.. R - R/128 ; у = R/8.

0,025 < 0,5, значит условие (5) выполняется.

Координаты первой узловой точки (n=l )

Х, = R - R/128, у„ = R/8. значение остальных координат уз.лов интерполяции для построения окружности данного радиуса приведены в таблице (фиг. 4).

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

991486

Источники информации, принятые во внимание при экспертиэе

1. Информационные и моделирующие системы в электронике и электроэнергетике. Сборник научных трудов. Киев, "Наукова думка", 1980, с. 15-22.

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

9741295,кл. G 06 К 15/20,1977(прототип) .

991486

Составитель М. Немировский

Редактор В. Данко Техред A.Бабинец Корректор О, Билак

Заказ 143/70 Тираж 486 Подписное

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

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

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