Генератор дуг окружностей

Иллюстрации

Показать все

Реферат

 

ОПИСАНИЕ

ИЗОБРЕТЕНИЯ

К МВТОРСКОНУ СВИ ВТИЛЬСТВУ

Сеюэ Советских

Социалистических

Рвс трубя им ()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 (протоЗо тип).