如何使用jcsg创建多边形

时间:2019-02-26 17:52:55

标签: java cad

我将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 :(得分:0)

标准构造函数使用您的三个要点,请尝试这一点,并让我知道它是否有效:

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);