### 27.11.14 Checking whether an object in space is a parallelogram

See Section 26.15.10 for checking for parallelograms in 2D geometry.

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

- is_parallelogram takes 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

is_parallelogram([0,0,0],[2,0,0],[3,1,0],[1,1,0])

1 |  |  |  |  |  |  |  |  |  |

is_parallelogram([-1,0,0],[0,1,0],[2,0,0],[0,-1,0])

0 |  |  |  |  |  |  |  |  |  |

P:=parallelogram([0,0,0],[2,0,0],[1,1,0]); is_parallelogram(P)

1 |  |  |  |  |  |  |  |  |  |

Note that

P:=parallelogram([0,0,0],[2,0,0],[1,1,0],D)

defines P to be a list consisting of the parallelogram and the point D; to test if the object is a parallelogram, the first component of P needs to be tested.

is_parallelogram(P[0])

1 |  |  |  |  |  |  |  |  |  |

is_parallelogram([-1,0,0],[0,1,0],[2,0,0],[0,-1,0])

0 |  |  |  |  |  |  |  |  |  |