Как сгенерировать представление структуры полуребра для многоугольной сетки?

Я хотел бы сгенерировать вывод для отображения числовых данных структуры Half-Edge, основанной на вводе данных полигональной сетки (в форме числовых данных).

Концепция чтения полигональной модели в основном такова:

Для INPUT файл находится в формате OFF и включает такие данные, как
(a) Первая часть: номер вершины, количество граней и количество ребер.
(b) Вторая часть: линия каждой вершины,
(c) Последняя часть: линия каждой многоугольной грани.

Пример: (на основе сверху)
Первая часть:
4 4 6

Вторая часть:
-1,7 0,0 1,0
1,7 0,0 1,0
0,0 0,0 -2,0
0,0 3,0 0,0

Последняя часть:
3 0 1 2
3 0 3 2
3 3 2 1
3 0 2 3

И программа должна иметь возможность генерировать следующие данные:

(a) Вершины:
1. индекс вершины (общее количество входных вершин)
2. каждая координата x, координата y, координата z и половина ребра
(b) Половина -Кромки:
1. Индекс половины ребра (общее количество половин ребер, которые должны быть сгенерированы из п.2. Выше)
2. Начальная вершина, грань, следующая половина ребра и смежная половина ребра.
(c) Грани:
1. индекс лица (общее количество лиц, как показано на b.2. начиная с 0)
2. половинное ребро.

Идея такая: нет необходимости отображать визуальную графику, но нужно использовать алгоритм и генерировать простые данные Half-Edge Structure, затем читать файл OUTPUT с помощью Блокнота и т. Д.


person Navi Koe Wok    schedule 29.09.2010    source источник
comment
Что такое полиномиальная сетка? Может вы имеете в виду полигональную сетку?   -  person Yakov Galka    schedule 29.09.2010
comment
Что именно здесь стоит вопрос?   -  person ccozad    schedule 21.06.2011
comment
Очень похоже на предыдущий пост - это очень хороший ответ: stackoverflow.com/a/15366479/862531   -  person mitstudent    schedule 11.01.2014
comment
Возможный дубликат Инициализация структуры данных Half-edge из вершин   -  person ideasman42    schedule 23.10.2017


Ответы (1)


OpenMesh - отличная библиотека C ++, вы сможете мелочь все, о чем вы говорите насчет этого ... надеюсь, еще не поздно;)

person Thomas Vincent    schedule 29.06.2011