Научная статья на тему 'Алгоритмы сканирования сцены в системах визуализации'

Алгоритмы сканирования сцены в системах визуализации Текст научной статьи по специальности «Математика»

CC BY
143
44
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Гусятин Владимир Михайлович

Излагается алгоритм сканирования земной поверхности, представленной цифровыми картами, в целях синтеза ее изображения в системах визуализации.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Algorithms of scanning screens in visualising systems

Ray-tracing scan algorithm for image synthesis of scene is proposed. Basic calculation steps is offered, which may be realized on parallel-pipelined high-performance specialized processor. The algorithm is intended to large-scale scene scanning, for instance, to terrain surface represented by digital maps.

Текст научной работы на тему «Алгоритмы сканирования сцены в системах визуализации»

КОМПЬЮТЕРНАЯ ИНЖЕНЕРИЯ И ._

ДИАГНОСТИКА 'w'

УДК 681.323

АЛГОРИТМЫ СКАНИРОВАНИЯ СЦЕНЫ В СИСТЕМАХ ВИЗУАЛИЗАЦИИ

ГУСЯТИН в.м.________________________

Излагается алгоритм сканирования земной поверхности, представленной цифровыми картами, в целях синтеза ее изображения в системах визуализации.

І.Введение

Восприятие трехмерности пространства базируется на принципе сканирования окружающей среды человеком и другими живыми существами с помощью присущих им органов чувств. Создано много различных технических, медицинских и других приборов, реализующих этот принцип [1]. Здесь важно отметить, что перед преобразованием объемного 3D изображения в 2D изображение (на сетчатке, экране) как в живой природе, так и в устройствах, созданных человеком, предварительно выполняется этап сканирования. На этом этапе выявляются все элементы трехмерности изображения: удаление объектов, затенение одного объекта другим и др.

Современные системы визуализации (СВ) в тренажерах транспортных средств предназначены для синтеза на экране СВ 2D изображения сцены внекабинного трехмерного пространства. Эти системы не имеют физических средств сканирования сцены и данный этап выполняется путем вычислений. В отличие от физического определим этот этап сканирования в СВ как математическое. Вычислительные операции, которые при этом выполняются, определим как алгоритм сканирования (АС). В зависимости от метода синтеза (например, методы прямого и обратного трассирования) объем и характер вычислений являются различными [5].

В работе рассматривается АС сцены для метода обратного трассирования. При построении АС воспользуемся математической моделью для спецпроцессоров растровой графики [2]. В соответствии с этой моделью проекционный луч Vp связан с вектором наблюдения V соотношением

Vp = xV, (1)

где X — скалярный множитель.

Компоненты вектора V в матричной форме имеют вид:

56

Vx = (Ax)(Vu,Vv,Vw)T ;

Vy = (Ay)(Vu,Vv,Vw)T ; (2)

Vz = (Az)(Vu,Vv,Vw)T ,

где Ax, Ay,Az — строки матрицы вращения; Vu,Vv,Vw — компоненты вектора наблюдения V в системе координат (с/к) U, V, W, связанной с транспортным средством.

Из (1) следует, что направление Vp совпадает с V. В свою очередь, компоненты вектора V могут быть вычислены для каждого пиксела в соответствии с (2) в реальном масштабе времени [2].

В процессе растровой развертки кадра изображения для каждого пиксела с координатами экрана x э ,у э вычисляются точка пересечения P(x,y,z) проекционного луча (ПЛ) с базовыми плоскостями [2], а также могут быть вычислены угловые параметры ПЛ аир с помощью

зависимостей:

а= fi(Vx,Vy,Vz); р = f2(Vx,Vz), (3)

где ає [0,..., я]; Рє [о,...,2я), а f1,f2 - круговые функции.

Определено, что нуль для параметра а совпадает с отрицательным направлением оси у. Для параметра Р нуль совпадает с положительным направлением оси z.

Конечным результатом выполнения АС должно быть выделение для каждого ПЛ одного или нескольких графических примитивов (ГП) из общего множества, образующих сцену, с которыми возможно или точно пересекается ПЛ. В дальнейшем будем называть такие примитивы — графические примитивы-кандидаты (ГПК). Конечное множество проекционных лучей обозначим R.

2. Основные этапы вычислений АС

Этап 1. На данном этапе выполняется процесс упорядочения множества R по параметру р в соответствии с (3), в результате чего формируются подмножества R(Pi). Здесь Р; находим из соотношения „ 2п .

Pi = ^'1. <4>

