оо
«д
ч
название | год | авторы | номер документа |
---|---|---|---|
Генератор векторов | 1979 |
|
SU924741A1 |
Устройство для отображения векторных диаграмм на экране электронно-лучевой трубки | 1988 |
|
SU1541663A1 |
Устройство для формирования видеосигнала | 1990 |
|
SU1741124A1 |
Устройство для генерации векторов на индикаторе с черезстрочной разверткой | 1980 |
|
SU922718A1 |
Устройство для отображения графической информации на экране телевизионного приемника | 1981 |
|
SU1084865A1 |
Устройство для генерации векторов на индикаторе с растровой разверткой | 1980 |
|
SU922719A1 |
Устройство для отображения информации на экране электронно-лучевой трубки | 1981 |
|
SU1005170A1 |
Вероятностное устройство для решения уравнения Лапласа | 1983 |
|
SU1091172A1 |
Устройство для отображения графической информации на экране телевизионного индикатора | 1988 |
|
SU1575231A1 |
Устройство для отображения графической информации на экране телевизионного индикатора | 1989 |
|
SU1661825A1 |
Зыход
ы кэ
Изобретение относится к автоматике и вычислительной технике и может быть использовано для синтеза на экран телевизионного индикатора плоских изображений, составленных из большого числа раскрашен- 5 Ных и произвольно расположенных выпукло- вогнутых многоугольников, динамически поворачиваемых и смещаемых в процессе индикации в реальном времени (например, динамическое отображение географиче- 10 ской карты в навигационных системах),
Цель изобретения - расширение области применения устройства за счет возможности отображения изображений, сформированных из произвольно расположенных выпук- 15 ло-вогнутых многоугольников, в реальном масштабе времени..
На фиг, 1 представлена блок-схема устройства; на фиг, 2 - блока управления; на фиг. 3 - генератора вектора; на фиг, 4 - 20 второго формирователя управляющих сигналов; на фиг. 5 - временная диаграмма запуска процесса штрмхования; на фиг. 6- пример определения координат концов штриховых отрезков; на фиг. 7 - блок-схема 25 алгоритма дешифрации команд, запускающих и останавливающих процесс штрмхо- вания; на фиг. В - блок-схема алгоритма управления генерацией векторов и формирования горизонтальных векторов; на фиг. 30 9- блок-схема алгоритма анализа типа вектора и штрихования вершин; на фиг. 10 - блок-схема алгоритма генерации и запуска процесса штрихования для вертикальных векторов; на фиг. 11 - блок-схема алгоритма 35 генерации и запуска процесса штрихования для произвольных векторов; на фиг. 12 - блок-схема алгоритма штрихования; на фиг. 13-примеры определения начальных точек обхода для различных типов многоугольни- 40
КОВ. . ; ; -.
Устройство содержит первый блок 1 памяти, генератор 2 векторов, блокЗуправле- ния, коммутатор 4, второй блок 5 памяти, регистр 6, первый 7 и второй 8 триггеры, 45 первый формирователь 9 управляющих сигналов, третий 10 и четвертый 11 триггеры, второй формирователь 12 управляющих сигналов, третий блок 13 памяти, первый 14 и второй 15 счетчики, блок 16 сравнения. 5.0
Позициями 17-34 обозначены связи между блоками устройства..
Блок 3 управления содержит счетчик 35 элементов строки, счетчик36 строк, счетчик ,37 команд, дешифратор 38 команд, триг- 55
гер 39, регистр 40 цвета вектора, регистр 41 цвета штриховки, коммутатор 42 и синхро- низатор 43. .
Генератор 2 векторов содержит первый Накапливающий сумматор 44, постоянный
блок 45 памяти синусов и косинусов, анализатор 46 угла, триггер 47 начала штрихования, триггер 48 атрибута штрихования, счетчики 49 и 50, синхронизатор 51, элементы 52 и 53 И, второй и третий накапливающие сумматоры 54 и 55, счетчик 56 длины вектора.: :
Формирователь 12 управляющих сигна- лов.содержит триггер 57 периода штрихования, формирователь 58 импульсов записи и чтения, элемент И 59, регистр 60 координаты конца вектора, триггер 61 управления и элемент И 62.: -..:
При выполнении штриховки устройство работает следующим образом. :
В блоке 1 хранится дисплейный файл,, описывающий изображение. Сегменты дисплейного файла, описывающие штрихуемые, динамически поворачиваемые многоугольники, составляются из следующих команд устройства: ,; //: : ..- -.. ;
СТАРТ-Цг начальный запуск процесса штриховки области, описанной ниже (цвет штриховки Ц|); ч . :. -, :/ : ,:. .-..СТОП -останов или приостднов процесса штриховки; :,.;... -:.;„ . ::-- ; У ;
РЕСТАРТ-Ц| - возобновление процесса штриховки Цветом Ц после приостанова (i, j - любые);.
ЛОМАНАЯ {vi (1, .Ui), v2 (pz, Ё, U2),...,vn (рп, Гь, Цп)}, где vi ((f,,t, Ц() вектор ломаной;
Р - vi-1, vi - угол между векторами vi и VM; .
fi - длина вектора vi;:
Ц| - цвет вектора vi.
Начальный угол ломаной и координаты начальной точки ее обхода могут динамически изменяться, вызывая тем самым поворот и (или) перенос штрихуемой области, Ломаная может быть как замкнутой, так и разомкнутой. Команды СТОП и РЕСТАРТ могут приостанавливать и возобновлять процесс штриховки после построения любого вектора ломаной,;,: .
Штриховка осуществляется в один проход при обходе контура области, ограниченной ломаной. Обход осуществляется по часовой стрелке.
Процесс штриховки (фиг. 6) заключается в последовательном построении в каждой телевизионной строке у;, пересекаемой контуром, горизонтальных отрезков (штрихов), ограниченных координатами XIH и XIK точек пересечения строки с соответствующими отрезками контура.
Значение координаты xi точки пересечения стороны контура с текущей телевизионной строкой yi интерпретируется как
начальная координатах) штриха, если старший бит ячейки с адресом yi блока 13 равен
единице, в противном случае xi интерпрети- руется как конечная точка XIK текущего штриха. Начальные координаты Х|н записываются в ячейку yi блока 13, при этом старший бит ячейки обнуляется. Если точка xi является конечной точкой текущего горизонтального отрезка, то процесс обхода контура приостанавливается, з старший бит ячейки у) записывается единица и в строке У строится текущий штрих,
Начальная установка всех ячеек блока памяти 13 осуществляется по команде СТАРТ-Ц| и заключается в записи единицы в старший разряд ячеек блока.
Генератор 2 векторов выполняет две функции:
формирование и запись пикселей ломаных в блок 5 (видеопамяти, если режим штриховки не задан (триггер 48 атрибута штриховки сброшен в ноль);.
вычисление значений xiH, XIK, yi, задающих параметры штрихов, если режим штриховки задан (триггер 48 установлен в единицу). При этом запись пикселей контура в видеопамять не производится. Исключение составляют горизонтально расположенные отрезки к онтура, которые в режиме штриховки формируются генератором векторов. Однако цвет пикселей горизонтально расположенных отрезков контура в режиме штриховки выбирается из регистра 41 цвета штриховки, а не из регистра 40 цвета вектора. Управление цветом пикселей осуществляет коммутатор 42 цвета, : ., :/
УстройствЬ позволяет корректно штри-.
ховать выпукло-вогнутые многоугольники с произвольным угловым положением в плоскости экрана, форма которых удовлетворяет, следующему ограничению, .
. Если на контуре или в вершине многоугольника можно найти такую точку, что лю-. бой луч, проведенный из этой точки в любую .вершину многоугольника, полностью принадлежит этому многоугольнику, то такой многоугольник может быть корректно заштрихован при любом угловом-положении многоугольника в системе координат экрана.. v. . ; - :, - . .
Любая точка контура, удовлетворяющая . приведенному условию, может быть принята за начальную точку обхода. На фиг. 13 показаны примеры различных многоугольников и их начальных точек обхода. Всегда корректно штрихуются выпуклые и звездообразные правильные многоугольники (13а, 136), где В - точка начала обхода. Многск угольник фиг. 13в не может быть заштрихован без разбиения его на две части,
штрихуемые независимо. Так как в растровой графике отрезки прямых 1апп роксимируются горизонтальными или вертикальными отрезками (лестничный
эффект), то, как это видно из фиг. 6, при обходе контура в качестве координат XIK, xi выбираются координаты внешних Граничных точек соответствующих горизонтальных отрезков, отмеченные на фиг.б в виде х.
С целью правил ьного выбора XiH,xiK, а также для правильной штриховки вершин в устройстве производится анализ типа вектора и типа вершины. Тип текущего вектора определяется анализатором угла ,46 по
абсолютному углу наклона вектора F и хра нится в триггере 10 типа текущего вектора (см. фиг. 9). Триггер 10 сбрасывается в ноль
37
F яили-д-Ж Р 2лгиустанавливается в единицу в остальных случаях.
При обходе контура в случае штриховки при
.переходе на новую строку у в зависимости
от состояния триггера 10 осуществляется
выбор номера строки штриха yi (см. фиг, 11),
а именно yi у, если триггер 10 установлен в единицу, И У( ;у ± 1в противном случае. Здесь у - номер строки, из которой происходит переход в новую строку.;
Для обеспечения корректной штриховки вершин типа вектора дополнительно вводится знак пргиращения координаты у, хранимый в триггере 7 инкремента вектора.: Триггер 7 устанавливается анализатором уг- . ла 4.6 в единицу при 0 сбрасывается
в ноль в противном случае (см. фиг. 9).
Тип вершины характеризуется парой векторов, ее образующих. Триггеры 8 и 11 запоминают тип и инкремент (i-1)-ro вектора. При загрузке нового i-ro вектора состояние триггера 7 и 10 (1-1 )-го вектора копируется в триггерах 8 и 11 (i-1)-rp вектоpai,-. - . . : .
. Анализ типа вершины осуществляется формирователем 9, который запускает процесс штриховки при выполнении условия (триггер 7.- триггер 8) (триггер 10 - триг- гер 11) (см. фиг. 9).
;, Формирование штрихов и запись пикселей штриха в блок 5 видеопамяти осуще- ствляется счетчиком 15 под управлением
генератора 2 и формирователя 12. В TQM случае, если дешифратор 38 иден- тифицирует команду СТАРТ-Ц, то выполняется последовательность операций (фиг. 7), настраивающая соответствующие узлы: (триггеры 47, 48, коммутатор 42, регистр 41, блок 13) на процесс штрихования. .
Команда СТАРТ-Ц отменяется коман- дои СТОП, по которой триггер 48 сбрасывается в О. Этот сигнал запрещает запись данных в блок 13 (выход 24з), подключает регистр 40 на выход 18 блока 3 и обеспечивает подачу управляющих сигналов с генератора 2 (выход 25) через коммутатор 4 на вход блока 5; тем Самым процесс штр йхрв|- нйя приостанавливается, а генератор 2 под- ключается к видеопамяти 5, Командна РЕСТАРТГ-Ц устанавливает триггер 48 В ср- сТряние 1 и возобновляет процесс щтрихования.л;7;;Н .; ; ;;-; :r vv/ v : ;: Генератор 2 формируетбгйба&Цуф штрихуемого многоугольника, генерируя последовательность векторов под упрзвле- нием команд ВEKTOP vr(, fi, Ц|), гдеде- угол между векторами vi и-;vi-i. -ft.:- Длина .; вектора (количество итераций); Цг цвет/ Процесс построения вектора представлен на схеме фиг. 8...11, Т: .,: /;;: ;..; v:-: . v . Загрузка угла р сопровождается сум рованием F F.+ i в сумматоре 24, где абсолютный угол Наклона, накопившийся в результате предыдущие загрузок (фиг. 8); длина вектора ((записывается всчётчик ,5б числа итераций, цвет li - в регистр 40. Пр- еле загрузки параметров вектора запускаются формирователи координат х (блоки ;49, 6.2 и.54) и у;(блрки 50, 53 И 55) и работа от в Соответствии с Алгоритмом; рредс Е ён- Иым на фиг. 8-1 Т, Перед йаЧало/у сформирования координат выполняется анаЛШтит|$ вектора (фиг. 9), в Ьёз ьтате крторОгЬ триггеры 7, 8, 10, 11 устана влйбают 6 оТветствующее состояние/ СостЬяниё . триггербК учиТьгвеется,; при определении координат концов Штриха в процессе шТрй Ьвания, как ykaaaHd выше.
Анализ типа вектора осуществляется по стробу 30 (фиг. 5)f ;Vv;;: 7 -1;; :гй: 5;- :ч,й ; В соответствий со схемой, НрйвеДенной на фиг. 9, устанавливаются триггеры 7 и 10 (выход 23i, фиг. 3,5). При aTofvii пр1едыду 4ёе;: сЬстрянйе указанных Триггеров переписывается в триггеры 8 и 11. В резуД атё после: загрузки Очередного йёктйра триггеры 7, 9, 10, 11 хранят тип прёдыдущегЬ и текущего векторов, что необходймо Для п ра вил ьнргр выбора координат концов штриха вёрщин многоугольника. Формирователь 9 в соответствии со Схемрй фиг. 9 по стробу 24i (фиг, 5) проверяет условия запуска блока 12 для формирования штриха, б том случае, если условие запуска выполнено, на выходе 33 формирователя 9 формируется сигнал (фиг. 5), переключающий триггер 57, который блокирует генератор 2.
После этого блокрм 12 бсуществляется проверка старшего разряда данных, считанных в регистр 60 (фиг. 1). Этот признак ori
И
10
15
20
25
Зб:
35
40
45
50
5
редёляет, сформирована ли координата начала штриха (xiM, фиг. 6) для |-й строки (адрес у;) памяти 13 сЬ ОТве тсТвуёт состоянию yi
СЧеТЧ иКа 5 Г5;:;Г;::-: ,;,::;;( ;.,: л - ;: -л..):.-:,.
, Е|СЛИ прйзйак равёй 0, то считывается, что крЬрдината xi сформирована, а текущее : cpcVpSiHiite (етчика 49указывает крордина- .:
т ТЙэйЙёгчютрйха (XIK), В этрм лёр€р
кя 1рчает : 1 пЬступлеДие сйяхрой пул Ьв через Г М;ент,, Й выхо/ii 5j ria вход счетчйкэ 15 Ук за ный чеггчий: формирует адрёса йпи-; фл: пр ко дййате Х йачй ай са Дрёса xi-, др ;: те х j№dp, пой &Ш срЬтбянйе не станет рав- ; шм срй|рянй(р счётчика 49. При сртвладё- и с оШояйИй счётчиков 15 i/if;4l9.блбк УЩ: сйавй й формирует 12), котйрый сбрасывает триггёр 57, ;aiafiy - сйнхррнй а ор 51 / Тем амйым -f процесс: ф рййр рвания и С|гиб 1д ей; генератор
Tflldrtiiiaet/ генерировать к01р дй т ы; ;й;:У: |.;
;. пикселей. Этот процесс Йрдд Щафт ся , nejpexpfle генератора.2 ни(сйедуйрщуй стрР:-: :-.-. ку. t afcT; перехода на спе$ю ю $ &ф;уй %,
т| на в л tie а:етсй ; / п Ь;: р я:нм;|р:;; в;ы а; ; элементХЙ;53; )|аЩ ваход .
pa 5i5 дробной: частот адрёс у1|вь хрд 24t; i блока 2) свйдёт гьст вуейг Ь нёобх()( пёрёклточения С11 а1$дцел реса (переход на следУющ 0 стррку а т к Л;
же ,нё о бхр д и мости: условий i щтрйхов| н;ия Данной етрми, как указано ;г
. .
:-, :,( Слёдуёт о Тм гйть;ч о й $о.йт|1 ьныё; , еёрти альные векторы фррмиру ртс й(рйёцй- ;v альНы1ц.6бразрм (фйг78у V.f0) ( Г1рс рёдЈ:тврй;:э/( 52 и 53,и наКаплйг/;;;;
/1вак)0дй сумматоров ё4 и 55. от счётчиков 49 ; И 50, §То прзв р71йет уск6рйть процесс фор-Д
ййрЪв9й1Йй ьгзрнтал bHibix и вёртика/iьных ;:f: ;e K 6/ppJ -: ;;-;
i - ХЙнхррнЙз цШ в ;ег:6 устройства и yri- ра&лё|Ви процессами фор.миррванйя изб-;; - и регенерации его на экране ТВ i; мо нйтйра выполняется блоком 3, v ; i- i ;/3 и : ; Бшк 3 обращается в блик 1: памяти за V Текущей командой дешифрует 4е и jbcyiUeex-; СТвляет загрузку и запуск генератора12. Kpiij- мё тргр,; блрк; 3 синхронизирует рабЬту ; нбвогр уЬтройства. Синхронизатор 43 фор- с мируётУг1равл дщие сигна/tbi я счетчиков f 35, З б, которые ё темпе тё вЩионнрй раз- :; вёртки генерируют адреса чтения для блрка 5 вйдерпамяти. Блок 5 представляет собой мнбгбслрйную битйву р карту изображения с двойной буферизацией, что позволяет осу ществлять одновременно два процё С(;а за- пись дэнных в блок 5 (создание нрврго Кадра изображения) и регенерацию изображения на экране изображения, т.е. отображение старого кадра. Сменой кадров или переключением буферов управляет триггер 39 по выходам 184 и 18s следующим образом: в случае идентификации дешифратором 58 команды Конец дисплейного файла триггер 39 переключается в противоположное состояние, меняя местами буферы блока 5. / .-;- . ,.- :
При этом новый кадр отображается на экране индикатора, а старый стирается, После этого запускается процесс генерации нового кадра. Счетчики 3.5 и 36 управляют работойтого буфера блока5, которыйучаст- вует в процессе регенерации г зображения.
Заявляемое устройство для отображения информации обеспечивает возможность штриховки более Широкого класса выпукло-вогнутых многоугольников, динамически поворачиваемых в реальном масштабе времени. При этом начальная точка обхода контура не изменяется, что обесйе - чйвает расширение области применения устройства.
Ф о р м у л а и з о б р е т е н и я
Устройство для отображения информации, содержащее первый, второй и третий блоки памяти, регистр, блока сравнения, блок управления, генератор векторов и ком-;. мутатор, выход которого соединен с информационным входом второго блока памяти, адресный вход которого подключен к первому выходу блока управления, второй выход которого соединен с адресным входом первого блока памяти, отличающееся тем, что, с целью расширение области применения устройства за счет отображения изображений, сформированных из произвольно расположенных выпукло-вогнутых многоугольников, в реальном масштабе времени, оно содержит с первого по четвертый триггеры, первый и второй формирователи управляющих сигналов, первый и второй счетчики, информационный, вход второго счетчика подключен к выходу третьего бло- памяти, управляющий вход - к первому выходу второго формирователя управляющих сигналов, а выход - к первому входу
блока сравнения и первому информационному входу коммутатора, второй информационный вход которого соединен с выходом первого счетчика, подключенным к адресно- му входу третьего блока памяти, информационный вход которого подключен к первому выходу генератора векторов, соединенному с информационными входами первого счетчика и регистра и третьим информационным входом коммутатора, вход- выход генератора векторов соединен с управляющим входом первого счетчика и синхровходом второго формирователя уп- равляющих. сигналов, вход-выход которого
подключён к выходу-входу третьего блока памяти, вход-выход блока управления подключен к адресному входу генератора векторов, управляющему входу коммутатора и синхровходзм с первого по четвертый триггеров, выходы которых соединены с управляющимм входами первого формирователя
управляющих сигналов, информационный
вход которого соединен с вторым выходом
генератора вектсфов, подключенным к первому информационному входу второго фор- мировзтеля управляющих сигналов, управляюш,ий вход которого подключен к выходу первого формирователя управляющих .сигналов, а синхровход - к второму
выходу блока управления, соединенному с синхровходом генератора векторов, второй выход второго формирователя управляющих сигналов подключен к четвертому информационному входу коммутатора, выход
регистра соединен с вторым входом блока сравнения, выход которого подключен к второму информационному входу второго формирователя управляюидих сигналов, выход первого блока памяти соединен с информационными входами блока управления и генератора векторов, выход второго блока памяти является выходом устройства, третий выход генератора векторов соединен с информационными входами первого и
третьего триггеров, выходы которых
подключены к информационным входам соответственно второго и четвертого триггеров.
Ill
2o
. z
. Фиг.З
i фиг. 5
Vitxj
%
-Ko X t .
/МодификаЛ шия счетчи- ка коман& Ы
fipuittip/) amop команд 38
s%em
p№W fftff- манды
Cmapm-Hi.
Старт-U i (лист 25)
Ресмарт-и
Рестарт (Лист 26).
Стоп
CSpoc триггера №
УстамвВка юмму/яа/пощ bl на зяшь пикселей ц&е- топ 8 кюора
Вектор (Ы,Ъ)
Вектор (fiucm 2)
ййчй/я нал установка вязка 13 яв А fi# ffi/fffff/gffp&ff- яехцем $п. Л)
Сре&№#т-Ц;Л
Устамбт
Оюр1/$у/т
wmpuxofiittj
ком мутатора 42т запись ликс5- л&п цбетан Гектара. .
Запись цвета tti 8 р&гистр 4/ м,8ета штрихавкс/
(Мчама (
Фиг, 7
f Вектор ($-(рЯц{) )
Зстанодка. -Установка /nfltxтраггераЮти-zepafffww
паве/апораВВектора, о
состояние V.состояние О
Анализапш угла 46
sfurt . .. ..- ..::.,..
. .,
Установка Hc/vtrMffxa
триггера Тин-триггера 7иккремента 8ек-креме#л а Зекпора 8состоя-тора 8состояние /
-------------------- 1tl I I.I ill III. II.I | II п..I. I.
((Триггер 6W)& (триггерЪ т г - ) Ј(/приггеШ триггер 11)))i i
Г -
Штрмовколбершинь
мнйгоушнцка
- й П JT-.
--- а (Cfpocafli1} /ffl7ff#00xa ШтриюВка KpufyindмаЛЛ аиг / а 47
(лист 21) лапрщта - - --.--.-.
1 tatnauxoffрниунпл i ifjjai/fff&it ff
J
, Временное дцагранмы см. фиг. 5
Фиг.9
штриховка Л
Счегпчцк а$реС001Ч - C4eiJ}4tJK
50 (адрес SAQKO. памяти )
ъвгп ;r.; v . -:.: ормцру батель 58
Запись начат штрихе.
Запись В ячейка $л.П с адресе Счм содержи мою счетчики.
WIX):. :-:
для строки
Конец -Рг6 Сч15
Г Но ней, Ч -г штриховки
Ячейка eBofotitta для ймиштчсшг
сле инуЩего utmpt/xzi 8
смрже Х ; :
t/rvet пиксела . fanаВин) кйрту чвреэ КОМ- му/гмпюры
ыг
граб№ « - ... we схемой PtS Сч15 76 регистрц 6 jj счетчи
Л
рШ/Vtf
/Янкремем. /сче/пщксг15 Wrv/5f
X Sl i/
±±Г
Фиг.11
Фиг. 13
Устройство для изготовления адресных бандеролей из бумажной ленты в адресопечатающей машине | 1924 |
|
SU1462A1 |
Разборный с внутренней печью кипятильник | 1922 |
|
SU9A1 |
Авторы
Даты
1993-05-23—Публикация
1990-03-26—Подача