您的位置:首页 > 编程语言 > C#

C# 判断两个矩形是否相交

2013-07-16 09:38 1186 查看
源代码

public bool JudgeRectangleIntersect(double RecAleftX, double RecAleftY, double RecArightX, double RecArightY,
double RecBleftX, double RecBleftY, double RecBrightX, double RecBrightY)
{
bool isIntersect = false;
try
{
double zx = getAbsluteValue(RecAleftX + RecArightX - RecBleftX - RecBrightX);
double x = getAbsluteValue(RecAleftX - RecArightX) + getAbsluteValue(RecBleftX - RecBrightX);
double zy = getAbsluteValue(RecAleftY + RecArightY - RecBleftY - RecBrightY);
double y = getAbsluteValue(RecAleftY - RecArightY) + getAbsluteValue(RecBleftY - RecBrightY);

if (zx <= x && zy <= y)  //需要确认两矩形边线重合是否定义为相交 此处定义为相交。
{
isIntersect = true;
}
}
catch (Exception ex)
{
string str = ex.Message;
}
return isIntersect;
}

private double getAbsluteValue(double douValue)
{
if (douValue >= 0)
{
return douValue;
}
else
{
return douValue * -1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: