# Unexpected intersection between parallel polygons.

The intersection function returns a non-empty intersection for two polygons that are separated in space.

The following is a reproducible example:

# Define parallel polygons.
a = Polyhedron([[0, -1, 1], [1, -1, 1], [1, 1, -1]])
b = Polyhedron([[0.0, -0.5, 1.5], [1.0, -0.5, 1.5], [1.0, 1.5, -0.5]])

# Intersection.
c = a.intersection(b)

# c ->
# A 2-dimensional polyhedron in RDF^3 defined as the convex hull of 3
# vertices (use the .plot() method to plot)

a.plot(fill='green') + b.plot(fill='red') + c.plot(fill='orange')

edit retag close merge delete

## Comments

Same here (Sage 9.2.beta7). c has the same vertices as b :

sage: bool(set(c.vertices())==set(b.vertices()))
True


Curiouser and curiouser :

sage: a.intersection(b).vertices()
(A vertex at (1.0, 1.5, -0.5),
A vertex at (1.0, -0.5, 1.5),
A vertex at (0.0, -0.5, 1.5))
sage: b.intersection(a).vertices()
(A vertex at (1.0, 2.0, -1.0),
A vertex at (0.0, 0.0, 1.0),
A vertex at (1.0, 0.0, 1.0))


I'm tempted to say it's a bug, but I knows silch about polyhedra...

1