Марширующие кубы?

#opengl-es #opengl-es-2.0 #marching-cubes

#opengl-es #opengl-es-2.0 #марширующие кубы

Вопрос:

У меня есть объект, состоящий из точек, скажем, его облако точек, я хочу отобразить объект из этих точек, я хочу, чтобы объект выглядел так, как будто эти точки были завернуты в лист бумаги. Я хочу это анимировать, поэтому первое, что пришло мне в голову, это марширующие кубы, но мой объект не будет шаром или кубом, он будет трансформироваться, есть ли какой-нибудь более простой подход, чем марширующие кубы?

Комментарии:

1. Не совсем понятно, о чем вы спрашиваете. Как бы трансформировались эти объекты?

2. Это может помочь: pointclouds.org/documentation/tutorials/greedy_projection.php «Быстрая триангуляция неупорядоченных облаков точек»

Ответ №1:

В зависимости от того, что вы подразумеваете под «обернутой», 3D выпуклая оболочка может создать желаемый эффект.

Анимируйте свои вершины так, как хотите, и каждый раз повторно запускайте алгоритм корпуса.

Комментарии:

1. Марширующие кубы, безусловно, могут работать .. по сути, это алгоритм, который определяет трехмерную выпуклую оболочку. Что касается анимации, у меня есть экземпляр, запущенный на javascript в webgl, и даже в javascript, когда я «копаюсь» в своей местности, кажется, что анимация чертовски быстрая -> youtu.be/_oML6USPs20

2. марширующие кубы используются для генерации iso-поверхности объекта (с учетом статического или динамического порога). Он не обязательно выпуклый. Неясно, означает ли «завернутый в лист бумаги» выпуклый или нет.

Ответ №2:

Алгоритм марширующих кубов, похоже, лучше всего подходит для того, что вы ищете — не все облака точек выпуклые. Алгоритм может показаться пугающим из-за большой таблицы поиска, но на самом деле он довольно прост. Я опубликовал пример (с использованием Three.js ) в:

http://stemkoski.github.com/Three.js/Marching-Cubes.html

Ответ №3:

Похоже, это то, что вы ищете:http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=25