(54) УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ОКРУЖНОСТЕЙ
название | год | авторы | номер документа |
---|---|---|---|
Устройство для формирования окружностей | 1983 |
|
SU1096688A2 |
Устройство для формирования окружностей | 1984 |
|
SU1221678A2 |
Устройство для формирования растрового изображения кривых | 1986 |
|
SU1446646A1 |
Устройство для формирования окружностей | 1985 |
|
SU1322361A2 |
Цифровой линейный интерполятор | 1991 |
|
SU1807450A1 |
Линейный интерполятор | 1986 |
|
SU1413603A1 |
Многокоординатный линейно-круговой интерполятор | 1988 |
|
SU1603345A1 |
Многокоординатный линейно-круговой интерполятор | 1984 |
|
SU1156008A1 |
Интерполятор | 1987 |
|
SU1413602A1 |
Интерполятор | 1988 |
|
SU1541557A1 |
Изобретение относится к вычислительной технике и может быть использовано при проектир1овании устройств отображения.
Известны устройства для формирования окружностей в заданном дискрет- . ном пространстве, содержащие накопительный сумматор, комбинационный сумматор, реверсивные счетчики и устройство управления fl}.
Недостатком данных устройств являются низкое быстродейств1 е по сравнению с линейной интерполяцией и возможное накопление погреийости в текуcutHX значениях координат.
fНаиболее близким по технической сущности к изобретению является устройство для формирования окружностей, содержащее блок управления, соединённый со счетчиком и с одным входом логического блб1{а, регистр, последовательно соединенные блок деления и блок суммирования, анализатор знака координат, подключенньй к логическому блоку, первый вход блока деления соединён с регистром, второй - с одним выходом блока управления, третий - с одним выходом анализатора знака координат, другой выход которого подключен к блоку сукмирования, дшугой выход блока деления соединен со счетчиком, вход анализатора знака координат соединен с другим выходом блока управления, выход блока суммирования подключен к другс у входу логического блока 2.
Недостатком известного устройства является его низкая точность,
10 обусловленная тем, что аппроксимация дуги окружности производится путем построения определенного количества хорд, вследствие чего происходит накопление погрешности за счет неточ15ного определения величины хорды.
Целью изобретения является повышерие точности устройства.
Поставленная цель достигается тем, что устройство для формирования ок20ружностей, содержащее блок управления, соединенный соответствуюодам входом ипервым выходом со счетчикрл адреса, а вторым выходом - с одним из входов анализатора знака координат, первый
25 выход которого подаслючен к первому 1ЭХОДУ сумматора, блок деления, один вход KOtoppro соединен х:. выходом регкстра, а другой вход подключен к третьему выходу блока управления,
30 содержит первый и второй триггер. линейный интерполятор, счетчик узлов интерполяции, блок постоянной памяти блок регист|зов, мультиплексор, выжод которого подключен к второму входу сумматора, третий вход которого подклйчбн к четвертому выходу блока управления, а выход соединен с одним -из входов линейного интерполятора, выход и другой вход которого ПОДКЛЮчены соответственно к второму входу и пятому выходу блока управления, а третий вход линейного интерполятора соединен с выходом первого триггера, .подключенного к шестому выходу блока управления, седьмой выход кото рого подключен к одному из входов блока регистров, другим входом соеди ненного с другим выходом счетчика адреса, третьим входом - с выходом блока деления, а выходом - с одним из входов мультиплексора, другой вход которого подключен к выходу регистра, а третий вход мультиплексора соединен с выходом блока по.стоянной памяти, один вход которого под-, ключен к восьмому выходу блока управления, девятым выходом соединенно го с входом второго триггера., выход которого соединен с третьим входом блокд управления и с вторым входом блока постоянной памяти, третьим входом подключенного к выходу счетчика узлов интерполяции, соединенного с анализатором знака координат, соответствующим выходом подключенного к четвертому входу блока управления.. На фиг. 1 представлена блок-схема предлагаемого устройстваJ на фиг.2 определение проекции радиуса на ось абсцисс на фиг. 3 - элемент окружности в дискретном пространстве; на фиг, 4 - таблица значений координат точек прямых, аппроксимирующих окружность для Rvv.rtv 100 мм, h 1 мм. тда . . Предлагаемое устройство для формирования окружности содержит блок 1 управления, регистр 2, выход которого соединен с одним входом блока 3 деления, другой вход которого соединен с одним из выходов блока 1 управ ления, другим выходом и одним из входов подключенного к счетчику 4, третий выход блока 1 управления соединен с одним из.входов блока 5 регистров, второй вход которого подклю чен к второму выходу счетчика 4 адре са, третий вход соединен с выходом блока 3 деления, а выход подключен к одному из входов мультиплексора б, выход которого соединен с одним из входов сумматора 7, другим входом подключенного к четвертому выходу блока 1 управления, а третьим входом к соответствующему выходу анализатора 8 знака координат, другой выход которого и одни из входов соединены с блоком 1 управления, соответству-ющим выходом подключенным к входу блока 9 постоянной памяти, выход которого соединен с вторым входом мультиплексора 6, третьим входом подключенного к выходу регистра 2, второй вход блока .9 постоянной памяти подключен к выходу счетчика 10 узлов интерполяции, соединенного с анализатором 8 знака координат, третий вход блока 9 постоянной памяти подключен к выходу триггера 11, соединенного с блоком управления, соответствующим выходом подключенным к входу триггера 12, выход которого соединен с ВХОДОМ линейного интерполятора 13, другим входом подключенного к выходу сумматора 7, а третьим входом и одним из -выходов т к блоку 1 управления. Блок 1 управления предназначен для управления работой блоков устройства. Регистр 2 предназначен для хранения кода радиуса окружности на время ее отображения.-: Блок 3 деления предназначен для деления кода радиуса окружности на 2, 4, 8, 16 и т.д. в зависимости-от требуемой точности построения окружности . Счетчик 4 предназначен для формирования кода адреса соответствующего регистра блока 5 регистров. Блок 5 регистров предназначен для хранения сдвинутых значений кода радиуса. Мультиплексор 6 обеспечивает передачу информации с адресуемого входа на выход. Сумматор 7 предназначен для сложения величин, необходимых для определения кодов проекций радиуса на оси координат. Анализатор 8 знака координат предназначен для управления работой счетчика 10 узлов интерполяции и сумматора 7. . Блок 9 постоянной памяти предназначен для формирования адреса слагаемых алгебраических сумм, соответствующих проекциям радиуса на оси координат для узлов интерполяции. Счетчик 10 узлов интерполяции предназначен для подсчета единичных импульсов как в прямом, так и в обратном направлении. Триггер 11 осуществляет выбор абсциссы или ординаты вычисляемой координаты. В исходном coctoянии прризводит выбор абсциссы. Изменяе.т состояние на противоположное после вычисления абсциссы (ординаты) и занесения ее в линейный интерполятор 13, Триггер 12 предназначен для управления записью в линейный интерполятор 12 координат начала и конца от резка. В исходном состоянии управляет записью координаты начала отрезка. Меняет состояние на противоположное после . вычисления ординаты узла интерполяции и занесения ее значения в линейный интерполятор 13. Линейный интерполятор 13 представ -ляет собой устройство для интерполирований прямой в заданном дискретном пространстве, заданной координатами конечных точек отрезка. Предлагаемое устройство работает следующим образом. Аппроксимация дуги окружности про изводится путем построения определен ного количества отрезков прямых, соединяющих узловые точки 0,1, 2, ..., п. Число отрезков прямых т, аппроксимирующих окружность, определяется в зависимости от требуембй точности построения окружности. Построение осуществляется для максимальной для данной аппаратуры окружности радиуса. Координаты узловых точек определя ются .путем вычисления абсцисс где X,-Rc09oth| угол, образованный радиусом окружности и осью абсцисс ( di ЗбО/т), Dj,; В„ : IJ; D i, 2, 4, 8 ... , и определения точного значения ординат у , соответствующих абсциссам X по формуле . .Ci) где 02 К S 1 - коэффициент, порядо которого зависит от значения радиуса и точности нахождения ординаты И(h) для заданного дискретного прос ранства. В качестве приближения к (2) олрёделяготся значения у„ а-й„,(3) где gj. - коэффициент, полученный путем разложения в ряд ,V-5:|; С4) где Fy,; Fj - D; D 1, 2, 4, О f 4 При этом должно соблюдаться условие(4), (5) где lf(h) - заданная точность нахождения ординаты для данного дускретного пространства. Приближение к условию (5 ) вьшолняется итеративно. Таким образом, значения координат узловых точек окружности для первого квадранта могут быть представлены в виде алгебраической суммы слагаемых, которые представляют собой коды, полученные путем сдвига кода радиуса на определенное число разрядов. Выражения для определения кодов проекций радиуса на оси координат АХ и лу в различных квгщрантах окружности в дискретнсш пространстве имеют следующий вид 2-й квадрант ( 6) З-й квадрант (7) 4-й квадрант (8) Сигнал запуска, поступающий на вход блока 1 управления и регистр 2, устанавливает в исходное нулевое состояние счетчик 10 узлов интерполяций, счетчик 4, анализатор 8 знака координат триггеры 11 и 12. Код радиуса, записанный в регистр 2, поступает в блок 3 деления, который осуществляет деление кода радиуса окружности на 2, 4, 8, 16 и т.д., в зависимости от требуемой точности построения окружности, путем сдвига его на определенное число разр5щов. Результат деления после каждого сдвига запоминается в блоке 5 регистров, Счетчик 4 под действием единичных импульсов, формируемых в процессе сдвига кода радиуса, образует код адреса соответствующего регистра блока 5 регистров. При равенстве кода числа, записанного в счетчике 4, числу регистров блока 5 сигнал, формируемый на.выходе счетчика 4, поступает в блок 1 управления. Сигналы, соответствующие прямым и обратным значениям кода радиуса, из блока 5 регистров поступают на вход мультиплексора б, обеспечивают передачу информации с адресуемого входа на выход. По сигналам, формируемым блоком 1 управления, триггером 11 и счетчиком 10 узлов интерполяции, из блока 9 постоянной памяти подается сигнал на вход мультиплексора б,, по которому осуществляется выбор адресов слагаемых, поступающих на соответствующий вход мультиплексора 6, коды слагаемых с выхода которого поступают на вход сумматора 7, который производит сложение составляющих для определения кодов проекций радиуса окружности на оси координат согласно выражению (1) и округление результата. Результат, соответствующий коду абсциссы нулевого узла интерполяции заносится в линейный интерполятор 1 Триггер 11 устанавливается в состояние , при котором на его выходе появляется сигнал, запускающий сумматор 7, который осуществляет проце вычисления кода ординаты аналогично определению кода абсциссы. Результа запоминается:в линейном интерполяторе 13. Триггер 12 устанавливается в состояние, при котором онвыдает сигнал, управляющий записью координаты конца (начала) отрезка. .Анализатор 8 знака координат изменяет со стояние счетчика 10 узлов интерполя ции на единицу. После вычисления и занесения в линейный интерполятор 13 абсциссы и .ординаты первого узла интерполяции блок 1 управления выдает сигнал в линейный интерполятор 13, по кото рому начинается процесс отображения окружности. Одновременно происходит определение абсциссы и ординаты вто рого узла интерполяции и т.д. В зависимости от того, в каком квадранте находится узел интерполяции, анализатор 8 знака координат у равляет сумматором 7 в соответствии с выражениями (6), (7) и (8), изменяя знак и корректируя величину про екции радиуса на ось координат. Процесс формирования координат заканчивается при обнулении счетчика 10 узлов интерполяции в четверто квадранте, записи координат последнего узла интерполяции в линейный интерполятор 13 и отображения им по следнего аппроксимирующего отрезка. Рассмотрим случай определения ко ординат первого узла интерполяции I(п-1) дпя конкретных значений величин R 100 м, h 1 мм, сГ(Ь) 0, при которых m 45. Y - V - Т - -1 - 25.п X-R-COSoL, где о( -7. .co57,,l; Xi-ft. % , -- ,n4l5R.i v)--0,n5R.--R(g/ (TCh) 12,475-12,5 0,025.. 0,025 0,5, значит условие (5) выполняется. Координаты дервой узловой точки () Х R - R/128; у. R/8. 0,025 0,5, значит условие (5) выполняется. Координаты первой узловой точки X, R - R/128, У R/8. Значение остальных координат узлов интерполяции для построения окружности данного радиуса приведены в таблице (фиг. 4). Использование предлагаемого изобретения позволяет повысить точность воспроизведения окружности в заданном дискретном пространстве путем использования кусочно-линейной аппроксимации, а также увеличить быстродействие устройства по сравнению с известными. Формула изобретения Устройство для формирования окружностей , содержащее блок.управления, соединенный соответствующим входом и первым выходом со счетчиком адреса, а вторым выходом - с одним из входов анализатора знака координат, первый выход которого подключен к первому входу сумматора, блок деления , один вход которого соединен с выходом регистра, а другой вход подключен к третьему выходу блока управления, отлич:ающееся тем, что, с целью повышения точности устройства, в него введены первый и второй триггер, линейный интерполятор, блок постоянной памяти, блок регистров, мультиплексор, выход ко-, торого подключен к второму входу сумматора, третий, вход которого подключен к четвертому выходу блока управления, а зыход соединен с одним из входов линейного интерполятора, выход и другой вход которого подключены соответственно к второму входу и пятому выходу блока управления, а третий вход линейного интерполятора соединен с выходом первого триггера, подключенн ого к шестому выходу блока управления, седьмой выход которого подключен к одному из-входов блока регистров, другим входом соединенного с другим выходом счетчика адреса, третьим входом - с выходом блока.деления, а выходом - с одним из входов мультиплексора, другой вход которого подключен к выходу регистра, а третий вход мультиплексора соединен с выходом блока постоянной памяти, один вход которого подключен к восьмому выходу блока управления, девятым выходом соединенного с входом второго триггера, выход которого соединен с третьим входом блока управления и с вторым входом блока постоянной памяти, третьим входом подключенного к выходу счетчика узлов интерполяции, соединенного с анализатором знака координат, соответствующим выходом подключенного к четвертому входу блока управления.
Источники информации, принятые во внимание при экспертизе 1. Информационные и моделирующие системы в электронике и электроэнергетике. Сборник научных трудов. Киёв, Наукова думка, 1980, с. 15-22.
Авторы
Даты
1983-01-23—Публикация
1981-05-06—Подача