Целью данного курсового проекта являлось создать приложение визуализирующее октодерево при помощи технологии WebGL. Октотомическое дерево или октодерева дерево (octtree) является одной из наиболее изученных и хорошо зарекомендовавших себя структур данных для представления трехмерных изображений. Благодаря естественной иерархической структуре и способу организации октодеревья сочетают в себе значительную экономию объемов памяти с эффективностью доступа к элементам изображения. Октодерево представляет изображение на уровне объектов или вокселей (voxel - volume element). При построении октодерева, трехмерный объект разбивается на восемь частей (октантов). Если какой-либо из октантов является однородным, т.е. он располагается либо целиком внутри объекта, либо целиком снаружи, разбиение заканчивается. Иначе, если октант не является однородным, т.е. октант пересекается граничной поверхностью объекта, он разбивается далее на восемь подоктантов. Процесс разбиения завершается, когда все листовые узлы октодерева станут однородными, возможно с некоторой погрешностью.
Разбить вершину, на 8 потомков:
$> button 'вершина:номер"
$> button '+"
Удалить потомков вершины октодерева:
$> button '-"
Удалить вершину октодерева со сцены:
$> button 'X"
Добавить вершину октодерева на сцену:
$> button 'V"
Приближение/отдаление октодерева:
$> mousewheel
Вращение октодерева:
$> drag mouse right