A: (2, 2, -2)
B: (-2, 2, -2)
C = Point(Circle[B, Distance[A, B], Segment[A, B]])
a, D, E, F, G, H_{1}, faceABCD, faceADHE, faceABFE, faceBCGF, faceCDHG, faceEFGH, arêteAD, arêteAB, arêteBC, arêteCD, arêteAE, arêteDH, arêteEH, arêteEF, arêteBF, arêteFG, arêteCG, arêteGH = Cube(A, B, C)
f = Line(G, A)
O: (0, 0, 0)
p = OrthogonalPlane(O, f)
H, I, J, K, L, M, N, g, h, i, j, k, l = IntersectPath(p, a)
c = Circle(O, M, H)