there's` a new problem for the face of the polyedron created by triangle mesh, some of the polyedron's faces are completely black. I individuated the problem on the calculus fo the normals of the triangles: the method createMash generate random order in the indexes of the vertices and this leads to a error on the normal calculus.
Also transformations don't work so far.
public void createMesh() {
int numVertices = vertices.size();
if (numVertices < 3) {
// Non รจ possibile generare triangoli con meno di 3 vertici
return;
}
// Genera i triangoli
for (int i = 0; i < numVertices - 2; i++) {
for (int j = i + 1; j < numVertices - 1; j++) {
for (int k = j + 1; k < numVertices; k++) {
Point v0 = vertices.get(i);
Point v1 = vertices.get(j);
Point v2 = vertices.get(k);
// Calcola la normale del triangolo
Normal normal = calculateTriangleNormal(v0, v1, v2);
// Verifica l'orientazione della normale rispetto al verso desiderato (ad esempio, verso l'esterno del solido)
if (isNormalOrientationCorrect(normal, v0, v1, v2)) {
triangles.add(new Triangle(v0, v1, v2, transformation, material));
} else {
// Se l'orientazione della normale non รจ corretta, inverti i vertici per invertire l'orientazione del triangolo
triangles.add(new Triangle(v0, v2, v1, transformation, material));
}
}
}
}
}