RU2058600C1 - Специализированный вычислитель для устройств машинной графики - Google Patents

Специализированный вычислитель для устройств машинной графики Download PDF

Info

Publication number
RU2058600C1
RU2058600C1 RU94013399A RU94013399A RU2058600C1 RU 2058600 C1 RU2058600 C1 RU 2058600C1 RU 94013399 A RU94013399 A RU 94013399A RU 94013399 A RU94013399 A RU 94013399A RU 2058600 C1 RU2058600 C1 RU 2058600C1
Authority
RU
Russia
Prior art keywords
input
unit
output
inputs
control
Prior art date
Application number
RU94013399A
Other languages
English (en)
Other versions
RU94013399A (ru
Inventor
Владимир Иванович Кибкало
Владимир Тимофеевич Бородин
Original Assignee
Владимир Иванович Кибкало
Владимир Тимофеевич Бородин
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Владимир Иванович Кибкало, Владимир Тимофеевич Бородин filed Critical Владимир Иванович Кибкало
Priority to RU94013399A priority Critical patent/RU2058600C1/ru
Application granted granted Critical
Publication of RU2058600C1 publication Critical patent/RU2058600C1/ru
Publication of RU94013399A publication Critical patent/RU94013399A/ru

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

Изобретение относится к автоматике и вычислительной технике и может быть использовано в устройствах машинной графики, в частности в системах синтезирования изображений. Цель изобретения - повышение скорости вычислений и сокращение объема оборудования. Сущность изобретения: вычислитель содержит буферные блоки, блок масштабирования, блок преобразования координат, блок исключения изображения невидимых граней объекта, блок селекции элементов изображения объекта по размеру, блок памяти, блок управления. 2 з. п. ф-лы, 4 ил.

Description

Изобретение относится к автоматике и вычислительной технике и может быть использовано в устройствах машинной графики, в частности в системах синтезирования изображений.
Цель изобретения повышение быстродействия и упрощение вычислителя.
На фиг. 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 управления поступает сигнал исключения данного объекта из изображения.
Если размеры объекта превышают выбранный порог селекции, то производятся, во-первых, аналогичная оценка размера первой грани данного объекта и, во-вторых, оценка ее видимости по затенению путем определения знака скалярного произведения
Figure 00000001
(1) где
Figure 00000002
вектор единичной нормали к данной грани, приведенный к началу координат связанной системы.
Для этого в блок 3 вводятся координаты Nx1, Ny1, Nz1 конца нормали. Скалярное произведение находится по формулам
N ' x1 =a11 Nx1+a12 Ny1+a13 Nz1
Ny ' 1 =a21 Nx1+a22 Ny1+a23Nz1 (2)
N ' z1 =a31 Nx1+a32 Ny1+a33 Nz1
Figure 00000003
XocN
Figure 00000004
+Yoc•N
Figure 00000005
ZocN′Z1 где N ' x1 , N ' y1 , N ' z1 координаты конца нормали в связанной системе координат.
Знак скаляра снимается со знакового выхода сумматора 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 управления может быть построен в виде блока микропрограммного управления, в ПЗУ которого содержатся алгоритмы решения перечисленных выше задач.

Claims (3)

1. СПЕЦИАЛИЗИРОВАННЫЙ ВЫЧИСЛИТЕЛЬ ДЛЯ УСТРОЙСТВ МАШИННОЙ ГРАФИКИ, содержащий блок управления, блок памяти, первый и второй буферные блоки, генератор тактовых импульсов, выход которого подключен к тактовому входу блока управления, первый и второй выходы которого соединены соответственно со стробирующим и управляющим входами первого буферного блока, выход которого соединен с шиной данных, третий и четвертый выходы и входы группы блока управления подключены соответственно к входу запись-считывание, управляющему и адресному входам блока памяти, информационный вход-выход которого соединен с шиной данных, пятый выход блока управления подключен к стробирующему входу второго буферного блока, информационный вход которого соединен с шиной данных, вход-выход блока управления, входы первого буферного блока и выходы второго буферного блока являются входом-выходом вычислителя, отличающийся тем, что он содержит блок масштабирования, блок преобразования координат, блок селекции элементов изображения объекта по размеру и блок исключения изображения невидимых граней объекта, вход-выход блока преобразования координат, информационные входы блока масштабирования и блока селекции элементов изображения объекта по размеру соединены с шиной данных, первый и второй управляющие и стобирующий входы блока масштабирования соединены соответственно с шестым, седьмым и восьмым выходами блока управления, первый и второй выходы блока масштабирования соединены соответственно с вторым и третьим информационными входами блока преобразования координат, стробирующие и управляющий входы которого соединены соответственно с девятым двенадцатым выходами блока управления, выход блока преобразования координат соединен с информационным входом блока исключения изображения невидимых граней объекта, управляющий вход которого подключен к тринадцатому выходу блока управления, а выход к первому информационному входу блока управления, второй информационный вход которого соединен с входом блока селекции элементов изображения объекта по размеру, стробирующий вход которого соединен с четырнадцатым выходом блока управления.
2. Вычислитель по п. 1, отличающийся тем, что блок масштабирования содержит селектор, регистр, триггер, элемент ИЛИ и элемент И, первый вход которого и вход обнуления триггера являются соответственно первым и вторым управляющими входами блока, стробирующим входом которого является стробирующий вход регистра, управляющий вход которого подключен к выходу триггера, соединенному с управляющим входом селектора, выход элемента ИЛИ подключен к второму входу элемента И и информационному входу триггера, стробирующий вход которого соединен с выходом элемента И, входы элемента ИЛИ и информационные входы селектора и регистра являются информационными входами блока.
3. Вычислитель по п. 1, отличающийся тем, что блок преобразования координат содержит первый, второй и третий умножители и сумматор, первые информационные входы умножителей и первый вход сумматора являются входом-выходом блока, выходом которого является второй выход сумматора, вторые информационные входы умножителей являются вторым информационным входом блока, третьим информационным входом которого является первый информационный вход сумматора, второй, третий и четвертый информационные входы которого подключены к выходам соответственно первого, второго и третьего умножителей, входы которых являются стробирующими входами блока, управляющим входом которого является управляющий вход сумматора.
RU94013399A 1994-04-18 1994-04-18 Специализированный вычислитель для устройств машинной графики RU2058600C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU94013399A RU2058600C1 (ru) 1994-04-18 1994-04-18 Специализированный вычислитель для устройств машинной графики

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU94013399A RU2058600C1 (ru) 1994-04-18 1994-04-18 Специализированный вычислитель для устройств машинной графики

Publications (2)

Publication Number Publication Date
RU2058600C1 true RU2058600C1 (ru) 1996-04-20
RU94013399A RU94013399A (ru) 1996-08-20

Family

ID=20154785

Family Applications (1)

Application Number Title Priority Date Filing Date
RU94013399A RU2058600C1 (ru) 1994-04-18 1994-04-18 Специализированный вычислитель для устройств машинной графики

Country Status (1)

Country Link
RU (1) RU2058600C1 (ru)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Григорьев В. Л. Архитектура и программирование арифметического сопроцессора. М.: Энергоатомиздат, 1991, с.170-173. *

Also Published As

Publication number Publication date
RU94013399A (ru) 1996-08-20

Similar Documents

Publication Publication Date Title
US5973705A (en) Geometry pipeline implemented on a SIMD machine
Sproull et al. A clipping divider
US4594673A (en) Hidden surface processor
KR910009101B1 (ko) 화상합성장치
US5363479A (en) System and method for rendering bezier splines
JP2501580B2 (ja) 曲線イメ−ジの可視表示発生装置
Ottmann et al. Numerical stability of geometric algorithms
US3639736A (en) Display windowing by clipping
US4924414A (en) Apparatus and method for obtaining priority numbers for drawing figures forming a display figure
Weinberg Parallel processing image synthesis and anti-aliasing
CN111127590B (zh) 一种二阶贝塞尔曲线绘制方法及装置
US8629867B2 (en) Performing vector multiplication
JPH03127282A (ja) ディジタル・イメージのランド変換装置および方法
US8681173B2 (en) Device, system, and method for improving processing efficiency by collectively applying operations
JPH0776987B2 (ja) 図形表示システムにおける図形の変換方法
CN110689597A (zh) 动画模型显示方法和装置
RU2058600C1 (ru) Специализированный вычислитель для устройств машинной графики
Ma Runtime volume visualization for parallel CFD
US6654777B1 (en) Single precision inverse square root generator
Wittram Hidden-line algorithm for scenes of high complexity
JPS6114514B2 (ru)
JP2538645B2 (ja) 曲線の折線近似装置
Bae et al. An 11M-triangles/sec 3D graphics clipping engine for triangle primitives
US7061494B1 (en) Method and apparatus for hardware optimization of graphics pipeline functions
RU2054713C1 (ru) Устройство для кадрирования трехмерных изображений при отображении графической информации