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

 

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

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

 

Похожие патенты:

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

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

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

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

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

Изобретение относится к вычислительной технике и может быть использовано при проектировании устройств отображения информации на экране ЭЛТ
Наверх