您的位置:首页 > 其它

【绘制矩形】已知二维平面矩形的对角线两点坐标,如何确定四个点的坐标

2012-08-05 15:50 1746 查看
O--------------------------------------------------->X

|

|

|

|

↓Y

在Windows Form中,坐标系的定义如上图所示,有时我们要在窗口中绘制矩形,能够方便得到的是起始点的坐标和终点的坐标,而如何计算四个点的坐标方式也是很多的。

起始点为start, 终点为end, pointLT, pointLB, pointRT, pointRB分别为左上角,左下角,右上角,右下角

方法一:(很复杂不推荐)

将end.X, end.Y 分别与start.X, start.Y作比较,一共四类情况,赋值的时候非常复杂,写代码麻烦

if (start.X < end.X && start.Y < end.Y)

{

/*

S.....................

* ....................

* ....................

* ....................E

*/

pointLT = start;

pointLB.X = start.X; pointLB.Y = end.Y;

pointRB = end;

pointRT.X = end.X; pointRT.Y = start.Y;

}

else if (start.X > end.X && start.Y > end.Y)

{

/*

E.....................

* ....................

* ....................

* ....................S

*/

……

方法二(代码书写方便)

左上角是start与end两者坐标的较小值,利用这个思想确定四点坐标

pointLT.X = (start.X <= end.X) ? start.X : end.X;

pointLT.Y = (start.Y <= end.Y) ? start.Y : end.Y;



pointRB.X = (start.X >= end.X) ? start.X : end.X;

pointRB.Y = (start.Y >= end.Y) ? start.Y : end.Y;



pointRT.X = pointRB.X;

pointRT.Y = pointLT.Y;

pointLB.X = pointLT.X;

pointLB.Y = pointRB.Y;

显然方法二的思路明确,代码清晰,书写方便~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