Java 图形中的二维顶点

Java 图形中的二维顶点,java,box2d,vertex,vertices,Java,Box2d,Vertex,Vertices,我在Box2D中有一个多边形形状。形状是一个三角形,我希望有3个顶点。事实上,我创建的所有形状都将输出8个顶点。为什么会这样?如果我输出顶点计数,那总是正确的数量。我不想渲染不必要的线,我想从形状中获取顶点数据 @Override public void setShape(Vec2[] vector) { // TODO Auto-generated method stub super.setShape(vector); //A NEW SHAPE shape

我在Box2D中有一个多边形形状。形状是一个三角形,我希望有3个顶点。事实上,我创建的所有形状都将输出8个顶点。为什么会这样?如果我输出顶点计数,那总是正确的数量。我不想渲染不必要的线,我想从形状中获取顶点数据

@Override
public void setShape(Vec2[] vector) {
    // TODO Auto-generated method stub
    super.setShape(vector);

    //A NEW SHAPE
    shape = new PolygonShape();

    //THE TRIANGLES VECTORS
    Vec2[] vec = new Vec2[3];
    vec[0] = new Vec2(10, 0);
    vec[1] = new Vec2(0, 10);
    vec[2] = new Vec2(0, 0);

    //SET THE VERTICES
    shape.set(vec, vec.length);

}

@Override
public void render() {
    // TODO Auto-generated method stub
    super.render();

    //GET THE VERTICES
    Vec2[] vector = shape.m_vertices;

    System.out.print("\n" + "Vertices: " + vector.length);

}

将始终输出8。为什么?

< P>多边形在原始C++代码中表示,它有固定的8个顶点,可能是出于性能原因。你正在看到这一结果

将跟踪实际顶点计数,因此只需将其用于渲染