[opengl] Нарезать 3D объект по плоскостям
От: klep  
Дата: 22.01.10 12:04
Оценка:
Привет всем,

Почитал пример тут:
4.6 Плоскости отсечения

Возможно ли создать две плоскости для отсечения вверха и низа и сохранения только текущей плоскости ?

Наподобие мидификатора Slice (+ Remove Top + Remove Bottom ) из 3D Max.
Только мне нужна сама плоскость без вверхних и нижних слоев.

Типа такого (мне нужен сам ломтик )



Какими средствами это лучше, быстрее, проще сделать ?

з.ы
если есть готовые движки, которые обладают данной возможностью — было бы супер
open gl slice
Re: [opengl] Нарезать 3D объект по плоскостям
От: Turyst  
Дата: 24.01.10 20:12
Оценка:
Здравствуйте, klep, Вы писали:

K>Привет всем,


K>Почитал пример тут:

K>4.6 Плоскости отсечения

K>Возможно ли создать две плоскости для отсечения вверха и низа и сохранения только текущей плоскости ?


K>Наподобие мидификатора Slice (+ Remove Top + Remove Bottom ) из 3D Max.

K>Только мне нужна сама плоскость без вверхних и нижних слоев.

K>Типа такого (мне нужен сам ломтик )


K>


K>Какими средствами это лучше, быстрее, проще сделать ?


K>з.ы

K>если есть готовые движки, которые обладают данной возможностью — было бы супер

Готовых движков не знаю, но раз никто не отвечает, то попробую ответить.
Алгоритм приблизительно такой:
Используете какое то дерево для представления геометрии модели. Например Octree.
Создаете столько плоскостей, сколько вам нужно (плоскость можно задать например точкой и нормаллю).
Проходитесь по дереву и фильтруете нужную вам геометрию(ту, которая лежит в нужном для вас подпространстве). Если например треугольник и плоскость пересекается — тогда разбиваете на несколько треугольников. Гуглить: определение столкновений.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.