### 27.6.2 Isosceles triangles in space

See Section 26.7.2 for isosceles triangles in the plane.

The isosceles_triangle command returns and draws an isosceles triangle. It can take its arguments in two different ways.

1. Three points.
   - isosceles_triangle takes three mandatory arguments and one optional argument:
     - A,B,P, three points.
     - Optionally, var, a variable name.
   - isosceles_triangle(A,B,P ⟨,var⟩) returns and draws the isosceles triangle ABC in the plane ABP, oriented so that angle BAC is positive and the equal interior angles of the isosceles triangle are determined by angle ABP.

     If the variable name var is given, it will be given the value of C, the third vertex of the triangle.

2. Three points and a real number.
   - isosceles_triangle takes three mandatory arguments and one optional argument:
     - A,B, two points.
     - [P,c], a list consisting of a point R and a real number c.
     - Optionally, var, a variable name.
   - isosceles_triangle(A,B,[P,c] ⟨,var⟩) returns and draws the triangle ABC in plane ABP, oriented so that the angle BAC is positive. The measure of the equal interior angles is c.

     If the variable name var is given, it will be given the value of the third vertex of the triangle.

#### Examples

A,B,P:=point(0,0,0),point(3,3,3),point(0,0,3); isosceles_triangle(A,B,P);

A,B,P:=point(0,0,0),point(3,3,3),point(0,0,3); isosceles_triangle(A,B,[P,3*pi/4])

A,B,P:=point(0,0,0),point(3,3,3),point(0,0,3); isosceles_triangle(A,B,[P,3*pi/4],C); coordinates(C)

| ⎡ ⎢ ⎢ ⎣ |
−3 | √ |
2
| −3
2
| , |
−3 | √ |
2
| −3
2
| , |
−3 | √ |
2
| +6
2
| ⎤ ⎥ ⎥ ⎦