Не удается получить закрытую триангуляцию точек в NetTopologySuite - PullRequest
0 голосов
/ 28 июня 2018

Я использую NetTopologySuite версии 1.14 и играю с ним, чтобы вычислить Триангуляцию набора точек. Более конкретно:

Я хочу 3D Триангуляция Делоне набора точек в трехмерном пространстве, которое также закрыто (конечная сетка должна быть закрыта: оболочка ).

Моя попытка

Следуя API, который я связал, я написал эту простую программу:

var builder = new NTS.Triangulate.ConformingDelaunayTriangulationBuilder();

builder.SetSites(new NTS.Geometries.MultiPoint(new[] { // A (square) pyramid
    new NTS.Geometries.Point(0, 0, 0),
    new NTS.Geometries.Point(2, 0, 0),
    new NTS.Geometries.Point(0, 2, 0),
    new NTS.Geometries.Point(2, 2, 0),
    new NTS.Geometries.Point(1, 1, 2)
}));

var triangles = builder.GetTriangles(new NTS.Geometries.GeometryFactory());
Console.WriteLine("Triangles: " + triangles.ToString());

Что возвращает:

(0 2 0, 0 0 0, 1 1 2, 0 2 0), 
(0 2 0, 1 1 2, 2 2 0, 0 2 0), 
(2 2 0, 1 1 2, 2 0 0, 2 2 0), 
(0 0 0, 2 0 0, 1 1 2, 0 0 0)

Открытая сетка

Это правильно, но оно породило только 4 грани (треугольника). Я ожидал 6 треугольников (основание пирамиды должно было быть добавлено путем добавления 2 треугольников). Я получаю открытую сетку в принципе. Я ожидал эти 2 дополнительных треугольника:

(0 0 0, 2 0 0, 0 2 0, 0 0 0),
(0 2 0, 2 0 0, 2 2 0, 0 2 0)

Как получить замкнутую сетку при генерации триангуляции?

1 Ответ

0 голосов
/ 02 июля 2018

На этот вопрос ответили здесь в официальном репозитории NTS на GitHub.

...