@Marco13 - , , @jewelsea, , .
net , :

Box:
Box cube = new Box();
PhongMaterial material = new PhongMaterial();
material.setDiffuseMap(new Image(getClass().getResource("cubeNet.png").toExternalForm()));
cube.setMaterial(material);
, .
, CuboidMesh FXyz.
CuboidMesh cube = new CuboidMesh();
cube.setTextureModeImage(getClass().getResource("cubeNet.png").toExternalForm());

post , .
, 27 , - , :

, .
, :
public static final int RED = 0;
public static final int GREEN = 1;
public static final int BLUE = 2;
public static final int YELLOW = 3;
public static final int ORANGE = 4;
public static final int WHITE = 5;
public static final int GRAY = 6;
x :
public static final float X_RED = 0.5f / 7f;
public static final float X_GREEN = 1.5f / 7f;
public static final float X_BLUE = 2.5f / 7f;
public static final float X_YELLOW = 3.5f / 7f;
public static final float X_ORANGE = 4.5f / 7f;
public static final float X_WHITE = 5.5f / 7f;
public static final float X_GRAY = 6.5f / 7f;
, TriangleMesh, :
private TriangleMesh createCube(int[] face) {
TriangleMesh m = new TriangleMesh();
m.getPoints().addAll(
0.5f, 0.5f, 0.5f,
0.5f, -0.5f, 0.5f,
0.5f, 0.5f, -0.5f,
0.5f, -0.5f, -0.5f,
-0.5f, 0.5f, 0.5f,
-0.5f, -0.5f, 0.5f,
-0.5f, 0.5f, -0.5f,
-0.5f, -0.5f, -0.5f
);
m.getTexCoords().addAll(
X_RED, 0.5f,
X_GREEN, 0.5f,
X_BLUE, 0.5f,
X_YELLOW, 0.5f,
X_ORANGE, 0.5f,
X_WHITE, 0.5f,
X_GRAY, 0.5f
);
, : . , : F - R - U - B - L - D:
m.getFaces().addAll(
2, face[0], 3, face[0], 6, face[0],
3, face[0], 7, face[0], 6, face[0],
0, face[1], 1, face[1], 2, face[1],
2, face[1], 1, face[1], 3, face[1],
1, face[2], 5, face[2], 3, face[2],
5, face[2], 7, face[2], 3, face[2],
0, face[3], 4, face[3], 1, face[3],
4, face[3], 5, face[3], 1, face[3],
4, face[4], 6, face[4], 5, face[4],
6, face[4], 7, face[4], 5, face[4],
0, face[5], 2, face[5], 4, face[5],
2, face[5], 6, face[5], 4, face[5]
);
return m;
}
.
int[] p = new int[]{BLUE, GRAY, GRAY, GRAY, ORANGE, WHITE};
MeshView meshP = new MeshView();
meshP.setMesh(createCube(p));
PhongMaterial mat = new PhongMaterial();
mat.setDiffuseMap(new Image(getClass().getResourceAsStream("palette.png")));
meshP.setMaterial(mat);
.
27 , Rubik:

, , .