正方形,已知 (x0,y0) 和(x2,y2) 可以根据下列关系求(x1,y1),(x3,y3)
x1+x3 = x0+x2;
x1-x3 = y2-y0;
y1+y3 = y0+y2;
y1-y3 = x0-x2;
node[0].p[1].x = ((node[0].p[0].x+node[0].p[2].x)+(node[0].p[2].y-node[0].p[0].y))/2;
node[0].p[1].y = ((node[0].p[0].y+node[0].p[2].y)+(node[0].p[0].x-node[0].p[2].x))/2;
node[0].p[3].x = ((node[0].p[0].x+node[0].p[2].x)-(node[0].p[2].y-node[0].p[0].y))/2;
node[0].p[3].y = ((node[0].p[0].y+node[0].p[2].y)-(node[0].p[0].x-node[0].p[2].x))/2;
同理已知矩形三点求另外一点
node[0].p[3].x = node[0].p[2].x + (node[0].p[0].x - node[0].p[1].x);
node[0].p[3].y = node[0].p[2].y + (node[0].p[0].y - node[0].p[1].y);
具体见POJ3449
已知正方形对角线两点求另外两点
原文:http://www.cnblogs.com/ITUPC/p/5877296.html