Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






I.Скалярные поля. Реконструкция





Исходные данные: 3D (2D) массив исследуемых величин short, integer или float. Заданы размеры воксельной сетки Nx, Ny, Nz и шаг h по x,y,z.

 

Задачи обработки массива данных (томограммы - 3D-массива вокселей):

Задачи пониженной, в отношении компьютерной графики, сложности (для магистров, не cлушавших ранее компьютерную графику; остальным -1балл):

1.1) C#. OpenGL. Послойная 2D-визуализация регулярного 3D-массива вокселей (Nz 2D слоев размером Nx x Ny short integer данных на сетке с шагом dx,dy,dz). Сетку значений плотности S на {x,y} рисовать через Quad-ы OpenGL. Реализовать просмотр серым окном (значения Transfer Function: от 0-черный до 255-белый). Ширина окна по S при этом может изменяться как 2k от 256 до 4096. Все что выше – белое (255), все что ниже – черное (0). Левая граница окна Sleft на диапазоне [-1000,3000] значений исходного массива данных и ширина окна dS изменяются слайдером. Прокрутка слоев – колесиком мыши. Отображение заданным цветом диапазона значений внутри круга, заданного протягиванием мыши от центра круга с зажатой левой клавишей (отобразить min, max и среднюю плотность в круге). Управление прозрачностью текущего слоя.

1.2) C#. OpenGL. Послойная 2D-визуализация регулярного 3D-массива вокселей (Nz 2D слоев размером Nx x Ny short integer данных на сетке с шагом dx,dy,dz). Сетку значений на {x,y} рисовать через Quad-ы OpenGL. Реализовать просмотр слоев в оттенках серого (см. задачу 1). Прокрутка слоев – колесиком мыши. Выделение окружностью, сформированной щелчком и протягиванием мыши, однородного сегмента плотностей (например, отдельной кости).

1.3) C#. OpenGL. Реализовать визуализацию сферы (2-3 сфер), заданных сегментами из криволинейных PN-треугольников. LOD [0,5], число сегментов по долготе {4,8} и широте {1,2,3} управляются прокрутками NumericUpDown. Может быть задан цвет каждой сферы. Сферы плавают в корнуэльской комнате соударяясь со стенками. Исследовать возможности изменения LOD в методе криволинейных PN-треугольников.

 

Задачи стандартной сложности

1.4) C#. OpenGL, Ray Tracing. Реализовать визуализацию сфер (N сфер или поверхностей произвольной формы), заданных сегментами из криволинейных PN-треугольников. LOD [0,5], число сегментов по долготе {4,8} и широте {1,2,3} управляются прокрутками NumericUpDown. Может быть задан цвет каждой сферы. Сферы плавают в корнуэльской комнате соударяясь со стенками. Исследовать возможности изменения LOD в методе криволинейных PN-треугольников.

1.5) C#. OpenGL. Реализовать визуализацию сфер (N сфер), заданных сегментами из криволинейных PN-треугольников. LOD [0,5], число сегментов по долготе {4,8} и широте {1,2,3} управляются прокрутками NumericUpDown. Может быть задан цвет каждой сферы. Сферы плавают в корнуэльской комнате соударяясь со стенками. Исследовать возможности изменения LOD в методе криволинейных PN-треугольников. Построить BVH-дерево, сравнить производительность на сцене из 100 сфер.

1.6) C#, С++. OpenGL. Послойная 2D-визуализация регулярного 3D-массива вокселей (Nz 2D слоев размером Nx x Ny short integer данных на сетке с шагом dx,dy,dz). Сетку значений на {x,y} рисовать через Quad-ы OpenGL. Реализовать просмотр слоев в оттенках серого. Прокрутка слоев – колесиком мыши. Выделение на текущем слое щелчком и протягиванием мыши круга и диапазона плотностей в нем. Реконструировать изоповерхность соответствующую числу из выделенного диапазона методом трассировки лучей, результат построить во втором окне в заданном цвете и прозрачности (изменяемых в интерфейсе). Нормали в вершинах рассчитывать по направлению градиента. Освещенность - по Фонгу. Результат построить во втором окне.

1.7) C#/C++, CPU-GPU(шейдеры). 3D-визуализация трассировкой (Ray Casting) неполигональной поверхности, заданной только диапазоном значений [ a,b ] на 3D массиве плотностей (томограмме). Простая Transfer Function для [ a,b ]: Color(a), Alpha(a), Color(b), Alpha(b). Освещенность по Фонгу (нормаль по градиенту). В интерфейсе слайдеры для a,b, Color(a), Alpha(a), Color(b), Alpha(b). Вращение сцены мышью. 3D-стерео режим - цветной анаглиф.

1.8) C#/C++, CPU-GPU(шейдеры). 3D-визуализация трассировкой (Ray Casting) части томограммы, заданной только диапазоном значений [ a,b ] на 3D массиве плотностей (томограмме). Простая Transfer Function для [ a,b ]: Color(a), Alpha(a), Color(b), Alpha(b). Освещенность по Фонгу (нормаль по градиенту). В интерфейсе слайдеры для a,b, Color(a), Alpha(a), Color(b), Alpha(b). Вращение сцены мышью.

1.9) C#/C++, CPU-GPU(шейдеры). 3D-визуализация трассировкой (Ray Casting) с предынтегрированием части томограммы, заданной диапазоном значений [ a,b ] на 3D массиве плотностей (томограмме). Простая Transfer Function для [ a,b ]: Color(a), Alpha(a), Color(b), Alpha(b). Освещенность по Фонгу (нормаль по градиенту). В интерфейсе слайдеры для a,b, Color(a), Alpha(a), Color(b), Alpha(b). Вращение сцены мышью.

 







Date: 2016-01-20; view: 1277; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию