### 11.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]))))