Генератор дуг окружностей
Иллюстрации
Показать всеРеферат
ОПИСАНИЕ
ИЗОБРЕТЕНИЯ
К МВТОРСКОНУ СВИ ВТИЛЬСТВУ
Сеюэ Советских
Социалистических
Рвс трубя им ()805403 (61) Дополнительное к авт, свид-ву (53)М. Кд.
G 09 G 1/08 (22) Заявлено 2К1278 (21) 2703092/18-24 с присоединением заявки Но
1 (23) Приоритет
Государственный коинтет
СССР но делаи изобретений н открытий
Опубликовано 15,0281. Бюллетень йо 6
Дата опубликования описания 25. 02. 81 (53) УДК 681. 327. .11(088.8) В.И.Горохов, С.И.Иванов, А.А.Ильин, С.С.Калинчев ;,.(; и В.М.Рощенко .ъ: . )p 1 0. (72) Авторы изобретения (71) Заявитель (54) ГЕНЕРАТОР ДУГ ОКРУЖНОСТЕЙ
Изобретение относится к вычисли- гельной технике и может быть использовано в устройствах отображения графической информации для наВЗртания дуг окружностей.
Известен генератор дуг окружностей, содержащий сумматор приращения функции синуса, сумматор приращения функции косинуса, реверсивный счетчик, регистр функции синуса, вентили передачи синуса, вен- тили передачи косинуса, счетчик угла, схему управления четвертяии, счетчик коррекции, схему управления интегрированием, схемы управления сложением-вычитанием, регистр радиуса, миноритарный дешифратор, схему формирования переносов сумматоров приращений функций синуса и косинуса, вентили сдвига кода радиуса, преобразователь кода радиуса в напряжение, управляемый генератор тактовых импульсов, счетчик длины дуги и вентили сдвига приращений по углу (1 ).
Недостаток известного устройства — низкое быстродействие.
Наиболее близким по технической сущности к предлагаемому является генератор друг окружностей, содержащий четыре счетчика, два коммутатора, блок управления, блок сравнения, сумматор, генератор импульсов и первый регистр. Выход второго счетчика подключен к первому входу первого коммутатора. Первые входы третьего и четвертого счетчиков соединены с первыми выходами блока управления. Первый и второй входы блока сравнения подключены к первым выходам первого регистра. Входы второго коммутатора подключены к первым выходам первого регистра.
Входы второго коммутатора соединены
15 с третьим выходом первого регистра и первым выходом сумматора. Вто, рой выход сумматора подключен к первому входу блока управления $2 ).
Недостатком данного устройства
20 является низкая точность построения дуги окружности вследствие наличия ошибки в радиусе и длине дуги.
Цель изобретения - повышение точности генератора.
Поставленная цель достигается тем, что в генератор дуг окружностей, содержащий первый счетчик, второй счетчик, выход которого подключен к первому входу первого коммутатоЗО ра, третий и четвертый счетчики, 805403 первые входы которых соединены с первыми выходами блока управления, блок сравнения, первый и второй входы которого подключены к первому и второму выходам первого регистра, второй коммутатор, входы которого соединены с третьим выходом первого регистра и первым выходом сумматора, второй выход которого подключен к первому входу блока управ- ления, генератор импульсов, введены второй, третий и четвертый регистры и третий, четвертый коммутаторы, выходы которых подключены ко входам третьего и четвертого регистров, входы третьего коммутатора соединены с выходом первого счетчика и 15 выходом второго счетчика, подключенным к первому входу четвертого коммутатора, другие входы которого соединены с выходом второго регистра и первым выходом сумматора, входы Щ которого подключены к выходам третьего и четвертого регистров, первые входы первого и второго счетчиков соединены с выходами первого и второго коммутаторов, а вторые входы со вторыми выходами блока управления, вторые входы третьего и четвертого счетчиков подключены к первым выходам первого регистра, третий и четвертый выходы которого соединены со вторым и третьим входами первого коммутатора, выход которого подключен ко входу второго регистра, выход генератора импульсов соединен со вторым входом блока управления, третий выход которого подключен к третьему входу блока сравнения, четвертый и пятый входы которого соединены с выходами третьего и четвертого счетчиков.
На чертеже схематически представлен генератор дуг окружностей.
Он содержит первый счетчик 1, второй счетчик 2, сумматор 3, генератор 4 импульсов, третий счетчик 5, четвертый счетчик 6, первый регистр
7, блок 8 управления, блок 9 сравнения, первый и второй коммутаторы 10 и 11, второй регистр 12, третий коммутатор 13, третий регистр 14, четвертый коммутатор 15, четвертый ре- щ гистр 16, Первый счетчик 1 и второй счетчик 2 предназначены для получения чисел для проведения необходимых операций на. сумматоре 3 в процессе построения окружности. Данные числа получаются путем изменения состояния счетчиков 1 и 2 на единицу или двойку. Генератор 4 импульсов вырабатывает последовательность тактовых импульсов, по которым производится d0 выполнение арифметических операций.
Первый регистр 7 выполняет функцию хранения, характеризующей параметры дуги окружности. Блок 8 управления предназначен для управления режима-. 65 ми работы счетчиков 5 и 6. Блок 9 сравнения производит сравнение текущих значений и абсолютных значений кодов. Коммутаторы 10, и 15 выполняют логическую функцию 2 И вЂ” 3 ИЛИ, а коммутаторы 11 и 13 — функцию 2 И—
2 ИЛИ.
Устройство работает следующим образом.
Информация, характеризующая дугу окружности, поступает из источника информации (например, -из ЭЦВМ) и запоминается в регистре 7 на все время отображения, цуги. Начальные координаты дуги по осям Х и Y переписываются из регистра 7, соответственно в счетчики 5 и 6, с выхода которых данная информация выдается на преобразующую и отклоняющую систему аппаратуры отображения. После этого в эту же часть регистра 7 записываются коды конечных координат дуги окружности по осям Х и Y . .Коды проекций радиуса окружности, проведенного иэ ее центра к начальным координатам дуги (Х „и YA,), переписываются из регистра 7 через коммутаторы 10 и 11-.в счетчики 1 и 2 соответственно. Код проекции XAн записывается также в регистр 12. Перел процессом построения дуги выполняется вспомогательная операция.
2 . (Хдн- Удн- 1 ) =N
Результатом выполнения этой операции является полученное число N, необходимое для дальнейших вычислений в процессе отображения дуги, а также во время этой операции может быть определено наибольшее из чисел
X„,H Y „ .
Для выполнения этой операции код
Ч нпоступает на один из входов сумматора 3 через коммутатор 13 и регистр 14, на другой вход сумматора
3 подается .код Y* через коммутатор
15 и регистр 16.
Если Х «YAq, то код УАр через коммутатор 10 переписывается в регистр 12.
Если Хдн ) Удн, то код УА заноси-. тся в счетчик 1, в регистре 12 остается код XA>,после чего полученное ранее на выходе сумматора 3 число
N переписывается через коммутатор
11 в счетчик 2.
Одновременно выполняется второе вспомогательйое действие: изменяется состояние счетчика 1 на единицу, где имеется наименьшее из чисел
Х н или YAg
Х дн ((д <) + 1 = N g
Если Х,ц « (А„и движение при построении производится по часовой стрелке, то выполняется действие
Хднф+1= 2
805403
Хдн 7 V*„ то выполняется действие
Удн
Если же начертание дуги производится против часовой стрелки, то, соответственно, выполняются следующие действия:
Х „-1=и
Удн+1=NgТаким образом, после выполнения перечисленных операций, т.е, перед началом построения дуги, в счетчиках 1 и 2 находятся числа N u N
2 1 а в регистре 12 — наибольший иэ кэдов Хд„или Удн °
Укаэанные ниже операции сумчирования, которые выполняются в целях определения порядка следования единичных перемещений при построении заданной дуги окружности, производятся по каждому тактовому сигналу, вырабатываемому генератором 4 импульсов. рассмотрим порядок выполнения операций суммирования для случая, когда начало дуги находится в первом квадранте и N >О, т.е. в первой половине первого квадранта. Первая onåрация суммирования всегда имеет следующий вид: или
R-2=й„+1, где R — код радиуса окружности.
Определение момента окончания
65 процесса построения дуги окружности
P-2 N =+R
Одновременно с выполнением этой операции изменяются состояния счетчиков 1 и 2 на единицу: Н -1 И +1
Для одновременного выполнения этих двух операций на сумматоре 3 и на счетчиках 1 и 2 числа Р и 2N пере2 писываются, соответственно, в регистры 16 и 14.
Если полученный результат R 7 0
1 то состояние счетчика 5 увеличиваАся на единицу, а состояние счетчика 6 остается без изменения. Таким образом, производится единичное перемещение только по оси Х. Одновременно выполняются следующие действия на сумматоре 3 .
R -2 (N2+1) =+R и на счетчике 2: (N +1)+1.
Если же и с О, то состояние, счетчика 5 увеличивается, а состояние счетчика б уменьшается на единицу
I т.е. производится одновременное перемещение по осям X и У . Определение моментов выдачи сигналов на счетчики 5 и б производится с помощью блока 8 управления. Одновременно выполняются действия на сумматоре 3:
- R1+2 (N -1) =+ R 2 и на счетчике 2:. (й1+1)+2.
Одновременно с состоянием счетчика 2 изменяется на единицу, неэависимо от знака результата R состояние счетчика 1.
Последующие действия выполняются аналогичным образом.
Ланный алгоритм выполнения опе ац, необходимых для построения дуий ераги, не отличается от алгоритма
t описанного в известном устройстве за исключением того, что вторая операция суммирования, которая производится одновременно с основным о и перациями суммирования с использованием сумматора в предлагаемом устройстве выполняется с помощью счетчиков 1 и 2, что позволяет несколько увеличить быстродействие устройства. .В целях повышения точности построения дуги окружности в алгоритме выполнения операций суммирования вводятся корректирующие опера20 ции.
При переходе через середину квадранта, когда Хд-- У,„, т.е. когда
И1 =-2, число N 2 уменьшается не на единицу, а на два.
Вместо действия й„-2, й2+ 1 ) (если и .-1з О)
1 или
-R.@2 (N< -j) (если R < О) 1-4 выполняются корректирующие действия
-й„+2 (й -) ) (если R„„ r 0) 35 R„ 2 (л + ) (если й. < О) . -1
Если при переходе через середину квадранта число N равно нулю (N =O), то число N уменьшается на единицу, и выполняется одна иэ корректирую"
40 щих операций, приведенная ранее.
При переходе через ось координат перед выполнением последней операции суммирования состояние счетчика l нулевое(из условий выполненных
45 операций), а число, полученное на счетчике 2, равно радиусу окружности (М =R) которое запоминается в регистре 12. В последующих тактах состояния счетчика N. увеличи"
2 вается, а состояние счетчика N уменьшается. (Через однодействие, т.е. после перехода через ось координат, предыдушее состояние счетчика 1, равное 2, записывается в регистр 14, а в регистр 16 заносится код радиуса окружности из регистра 12, в результате чего вместо действия
R -2=R.
1 +1
Щ выполняется операция
805403
Формула изобретения
Составитель B.Êóëüêîâ
Редактор М.Цыткина ТехредА.Бабинец Корректор В. Бутяга
Заказ 109 3 76 Тираж 95 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретаний и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП Патент, г. Ужгород, ул. Проектная, 4 производится с помощью блока 9 сравнения при равенстве текущих координат положения луча, которые нмеютая на счетчиках 5 и 6, и конечных координат дуги, которые хранятся в регистре 7.
Генератор дуг окружностей, содержащий первый счетчик, второй счетчик, выход которого подключен к первому входу первого коммутатора, третий и четвертый счетчики, первые входы которых соединены с первыми выходами блока управления, блок сравнения., первый и второй входы которого .подключены к первому и второму выходам первого регистра, второй коммутатор входы которого соединены с третьим выходом первого регистра и
-первым выходом сумматора, второй выход которого подключен к первому входу блока управления, генератор импульсов, о т л и ч à ю шийся тем, что, с целью повышения точности генератора, в него введены второй, .третий и четвертый регистры и третий, четвертый коммутаторы, выходы которых подключены ко входам третьего и четвертого регистров, входы третьего коммутатора соединены с выкодом первого счетчика н выходом второго счетчика, подключенным к первому входу четвертого коммутатора, другие входы которого соединены с выходом второго регистра и первым выходом сумматора, входы которого подключены к выходам третьего и четвертого.регистров, первые входы первого и второго счетчиков соединены с выходами первого и второго коммутаторов, а вторые входы - co вторыми выходами блока управления, вторые входы третьего и четвертого счетчиков подключены к первым выходам первого регистра, третий и четвертый выходы которого соединены со вторым и тре15 тьим входами первого коммутатора, выход которого подключен ко входу второго регистра, выход генератора импульсов соединен со вторым входом блока управления, третий выход котощ рого подключен к третьему входу блока сравнения, четвертый и пятый входы которого соединены с выходами третьего,и четвертого счетчиков.
Источники информации, принятые .во внимание при экспертизе
1. Авторское свидетельство СССР
М 397902, кл. G F 3/14, 1973.
2. Авторское свидетельство СССР по заявке 9 2534759/18-24, кл. 6 06 К 15/20, 16.05.78 (протоЗо тип).