First working algorithm(ugly), change to plane-at-a-time polygon of intersection, works well.
minor edit