Структура данных граничного представления

Я читал об использовании структуры данных крылатого края для хранения представления границ. Тем не менее, связанный сайт говорит, что это одна из старейших структур данных для хранения b-повторов, есть ли более новые и лучшие?

Во-вторых, есть ли реализация этого в C#?

3 ответа

Решение

Структура данных, используемая для B-повторения, очень похожа на структуру полигонального моделирования - вы просто заменяете ребра кривыми, а грани - поверхностями.

Страница википедии о многоугольных сетках имеет несколько перечисленных типов, в том числе крылатый край. Лично мне нравятся полужесткие сетки. Единственное, что они не могут сделать хорошо, это топология без многообразия, которая может вам понадобиться, а может и не понадобиться. Если вы это сделаете, ищите топологию радиальных ребер.

Существует также свободно доступная структура данных B-rep от OpenNurbs (McNeel, создатели Rhino). Это также дает вам файл IO, что приятно.

Методы моделирования представления границ Иэном Страудом (Ian Stroud) расскажут о том, как люди обращаются к B-представителям, а также множество диаграмм со всеми операторами Эйлера, а также конкретные структуры данных и алгоритмы для обязательной реализации B-представлений.

Если вы хотите переместить несколько символов вперед в F# или нет, вы можете получить довольно много информации из исходного кода для Wings3d (написанного на Erlang). Только не заблудитесь, делая космические корабли, и забудьте, что вы должны были кодировать!

Также GML позволит вам в интерактивном режиме исследовать, что вы можете делать со своими B-представителями, а структура данных - это код.

Не уверен, поможет ли это или нет, но в библиотеке XNA есть объекты Geometry для работы с 3D структурами, а что нет. Там может быть что-то там. Тем не менее, я предполагаю, что это будет либо на основе точки или треугольника против края.

Но это может быть место, чтобы посмотреть.

Другие вопросы по тегам