Как создать многоугольник с помощью jcsg - PullRequest
0 голосов
/ 26 февраля 2019

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

enter image description here

List<Vertex> vertices = new ArrayList<>();
    Vector3d normal = Vector3d.xyz(0, 0, 0);
    vertices.add(new Vertex(Vector3d.xyz(0, 0, 0), normal));
    vertices.add(new Vertex(Vector3d.xyz(100, 0, 0), normal));
    vertices.add(new Vertex(Vector3d.xyz(0, 100, 0), normal));
    vertices.add(new Vertex(Vector3d.xyz(50, 25, 0), normal));
        Polygon p = new Polygon(vertices);
    List<Polygon> t = p.toTriangles();
    CSG csg = CSG.fromPolygons(t.get(0));

Я пробовал много вариантовкод, но я всегда получаю один и тот же результат.Буду признателен за любые указатели.

1 Ответ

0 голосов
/ 26 февраля 2019

Стандартный конструктор использует три ваших пункта, попробуйте это и дайте мне знать, если это сработало:

List<Vector3d> vertices = new ArrayList<>();

vertices.add(Vector3d.xyz(0, 0, 0));
vertices.add(Vector3d.xyz(50, 25, 0));
vertices.add(Vector3d.xyz(100, 0, 0));
vertices.add(Vector3d.xyz(0, 100, 0));

List<Polygon> t = Polygon.fromConcavePoints(vertices);
CSG csg = CSG.fromPolygons(t);
...