data = {
let {matrix,vector} = Flatten;
let box = polygon.box;
let polygon1 = polygon.clone();
let polygon2 = polygon.translate( vector(-2*(box.xmax - box.xmin), 0) )
let [tx, ty, k] = initial_transform([polygon1, polygon2], width,height)
let m = matrix().translate(tx,ty).scale(k,k)
polygon1 = polygon1.transform(m)
polygon2 = polygon2.transform(m)
let c1 = polygon1.box.center;
let c2 = polygon2.box.center;
polygon1 = polygon1.rotate(angle, c1);
polygon2 = polygon2.rotate(angle, c2);
let collision = collisionDistance(polygon2, polygon1);
polygon1 = polygon1.translate(vector(-collision,0));
return [polygon1, polygon2]
}