где і є {о,..., Nр -1; Nр =]2я /ф[; ф — угловая погрешность СВ в радианах [3].

Каждое подмножество R(Pi) или р -срез образуется ПЛ, которые лежат в плоскостях, проходящих через центр проекции h перпендикулярно к плоскости xz, и для параметра Р которых выполняется неравенство Pi < Р < Pi+1.

В процессе упорядочения параметры а , р , P(x,y,z) элементов множества R помещают в общем случае в прямоугольную таблицу данных, адреса ячеек (А) которой задаются целочисленными значениями ко-

РИ, 2000, № 1

ординат xэ,y э [2]. Обозначим таблицу следующим образом:

хэ ,у э ^а, p,P(x,y,z). (5)

Все ячейки таблицы, в которых записаны параметры одного р -среза, организованы в список. Для этого в каждую предыдущую ячейку записывается адрес последующей. В последней ячейке, принадлежащей этому Р -срезу, записывается нулевой адрес.

Организация ячеек в один р -срез в таблице (5) осуществляется через линейную таблицу Р -срезов, i-й адрес которой вычисляется в соответствии с (4). В процессе преобразований одна ячейка i-го Р -среза в этой таблице содержит: A н — начальный адрес; A т — текущий адрес; а также атмин и атмакс — минимальное и максимальное текущие значения параметра а . По завершении преобразований в ячейке i-го Р -среза линейной таблицы содержится

Pi ^ (Aн, А к, амин, амакс )i , (6)

где Aк — конечное значение адреса ячейки Pi -среза в таблице (5); амин и амакс — минимальное и максимальное значения параметра а в Pi -срезе.

Кроме того, в определенные ячейки этой таблицы записываются глобальные значения параметра Р , задающие границы перечня всех р -срезов для обрабатываемого кадра изображения:

global (Рмин, Рмакс ) . (7)

Этап 2. В соответствии с [2] координаты ГП сцены задаются в с/к X, Y, Z в плоскости xz, т.е. имеем таблицу (физически ОЗУ)

XZ ^ ГП , (8)

где X, Z — целые числа, задающие адрес ячейки в таблице;

X є {0,1,2,...,Nx -1, Z є {0,1,2,...,Nz -1,

дит проекция Р -среза на плоскость xz. На рис.1 представлены геометрические элементы задачи. В с/к xz границы ячеек сцены заданы ортогональной сеткой. Координаты xh,yh указывают на положение центра проекции h. Из проекции точки h сплошными линиями проведены проекции Р -срезов — Si, Si+1, пересекающие границы ячеек сцены. Таким образом, задача сводится к нахождению координат точек пересечения проекцией Р -среза со строками и столбцами ортогональной сетки с помощью рекуррентных соотношений:

для строк x к+1 = x к + pAx

z к+1 = ^ +4Ax|ctgPi|; (9)

для столбцов xl+1 = xl + pAz|tgPi|

zl+1 = zl + pAz ,

где k є {0,1,...,kc} — номер шага при вычислении строки; l є {0,1,..., lc} — номер шага при вычислении столбца; kc,lc — номера шага соответственно при вычислении последней сканируемой строки и столбца; р є {1,-1};цє{1,-1}; а signр = sign sin Pi;

signц = sign cos Pi .

Пусть Ax = Az = 1, тогда вычисляем начальные значения для уравнений (9):

для строк x^4 = xh +pF(xh)

zнач _ zh +nF(xh)|ctgP^; для столбцов x нач = xh + pF (zh )|tgPi|

^ач zh +'nF(zh) ,

здесь F(xh ),F(zh) — множители, зависящие от значений дробной части координат, соответственно xh и zh , следующим образом:

F(xh) здесь {} -

{xhlЦ = -1 Fr \_ {zh}>л = -і

1 - {xhl b = +1; Zb 1 - {zhl й = +1,

значение дробной части.

здесь Nx,Nz — количество ячеек ОЗУ соответственно вдоль осей x, z.

В процессе сканирования на данном этапе вычисляются адреса ячеек таблицы (8), через которые прохо-

Как видно из рис. 1, проекция р -среза на входе ячейки может пересекать ее границу через строки или столбцы. Для определенности координаты точки пересечения на входе в ячейку обозначим xвх, zвх . Адреса ячеек X, Z образуются из целочисленной части координат xвх,zвх . Например, для случая, когда Р -срезы располагаются в первом квадранте— X = [xвх], Z = [zвх]. Так же тривиально вычисляются адреса и для других квадрантов. По вычисленным адресам из соответствующей им ячейки выбираются параметры ГП и совместно с x вх ,zвх передаются на следующий этап обработки. Вычисление уравнений (9) и этап 2 завершаются, как только просмотрены все Р -срезы в соответствии с (7).

Этап 3. В процессе выполнения этого этапа для каждого i-го р -среза осуществляется для ГП, выбранных из таблицы (8), классификация по параметру а. Целью вычислений является преобразование таблицы (5) к виду

РИ, 2000, № 1

57

хэ,yэ ^ ГПК ,P(x,y,z) (10)

Рассмотрим классификацию на примере синтеза земной поверхности, аппроксимированной плоскостями (полигонами) и представленной цифровыми картами таким образом. что в точках пересечения строк и столбцов заданы высоты.

На рис. 2 представлена возможная реализация Р; -среза и геометрические элементы задачи. Ось ординат совпадает с осью у в с/к X, Y, Z, ось абсцисс S совпадает с линией проекции Р -среза на плоскость xz. Вдоль оси S выделены отрезки Sn_i,Sn , принадлежащие ячейкам. Показаны также высоты УьУ2,-Уп-Ук земной поверхности в точках пересечения Р; -срезом ребер - соединений аппроксимирующих полигонов, где N — номер последней ячейки сцены вдоль направления S. Точка h — центр проекции, через который проходит Pi -срез. Из точки h выходит подмножество проекционных лучей R(Pi), которое ограничено ПЛ с параметрами амин и амакс в соответствии с (6). Условно показаны лучи с параметрами a n _i и ап , которые задают угловой размер Дап для n-го ГП, и j-й ПЛ с параметром aj.

Операция классификации состоит из следующих шагов:

— поочередно, начиная от S^ , вычисляются тривиально высоты Уі,У2, - Уп - Ук с использованием параметров ГП и хвх,zвх , определенных на этапе 2;

— для каждой высоты Уп вычисляется параметр

ап = ^п^п ) ;

— для каждого n-го ГП определяется Да п =а п - а п _і.

При этом, если Дап < 0 , то данный ГП исключается из дальнейшего рассмотрения, так как закрыт предыдущим ГП. В случае, если Дап > 0 , то все ПЛ, для которых а j удовлетворяет неравенству

а п _i <а j <а п , (11)

где aj = NT'j ; j Є {0,-’N a-і}; N a=fr / ф[; Пересе-

N о,

каются с поверхностью этого ГПК;

— в соответствии с (11) формируется линейная таблица для каждого i-го р -среза:

a j ^(ГПК )j. (12)

Таблица (12) является промежуточным этапом классификации. Таким образом, при последовательном прохождении Р -среза, начиная от точки S^ , можно каждому ПЛ из анализируемого Р -среза поставить в соответствие ГП, с которым этот луч пересекается, что и составляет суть классификации. Операция классификации ГП вдоль выбранного р -среза, т.е. заполнение таблицы (12), продолжается до тех пор, пока в соответствии с таблицей (6) не будут просмотрены все ПЛ, либо не будут пройдены все ячейки до N-й включительно. После этого выполняются аналогичные вычисления вдоль следующего Р;+! -среза. Просмотр всех Р -срезов завершается в соответствии с (7);

— формируется таблица (10) совмещением таблиц (5) и (12), что и является завершающим этапом классификации.

Нахождение точек пересечения для всех ПЛ из таблицы (10) в дальнейшем может быть выполнено, например, итерационным методом [4]. В случае, если точка пересечения с некоторым ГПК не найдена для некоторого a j -го ПЛ, что обычно может быть на границе двух ГПК, то вычисляется точка пересечения со следующим ГПК, проклассифицированным в порядке нарастания параметра a .

3. Выводы и рекомендации

1. Сканирование по р -срезам с учетом механизма кэширования уменьшает количество обращений к памяти сцены до числа ячеек, пересекаемых Р -срезами.

2. Классификация ПЛ по параметрам а и Р позволяет просто перестраивать систему визуализации на требуемую угловую погрешность.

3. В рассматриваемом случае АС позволяет поэтапно свести вычисление точки пересечения ПЛ с поверхностью сцены к таблице (10), время обработки которой пропорционально числу элементов разложе -ния изображения (пикселов).

4. Предлагаемый АС целесообразно использовать для синтеза сцены, расположенной на большой площади, например, земной поверхности, представленной цифровыми картами.

Литература: 1. Смирнов А.Я., Мельников Г.Г. Сканирующие приборы. Л.: Машиностроение, 1986. 145 с. 2. Гусятин В.М. Алгоритм геометрических преобразований изображения в системах визуализации тренажеров транспортных средств / Авиационно-космическая техника и технология. Труды ХАИ им. Н.Е. Жуковского за 1997. С.467-471. 3. Гусятин В.М. Оценка точности геометрических преобразований в спецпроцессоре растровой графики // Радиоэлектроника и информатика, 1998. №2. С. 118-120. 4. Гусятин В.М. Итерационный алгоритм синтеза изображения в растровой графике реального масштаба времени // Радиоэлектроника и информатика, 1998. №3. С.81-83. 5. Foley J.D, van Dam A., Feiner S.K., Hughes J.F. Computer Graphics (principles and practice) by Addison-Wesley Publishing Company, Inc. 1996. Р.1175.

Поступила в редколлегию 31.01.2000

Рецензент: д-р техн. наук Кривуля Г.Ф.

Гусятин Владимир Михайлович, канд. техн. наук, доцент кафедры электронных вычислительных машин ХТУРЭ. Научные интересы: теория и практика построения спецпроцессоров растровых графических систем реального времени. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-54, 66-61-22.

58

РИ, 2000, № 1

i Надоели баннеры? Вы всегда можете отключить рекламу.