Я успешно реализовал алгоритм марширующих кубов. В качестве эталона я использовал стандартные материалы, но полностью переписал их с нуля. Это работает, но я наблюдаю неясности, которые приводят к дырам в сетке.
Я рассматривал алгоритм марширующих тетраэдров, который якобы не страдает неоднозначностями. Я не понимаю, как это возможно.
Алгоритм марширующих тетраэдров использует шесть тетраэдров вместо куба с триангуляциями для каждого тетраэдра.Но предположим, что я должен реализовать алгоритм марширующих кубов, но для каждой из 256 триангуляций просто выбрать ту, которая является «суммой» (объединением) триангуляций тетраэдра куба? Насколько мне известно, это то, что делают марширующие тетраэдры — так почему же это волшебным образом устраняет двусмысленности?
Я думаю, что есть 16 уникальных случаев, а остальные 240 являются просто отражением/вращением этих 16. Я помню, как читал где-то в какой-то статье, что для разрешения двусмысленности нужно 33 случая. Может ли это быть связано с тем, что марширующие тетраэдоны почему-то не страдают от проблем?
Итак, вопросы:
Мне кажется, что я что-то здесь упускаю. Спасибо.