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

Иллюстрации

Показать все

Реферат

 

УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОКРУЖНОСТЕЙ по авт. св. № 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