
x implementation done
xx testing done as well
y only testing done
* kinda done, but not optimally / only general solution


                  display | constructors | == | approx | shift | scale | rotate | align | simplify | aligned_bb | bounding box | ∈ 
Point           :    xx   |      xx      | xx |   xx   |   xx  |   xx  |   xx   |  xx   |    x     |      x     |      x       | x
Segment         :    xx   |      xx      | xx |   xx   |   xx  |   xx  |   xx   |  xx   |    x     |      x     |      x       | x
Line            :    xx   |      xx      | xx |   xx   |   xx  |   xx  |   xx   |  xx   |    x     |      -     |      -       | x
AxisRect        :    xx   |      xx      | xx |   xx   |   xx  |   xx  |   xx   |  xx   |    x     |      x     |      x       | x 
Rect            :    xx   |      xx      | xx |   xx   |   xx  |   xx  |   xx   |  xx   |    x     |      x     |      x       | x
Circle          :    xx   |      xx      | xx |   xx   |   xx  |   xx  |   xx   |  xx   |    x     |      x     |      x       | x
Ellipse         :    xx   |      x(x)    | xx |   xx   |   xx  |   xx  |   xx   |  xx   |    x     |      x     |      x       | x
Triangle        :    xx   |      x       | xx |   xx   |   xx  |   xx  |   xx   |  xx   |    x     |      x     |      x       | x
Qatrilateral    :    xx   |      x       | xx |   xx   |   xx  |   xx  |   xx   |  xx   |    x     |      x     |      *       | x
Polygon         :         |              |    |        |       |       |        |       |          |      x     |      *       |  

what happens with shapes like rect with negative width and height, does it always work?

intersects:
                  Point | Segment | Line | AxisRect | Rect | Circle | Ellipse | Triangle | Quatrilateral | Polygon
Point           :   -   |    -    |   -  |     x    |  x   |   x    |    x    |    x     |      x        |    x    
Segment         :   -   |    x    |   x  |     x    |  x   |   x    |    x    |    x     |      x        |    x    
Line            :   -   |    -    |   x  |     x    |  x   |   x    |    x    |    x     |      x        |    x    
AxisRect        :   -   |    -    |   _  |     x    |      |   -    |    -    |          |               |         
Rect            :   -   |    -    |   _  |     -    |      |   -    |    -    |          |               |         
Circle          :   -   |    -    |   _  |     -    |   -  |   -    |    -    |    -     |       -       |    -    
Ellipse         :   -   |    -    |   _  |     -    |   -  |   -    |    -    |    -     |       -       |    -    
Triangle        :   -   |    -    |   _  |     -    |   -  |   -    |    -    |          |               |         
Qatrilateral    :   -   |    -    |   _  |     -    |   -  |   -    |    -    |    -     |               |         
Polygon         :   -   |    -    |   _  |     -    |   -  |   -    |    -    |    -     |       -       |         


dist: 
                  Point | Segment | Line | AxisRect | Rect | Circle | Ellipse | Triangle | Quatrilateral | Polygon
Point           :   xx  |   xx    |  xx  |    xx    |  xx  |  xx    |   xx    |   xx     |      xx       |         


dist: consider edge cases, degenerate ellipse, segment, etc...




