Checking if an object in the plane is a parallelogram: is_parallelogram

### 13.16.10 Checking if an object in the plane is a parallelogram: is_parallelogram

See Section 14.13.14 for checking for parallelograms in three-dimensional geometry.

The is_parallelogram command determines whether or not an object is a parallelogram.

- is_parallelogram takes one argument:
  G, a geometric object or a sequence of four points assumed to be the vertices of a quadrilateral.
- is_parallelogram(G) returns 1 if G is a parallelogram, but not a rhombus or a rectangle, returns 2 if G is a rhombus but not a rectangle, returns 3 if G is a rectangle but not a square, returns 4 is G is a square, and returns 0 otherwise.

Examples.

- Input:
  is_parallelogram(i, -1+i, -1-i, 1-i)
  Output:

  0

- Input:
  is_parallelogram(1+i, -1+i, -1-i, 1-i)
  Output:

  1

- Input:

  Q:= quadrilateral(1+i, -1+i, -1-i, 1-i)
  is_parallelogram(Q)

  Output:

  4

- Input:

  P:= parallelogram(-1-i, 1-i, i, D)
  is_parallelogram(P[0])

  Output:

  1

  Note that P[0] is a parallelogram since P is a list made of a parallelogram and vertex D.
  Input:
  affix(D)
  Output:

  −2+i