Устройство для формирования окружностей
Иллюстрации
Показать всеРеферат
УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОКРУЖНОСТЕЙ по авт. св. № 991486, отличающееся тем что, с целью повьшения быстродействия, в него введен второй блок постоянной памяти, первый вход которого соединен с выходом регистраi второй вход - с выходом счетчика узлов интерполяции , a выход подключен к третьему входу первого блока постоянной памяти и к второму входу анализатора знака координат.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
ЕЕ <И1}
З1511 G 09 С 1/08
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) 991486 (21) 3534910/18-24 (22) 03. 01 ° 83 (46) 07.06.84. Бюл. У 21 (72) В.А.Роспономарев (71) Специальное конструкторское бюро промышленной автоматики Всесоюзного объединения "Союзпромавтоматика" (53) 681.327 ° 11(088.8) (56) 1. Авторское свидетельство СССР
В 991486, кл. G 09 Cj 1/08, 1981 (прототип). (S4) (57) УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ
ОКРУЖНОСТЕЙ по авт. св. Р 991486, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в нега введен второй блок постоянной памяти, первый вход которого соединен с выходом регистра, второй вход — с выходом счетчика узлов интерполяции, а выход подключен к третьему входу первого блока постоянной памяти и к второму входу анализатора знака координат. хорд, снижая этим производительность устройства.
Цель изобретения — повышение быстродействия.
Поставленная. цель достигается тем, что в устройство введен второй блок постоянной памяти, первый вход которого соединен с выходом регистра, второй вход — с вьжодом счетчика уз10 лов интерполяции, а выход подключен к третьему входу первого блока постоянной памяти н к второму входу анализатора знака координат.
Введение второго блока постоянной
15 памяти позволяет оптимально, в зависимости от радиуса окружности, производить аппроксимацию дуги окружности, снижая при этом время интерполирования окружности
20 На фиг. 1 представлена блок-схема предлагаемого устройства; на фиг.2— кусочно-линейная аппроксимация дуг окружностей различного радиуса; на фиг. 3 — определение проекции радиу2з са на ось абсцисс Х; на фиг. 4 — элемент окружности в дискретном простран стве; на фиг. 5 — таблица значений координат точек прямых, аппроксимирующих окружность для и „,С, =100 мм, 30 4=1 мм.
Устройство для формирования окружностей содержит блок 1 управления, .регистр 2, выход которого соединен с одним входом блока 3 деления, дру33 гой вход которого соединен с одним иэ вьмодов блока 1 управления, дру- гим выходом и одним иэ входов под-. ключенного к счетчику 4, третий выход блока 1 управления соединен с
40 одним из входов блока 5 регистров, второй вход которого подключен к второму вьмоду счетчика 4, третий вход соединен с выходом блока 3 деления, а вьмод подключен к одному из входов 3 мультиплексора 6, выход которого соединен с одним из входов блока 7 суммирования, другим входом подключенного к четвертому выходу блока 1 управления, а третьим входом — к соответ50 ствующему выходу анализатора 8 знака координат, другой выход которого и один из входов соединены с блоком 1 управления, соответствующим выходом подключенным к входу блока 9 постоянной памяти, выход которого соединен с вторым входом мультиплексора 6, третьим входом подключенного к выходу регистра 2, второй вход блока 9 постоянной памяти подключен к
Ф 1096688
Изобретение относится к устройствам вычислительной техники, используемым при проектировании устройств отображения.
По основному авт. св. У 991486 известно устройство для формирования окружности, которое содержит блок управления, регистр, выход которого соединен с одним входом блока деления, другой. вход которого соединен с одним из выходов блока управления, другим выходом и одним из входов подключенного к счетчику адреса, третий выход блока управления соединен с одним иэ входов блока регистров, второй вход которого подключен к второму выходу счетчика адреса, третий вход соединен с выходом блока,деления, а вьмод подключен к одному из входов мультиплексора, выход которого соединен с одним из входов сумматора, др1 гим входом подключенного к четвертому выходу блока управления, а третьим входом к соответствующему выходу анализатора знака координат, другой выход которого и один из входов соединены с блоком управления, соответствующим выходом подключенным к входу блока постоянной памяти, выход которого соединен с вторым входом мультиплексора, третьим входом подключенного к выходу регистра, второй вход блока постоянной памяти подключен к выходу счетчика узлов интерполяции, соединенного с анализатором знака координат, третий вход блока постоянной памяти подключен к выходу триггера, соединенного с бло-; ком управления, соответствующим выхо- дом подключенным к входу триггера, выход которого соединен с входом линейного интерполятора, другим входом подключенного к выходу сумматора, а третьим входом и одним иэ выходов — к блоку управления (1) .
Недостатком устройства является низкое. быстродействие при интерполировании окружности радиусом, меньшим
Я, обусловленная тем, что аппроксимация дуги окружности производится путем построения определенного коли" чества хорд для окружности с максимальным радиусом, вследствие чего устройство при интерполировании окружности с радиусом, меньшим максимального, аппроксимнрующейся мень-. шим количеством хбрд, производит вычисление координат всех интерполяционных узлов и интерполяцию всех
1096
3 выходу блока 10 постоянной памяти, вход которого соединен с выходом счетчика 11 узлов интерполяции, входом подключенного к третьему выходу анализатора 8 знака координат, вторым входом соединенного с выходом блока 10 постоянной памяти, второй вход которого подключен к выходу регистра 2, третий вход блока 9 постоянной памяти подключен к выходу триг- 10 гера 12, соединенного с блоком 1 управления, соответствукщим выходом подключенным к входу триггера 13, выход которого соединен с входом линейного интерполятора 14, другим вхо" 15 дом подключенного к выходу блока 7 суммирования, а третьим входом и одним из выходов — к блоку 1 управления.
Блок 1 управления предназначен 20 для управления работой блоков уст.ройства и выполняет следующие функции: устанавливает в исходное сос- тояние счетчик 4, анализагор 8 знака координат, триггеры 12 и 13, уп- 25 равляет работой блока 3 деления, счетчика 4 адреса и блока $ регистров; управляет работой блока 7 суммирования, триггеров 12 и 13, анализатора 8 знака координат, линейного З0 интерполятора 14; формирует код слагаемого алгебраической суммы для блока 9 постоянной памяти.
Регистр 2 предназначен для хране-.
3HazeH Кора радиуса 35
Блок 3 деления предназначен для деления кода радиуса окружности на 2, 4, 8, 16 и т.д. в зависимости от требуемой точности построения окружкости.::
Счетчик 4 предназначен для формиро40 ! вания кода адреса соответствующего регистра блока 5 регистров.
Блок 5 регистров предназначен для хранения сдвинутых значений кода радиуса. Иультиплексор 6 обеспечивает передачу информации с адресуемого входа на выход. Блок 7 суммирования предназначен для сложения величин, . необходимых для определения кодов проекций радиуса на оси координат.
Анализатор 8 знака координат ynpas ляет работой счетчика 11 узлов интерполяции, при переходе из одного квадранта в другой корректирует знак и результат блока 7 суммирования, вы-,55 дает в блок 1 управления сигнал, соответствующий координате первого узла интерполяции в квадранте, и сиг688 4 нал, соответствующий координате последнего узла интерполяции в четвертом квадранте.
Блок 9 постоянной памяти предназначен для формирования адреса слагаемых алгебраических сумм, соответствующих проекции радиуса на оси координат для узлов интерполяции.
Блок 10 постоянной памяти форми рует код узла интерполяции в зависимости от значения кода радиуса и кода счетчика 11.
При равенстве значения кода узла интерполяции 0-му и 11-му узлам интерполяции вырабатывает соответствующие сигналы в анализатор 8 знака координат.
Счетчик 11 узлов интерполяции предназначен для подсчета единичных . импульсов как в прямом, так и в обратном направлении.
Триггер 12 осуществляет выбор абсциссы нли ординаты вычисляемой коор-. динаты. В исходном состоянии производит выбор абсциссы, изменяет состояние на противоположное после вычисления абсциссы (ординаты) и занесения ее в линейный интерполятор 14.
Триггер 13 предназначен для управления записью в линейньй интерполятор 14 координат начала и конца отрезка. В исходном состоянии управляет записью координаты начала отрезка, изменяет состояние на противолоположное после вычисления ординаты узла интерполяции и занесения ее значения в линейный интерполятор 14.
Линейный интерполятор 14 представляет собой устройство для интерполирования прямой в заданном дискретном ,пространстве, заданной координатами
:конечных точек отрезка.
Предлагаемое устройство работает следующим образом.
Аппроксимация дуги окружности производится путем построения определенного количества отрезков прямых, соединяющих узловые точки О, 1, 2, ..., 1 (фиг. 2). Число отрезков прямых а, аппроксимирующих окружность. определяется в зависимости от требуемой точности построения окружности. Построение осуществляет- ся для максимальной для данкой аппаратуры окружности радиуса R., Координаты узловых точек определяются путем вычисления абсцисс:
1096688
X =X=K Р (1)
П 2ди где Х „R собМ„;
1У,„ — угол, образованный радиусом окружности и осью абсцисс (lkg4 llll)p
З6О1
d„cР„;0„ 0 D = 1,2А,8... и определения точного значения ординат („, соответствующих абсциссам Х> по формуле
«Г т (2)
У„.1кгх„рК„
10 где О» К„61 - коэффициент, порядок которого зависит от эначейия радиуса и точности нахождения ординаты
8 (h) для заданного дискретного пространства (фиг. 3 и 4).
В качестве приближения к (2) определяются значения 4.= (л. где f „- коэффициент, путем разложения в ряд („= .Е и 1п (4).
25 гдето„6 Fn,F„a D;O 1,2,4,8,...
При этом должно соблюдаться условие (5)
/ („- ; /- 8 (),. где о (4) - заданная точность нахождения ординаты для данного дискретного пространстве.
Приближение к условию (5) выполняется итеративно.
Таким образом, значения координат узловых точек окружности для первого квадранта могут быть представлены в виде алгебраической суммы слагае- 40 мых, которые представляют собой коды, полученные путем сдвига кода радиуса на определенное число разрядов.
Выражения для определения кодов 4 проекций радиуса на оси координат
4Х и аУ в различных квадрантах окружности s дискретном пространстве имеют следующий вид: а М --(Х,,+1) 2 квадрант (6)
h mm
aX =-(Х „+1) 3 квадрант (7) аЧ - (Y„+1) аХ х11, .4 квадрант (8)
О "(Ч +1)
1Ъ .5$
Сигнал. запуска, поступающий на вход блока 1.управления и регистр 2,. ус ганавливает в исходное нулевое сос- тояние анализатор 8 знака координат, счетчик 11 узлов интерполяции, счет чик 4, триггеры 12 и 13.
Код радиуса, записанный в регистр 2, поступает в блок 3 деления, который осуществляет деление кода радиуса окружности на 2, 4, 8, 16 н т.д. в зависимости от требуемой точности построения окружности путем сдвига его на определенное число разрядов. Результат деления после каждого сдвига запоминается в блоке регистров 5.
Счетчик 4 под действием единичных импульсов, формируемых в процессе сдвига кода радиуса, образует код адреса соответствующего регистра блока 5 регистров. При равенстве кода числа, записанного в счетчике 4, числу регистров 5, сигнал, формируемый на выходе счетчика 4, поступает в блок 1 управления. Информационные.. сигналы, соответствующие прямым и .обратным значениям кода радиуса, из блока 5 регистров поступают на вход мультиплексора 6, обеспечивающего передачу информации с адресуемого входа на выход.
По сигналам, формируемым блоком 1 управления, триггером 12, счетчиком 11 и блоком 10 постоянной памяти, из блока 9 постоянной памяти на адресный вход мультиплексора 6 поступает сигнал, соответствующий адресу коммутируемого входа мультиплексора, по которому код соответствующего слагаемого поступает на вход блока 7 суммирования, который производит сложение составляющих для определения кодов проекций радиуса окружности на оси координат согласно выражению (1) и округление результата.
Результат, соответствующий кода абсциссы нулевого узла интерполяции, заносится в линейный интерполятор 14.
Триггер 12 устанавливается в состояние, при котором на его выходе появляется сигнал, запускакзций блок 7 суммирования, который осуще,ствляет процесс вычисления кода ординаты аналогично определению кода, абсцисс. Результат запоминается в линейном интерполяторе 14. Триггер 13 устанавливается в состояние, при котором он выдает сигнал, управляющий записью координаты конца (начала) отрезка. Анализатор 8 знака координат изменяет состояние счетчика 11 узлов интерполяции на единицу °
1096688
После вычисления и занесения в линейный интерполятор 14 абсциссы и ординаты первого узла интерполяции блок 1 управления выдает сигнал в линейный интерполятор 14, по которому начинается процесс отображения окружности. Одновременно происходит определение абсцисс и ординаты второго (последующего) узла интерполяции и т.д.
В зависимости от того, в каком квадранте находится узел интерполяции, анализатор 8 знака координат управляет блоком 7 суммирования в-соответствии .с выражениями (6), (7), (8), изменяя знак и корректируя величину проекции радиуса на ось координат.
Процесс формирования координат заканчивается при формировании блоком 10 сигнала постоянной памяти, соответствующего 0-му узлу интерполяции, фиксируемого анализатором 8 знака координат в четвертом квадранте, записи координат последнего узла интерполяции в линейный интерполятор 14 и отображения им последнего аппроксимирующего отрезка.
Рассмотрим случай определения координат первого узла интерполяции (11=1) для конкретных значений величин Я =100 мм,}i =1 мм, 8 (И)=0,5, при которых m=45. и
Х,ъX = Е; ф=й соМ,,2а
360 где 0ь
Оь =7,5 ;
X, = 100 cog 7, 5 =99, 1;
=R — — — —;
128
V,= R-Х„-R =О, 12475 R;
16384 1О
Y = 0 125
8 !
2,475 - 12,5 = 0,025;
0,025 (0,5 означает, что условие (5) выполняется. Координаты первой узловой точки (n =1):
К (=К вЂ” — —;
128
Y =—
По сравнению с устройством-прототипом применение предлагаемого технического решения позволяет повысить быстродействие интерполяции окружности вследствие оптимальной аппроксимации дуги окружности в диапазоне изменения радиуса от нуля до Р.
Значение остальных координат уз2 лов интерполяции для построения окружности данного радиуса приведены в таблице (фиг. 5).
1096688
1096688
109б688
Составитель N. Немировский
Редактор E.Ëóøíèêîâà Техред N,Tåïeð Корректор Л.Шеньо
Заказ 3832/39 - Тираж 447 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская,наб., д. 4/5
Филиал ППП "Патент", r.Óæãoðîä, ул.Проектная, 4