специализированный вычислитель для устройств машинной графики
Классы МПК: | G09G1/08 в которых луч непосредственно вычерчивает знаки, при этом воспроизводимая информация управляет отклонением луча, являющимся функцией времени в двухкоординатной системе, например в декартовой системе координат G06F7/32 подборка, те объединение данных, записанных в определенной последовательности минимум на двух носителях информации, на одном или на группе носителей с той же последовательностью записи |
Автор(ы): | Кибкало Владимир Иванович, Бородин Владимир Тимофеевич |
Патентообладатель(и): | Кибкало Владимир Иванович, Бородин Владимир Тимофеевич |
Приоритеты: |
подача заявки:
1994-04-18 публикация патента:
20.04.1996 |
Изобретение относится к автоматике и вычислительной технике и может быть использовано в устройствах машинной графики, в частности в системах синтезирования изображений. Цель изобретения - повышение скорости вычислений и сокращение объема оборудования. Сущность изобретения: вычислитель содержит буферные блоки, блок масштабирования, блок преобразования координат, блок исключения изображения невидимых граней объекта, блок селекции элементов изображения объекта по размеру, блок памяти, блок управления. 2 з. п. ф-лы, 4 ил.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4
Формула изобретения
1. СПЕЦИАЛИЗИРОВАННЫЙ ВЫЧИСЛИТЕЛЬ ДЛЯ УСТРОЙСТВ МАШИННОЙ ГРАФИКИ, содержащий блок управления, блок памяти, первый и второй буферные блоки, генератор тактовых импульсов, выход которого подключен к тактовому входу блока управления, первый и второй выходы которого соединены соответственно со стробирующим и управляющим входами первого буферного блока, выход которого соединен с шиной данных, третий и четвертый выходы и входы группы блока управления подключены соответственно к входу запись-считывание, управляющему и адресному входам блока памяти, информационный вход-выход которого соединен с шиной данных, пятый выход блока управления подключен к стробирующему входу второго буферного блока, информационный вход которого соединен с шиной данных, вход-выход блока управления, входы первого буферного блока и выходы второго буферного блока являются входом-выходом вычислителя, отличающийся тем, что он содержит блок масштабирования, блок преобразования координат, блок селекции элементов изображения объекта по размеру и блок исключения изображения невидимых граней объекта, вход-выход блока преобразования координат, информационные входы блока масштабирования и блока селекции элементов изображения объекта по размеру соединены с шиной данных, первый и второй управляющие и стобирующий входы блока масштабирования соединены соответственно с шестым, седьмым и восьмым выходами блока управления, первый и второй выходы блока масштабирования соединены соответственно с вторым и третьим информационными входами блока преобразования координат, стробирующие и управляющий входы которого соединены соответственно с девятым двенадцатым выходами блока управления, выход блока преобразования координат соединен с информационным входом блока исключения изображения невидимых граней объекта, управляющий вход которого подключен к тринадцатому выходу блока управления, а выход к первому информационному входу блока управления, второй информационный вход которого соединен с входом блока селекции элементов изображения объекта по размеру, стробирующий вход которого соединен с четырнадцатым выходом блока управления. 2. Вычислитель по п. 1, отличающийся тем, что блок масштабирования содержит селектор, регистр, триггер, элемент ИЛИ и элемент И, первый вход которого и вход обнуления триггера являются соответственно первым и вторым управляющими входами блока, стробирующим входом которого является стробирующий вход регистра, управляющий вход которого подключен к выходу триггера, соединенному с управляющим входом селектора, выход элемента ИЛИ подключен к второму входу элемента И и информационному входу триггера, стробирующий вход которого соединен с выходом элемента И, входы элемента ИЛИ и информационные входы селектора и регистра являются информационными входами блока. 3. Вычислитель по п. 1, отличающийся тем, что блок преобразования координат содержит первый, второй и третий умножители и сумматор, первые информационные входы умножителей и первый вход сумматора являются входом-выходом блока, выходом которого является второй выход сумматора, вторые информационные входы умножителей являются вторым информационным входом блока, третьим информационным входом которого является первый информационный вход сумматора, второй, третий и четвертый информационные входы которого подключены к выходам соответственно первого, второго и третьего умножителей, входы которых являются стробирующими входами блока, управляющим входом которого является управляющий вход сумматора.Описание изобретения к патенту
Изобретение относится к автоматике и вычислительной технике и может быть использовано в устройствах машинной графики, в частности в системах синтезирования изображений. Цель изобретения повышение быстродействия и упрощение вычислителя. На фиг. 1 представлена структурная схема вычислителя; на фиг. 2 функциональная схема блоков масштабирования и преобразования координат; на фиг. 3 _ структурная схема блока селекции элементов изображения объекта по размеру; на фиг. 4 наземная и связанная система координат. Вычислитель содержит первый буферный блок 1, блок 2 масштабирования, блок 3 преобразования координат, блок 4 исключения изображения невидимых граней объекта, второй буферный блок 5, блок 6 селекции элементов изображения объекта по размеру, блок 7 памяти, блок 8 управления и генератор 9 тактовых импульсов. Позицией 10 обозначена шина данных. Блок 2 масштабирования содержит селектор 11, регистр 12, элемент ИЛИ 13, триггер 14 и элемент И 15. Блок 3 преобразования координат содержит умножители 16-18 и сумматор 19. Блок 6 селекции элементов изображения объекта по размеру содержит блок 20 памяти обратных величин, умножитель 21 и элемент И 22. Перед началом вычислений в блок 7 памяти заносятся коэффициенты aijматрицы преобразования. Затем в блок 3 преобразования координат через блок 2 масштабирования заносятся текущие координаты объекта, на котором размещен индикатор, например, самолета xc, yc, zc, где они умножаются на матричные коэффициенты. Результаты умножения xc", yc", zc" записываются в блок 7 памяти. Затем в умножители 16, 17 и 18 блока 3 передаются координаты начальной точки первого отображаемого объекта xн, yн, zн, которые умножением на матрицу и суммированием с величинами xc", yc", zc" преобразуются в координаты начальной точки объекта в связанной системе координат xос, yос, zос. В следующем такте в блок 6 записывается максимальный габаритный размер отображаемого объекта и осуществляется операция оценки его размера на экране индикатора. Если размер меньше заранее выбранной величины, например нескольких точек на экране, то с выхода блока 6 в блок 8 управления поступает сигнал исключения данного объекта из изображения. Если размеры объекта превышают выбранный порог селекции, то производятся, во-первых, аналогичная оценка размера первой грани данного объекта и, во-вторых, оценка ее видимости по затенению путем определения знака скалярного произведения(1) где вектор единичной нормали к данной грани, приведенный к началу координат связанной системы. Для этого в блок 3 вводятся координаты Nx1, Ny1, Nz1 конца нормали. Скалярное произведение находится по формулам
Nx1"=a11 Nx1+a12 Ny1+a13 Nz1
Ny1"=a21 Nx1+a22 Ny1+a23Nz1 (2)
Nz1"=a31 Nx1+a32 Ny1+a33 Nz1
XocN+YocNZocNZ1 где Nx1", Ny1", Nz1" координаты конца нормали в связанной системе координат. Знак скаляра снимается со знакового выхода сумматора 19 блока 3 и запоминается на триггере блока 4. Если знак скаляра положительный, то с выхода блока 4 в блок 8 поступает сигнал исключения данной грани из изображения. После этого производятся операции вычисления повернутых координат начальной точки следующей грани, например X4, Y4, Z4, и селекция этой грани по размеру и затенению. Если знак скаляра отрицательный, то грань видна и осуществляется пересчет в связанную систему координат остальных точек этой грани (например, X1, Y1, Z1; X2, Y2, Z2; X3, Y3, Z3. Пересчитанные координаты из сумматора 19 блока 3 выводятся на шину 10 данных и записываются в буферный блок 5, откуда поступают на выход вычислителя. Аналогично производится пересчет координат остальных граней данного объекта, после чего осуществляется переход к следующему объекту изображения. Блок 2 масштабирования работает следующим образом. С целью большей детализации отображаемых объектов разрядная сетка при их записи в базу данных или при подготовке дисплей-файла расширяется на некоторое число n разрядов, величина которого зависит от требований к конкретным системам синтеза изображений. В этом случае объект на больших дальностях, когда его размеры на экране индикатора малы, воспроизводится с меньшим, а на малых дальностях с большим количеством элементов. Для этого l младших разрядов информационных входов первой группы селектора 11 соединены с l старшими разрядами, исключая знаковый, шины 10 данных. Здесь l=k-n 1, где k полная разрядная сетка вычислителя. Информационные входы второй группы селектора 11 соединены с соответствующими разрядами шины 10 данных. Информационные входы первой группы двухпортового регистра 12 соединены с соответствующими разрядами шины 10 данных, а l старших разрядов информационных входов второй группы с l младшими разрядами шины 10 данных. Входы элемента 13 ИЛИ соединены с n старшими (кроме знакового) разрядами шины 10 данных. При вычислении координаты Xос начальной точки объекта в связанной системе координат сигнал на выходе элемента ИЛИ 13 будет равен единице, если хотя бы один из старших n разрядов равен единице (большая дальность), или нулю, когда все n старших разрядов равны нулю (малая дальность). Это значение фиксируется в качестве масштаба на триггере 14. Если при вычислении координат Zос или Yос на выходе элемента ИЛИ 13 появится "1", что говорит о большом удалении объекта по этим координатам, управляющий сигнал из блока 8 управления через элемент И 15 установит на триггере 14 масштаб большой дальности. Блок 3 преобразования координат работает следующим образом. В умножители 16. 17 и 18 через входы первой группы последовательно вводятся первые сомножители значения преобразуемых координат, а через входы вторых групп матричные коэффициенты. Затем в регистр 12 записывается четвертое слагаемое Xс, после чего на выходе сумматора 19 появляется первая преобразованная координата Xос. Затем в множители 16-18 вводится следующая группа матричных коэффициентов, в регистр 12 записывается новое слагаемое Yс, на выходе сумматора 19 появляется следующая преобразованная координата и т. д. Если возникает необходимость в ускорении процесса вычислений, запись сомножителей в множители 16-18 и четвертого слагаемого в регистр 12 может выполняться одновременно. Для этого в блоке 2 масштабирования необходимо установить дополнительно два селектора 11, подключенных к автономным шинам данных, а блок 7 памяти разделит на четыре автономных блока, подключенных непосредственно к информационным входам регистра 12 и входам вторых групп множителей 16-18. В этом случае преобразованные координаты Xос, Yос, Zос будут выдаваться последовательно за один два такта. Дальнейшее ускорение работы вычислителя может быть достигнуто путем включения в него еще двух блоков 3 преобразования координат, работающих параллельно. При этом все три координаты Xос, Yос, Zос будут вычисляться одновременно. Блок 6 в простейшем случае может быть реализован на делителе и элементе И. Размер L объекта на экране индикатора оценивается выражением
L=P / Xос, где максимальный габаритный размер объекта;
P коэффициент перевода угловых размеров наблюдаемого объекта в линейные размеры изображения. Операция деления в известных делителях требует больших затрат машинного времени. Эта операция может быть ускорена при использовании комбинаций умножителя и блока памяти, в который записаны обратные величины. Выходы блока 20 обратных величин подключены к информационным входам второй группы умножителя 21, k-t старших выходов которого подключены к входам элемента И 22 (t число разрядов, определяющих допустимый минимальный размер изображения на экране). Если все k-t старших разрядов равны нулю, с выхода элемента И 22 в блок 8 управления поступает сигнал исключения данного объекта из изображения. Блок 4 реализуется на триггере, который запоминает знак скалярного произведения на время перехода к отображению следующей грани объекта. Блок 8 управления может быть построен в виде блока микропрограммного управления, в ПЗУ которого содержатся алгоритмы решения перечисленных выше задач.
Класс G09G1/08 в которых луч непосредственно вычерчивает знаки, при этом воспроизводимая информация управляет отклонением луча, являющимся функцией времени в двухкоординатной системе, например в декартовой системе координат
Класс G06F7/32 подборка, те объединение данных, записанных в определенной последовательности минимум на двух носителях информации, на одном или на группе носителей с той же последовательностью записи