### 10.17.2 : `centered_cube cube_centre`

`cube_centre` a comme argument trois points `A,B,C`.
`cube_centre` dessine un cube de centre `A`, de sommet `B` et tel que le plan `ABC` soit un plan de symetrie du cube.
Ce plan `ABC` contient une arête `BD` du cube issue de `B` et le sommet `D` de cette arête est situé du même côté que `C` par rapport à `AB`.
On tape :

`cube_centre([0,0,0],[3,3,3],[0,1,0])`

On obtient :

`Le cube de centre [0,0,0], de sommet [3,3,3] et ayant comme sommet D [-1,5,-1]`

On tape :

`cube_centre([0,0,0],[3,3,3],[0,-1,0])`

Ou on tape :

`cube_centre([0,0,0],[3,3,3],[3,-3,3])`

On obtient :

`Le cube de centre [0,0,0], de sommet [3,3,3] et ayant l’axe det ayant comme sommet D [3,-3,3] et dont les arêtes sont parallèles aux axes`

Remarques

- Il existe (cf les exemples ci-dessus) 2 cubes ayant un sommet commun `B`, même centre `A`, et le même plan de symétrie `ABC`.
  En effet, si a est le côté du cube, on a AB=a*√3. La donnée de A et de B détermine donc entièrement la sphère S inscrite dans le cube. Le plan ABC coupe S selon un cercle Cs et le cube selon un rectangle BDEF avec BD=a et BF=a*√2 car BD est une arête et BF est une diagonale d’une face du cube. Cette face est tangente à S et BF est une tangente au cercle Cs menée par B. Du point B, on peut mener, dans le plan ABC, deux tangentes au cercle Cs. Ces 2 tangentes sont situées de part et d’autre de la droite AB (car A est le centre du cercle Cs). On choisit la tangente située dans le demi-plan ne contenant pas C et on détermine ainsi, une face contenue dans le plan tangent à la sphère passant par cette tangente. Par symétrie par rapport à A, on détermine enfin tout le cube.
  Si le cube a `A` comme centre et `B` comme sommet et si de plus le plan `ABC` contient une arête du cube, on peut aussi dire que le point `C` est dans un plan passant par `A, B` et une arête du cube `BD` issue de `B` et que `C` est du même côté que `D` par rapport à `AB`.
- Pour avoir les coordonnées des sommets du cube, on tape :
  `normal(cube_centre([0,0,0],[3,3,3],[0,1,0])),0`
  car c’est le dernier argument d’une liste qui détermine le mode d’affichage : ici `0` dit que l’on affiche des expressions.
  On obtient :
  `pnt(pnt[[[[3,3,3],[-1,-1,5],[-5,1,1],[-1,5,-1]], [[3,3,3],[-1,5,-1],[1,1,-5],[5,-1,-1]],[[3,3,3],[-1,-1,5],[1,-5,1], [5,-1,-1]],[[-1,-1,5],[-5,1,1],[-3,-3,-3],[1,-5,1]],[[-1,5,-1], [-5,1,1],[-3,-3,-3],[1,1,-5]],[[5,-1,-1],[1,-5,1],[-3,-3,-3], [1,1,-5]]],0]),0`
  On peut aussi taper
  `normal(coordonnees(sommets(cube_centre([0,0,0],[3,3,3],[0,1,0]))))`