Неоднозначности марширующего куба в сравнении с марширующим тетраэдром

Я успешно реализовал алгоритм марширующих кубов. В качестве эталона я использовал стандартные материалы, но полностью переписал их с нуля. Это работает, но я наблюдаю неясности, которые приводят к дырам в сетке.

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

Алгоритм марширующих тетраэдров использует шесть тетраэдров вместо куба с триангуляциями для каждого тетраэдра.Но предположим, что я должен реализовать алгоритм марширующих кубов, но для каждой из 256 триангуляций просто выбрать ту, которая является «суммой» (объединением) триангуляций тетраэдра куба? Насколько мне известно, это то, что делают марширующие тетраэдры — так почему же это волшебным образом устраняет двусмысленности?

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

Итак, вопросы:

  1. Почему марширующие тетраэдры не страдают неоднозначностями?
  2. Если это не так, то почему люди просто не используют алгоритм марширующих кубов, но вместо этого используют триангуляции тетраэдров?

Мне кажется, что я что-то здесь упускаю. Спасибо.

12
задан imallett 17 June 2012 в 20:15
поделиться