Тогда поверхность проходит через точки (*), приближаем их линейной интерполяцией и проводим через них треугольную грань. Какие ребра пересекаются с поверхностью, какие точки пересечния и как соединять - узнаем из таблиц по индексу; в данном случае индекс равен 11011111b=0DFh (установлены все биты, кроме 6го).
Алгоритм по шагам:
посчитать значения функции в узлах сетки (вершинах кубиков)
для каждого кубика:
посчитать индекс этого кубика в таблице. Каждый бит соответствует какой-то из вершин, если в ней значение функции больше изоуровня, то надо установить этот бит, иначе - сбросить
взять из таблицы по индексу кубика слово, каждый бит в котором определяет, пересекает ли соответствующее ему (биту) ребро кубика изоповерхность, или нет. Если да, то посчитать (простая линейная интерполяция между соответствующими ребру вершинами) координаты точки пересечения
взять из таблицы по индексу кубика число генерируемых граней и собственно тройки номеров ребер, (уже посчитанные) пересечения которых с изоповерхностью и будут вершинами нужных граней
Неоднократно упоминавшиеся магические таблицы приведены в примерчике, там же приведен кусок кода, который довольно легко переделть под свой engine. Пример взят с http://www.mhri.edu.au/~pdb/modelling/polygonise, сам по себе он компилироваться НЕ будет, но все там написано правильно и никаких ошибок в таблицах нет (так что ищите ошибку в своем коде).