12.7.2 Isosceles triangles in space: isosceles_triangle
See section 11.8.2 for isosceles triangles in the
plane.
The isosceles_triangle command returns and draws an
isosceles triangle. It takes as arguments one of the following:

Three points, A, B and P.
The first two points A and B are vertices of the
triangle, the third point P determines the plane and
orientation of the triangle. The orientation is so that angle
BAP is positive, and the equal interior angles of the
isosceles triangle are determined by angle ABP.
Input:
A := point(0,0,0); B := point(3,3,3); P := point(0,0,3)
then:
isosceles_triangle(A,B,P);
Output:
 Two points, A and B, and a list consisting
of a point P and a real number c.
The points A and B are vertices of the triangle
and P determines the plane and orientation of the triangle
as above. The number c is the measure of the equal
interior angles.
Input:
isosceles_triangle(A,B,[P,3*pi/4])
Output:
isosceles_triangle can take an optional fourth argument,
which is a variable which will be assigned to the third vertex of the
triangle.
Input:
isosceles_triangle(A,B,[P,3*pi/4],C)
then:
coordinates(C)
Output:
[(3*sqrt(2)  3)/2, (3*sqrt(2) 3)/2,
(3*sqrt(2) + 6)/2]