长方形求解问题
怎么定义一个任意的长纺形(可以不跟X,Y轴平行),比较合理的定义方法。怎么样判断两个长方形相不相交呢?
怎么定义一个任意的长纺形(可以不跟X,Y轴平行),比较合理的定义方法。怎么样判断两个长方形相不相交呢?
我觉得呢可以用四个点
或者一个点加长宽定义
判定呢就列出一系列的可能情况用数学公式加以推倒
非要那种奇形怪状的嘛
还是经典的两个点好
如果是跟X,Y轴平行的,可以用对角两点定义,但是它是任意的。用四点定义可能有点烦,还有其他合理的定义没有?
我想可以这样定义:
class Point
{
......
};
class Rect
{
public:
Rect(){};
Rect(Point p1, Point p2, float angle);
}
/*///////////////////////////////////////////////////
取两个点p1(x1, y1), p2(x2, y2), 再取一个方向angle [0, 360)
/*///////////////////////////////////////////////////
Rect(Point p1, Point p2, float angle)
{
.......
}
[此贴子已经被作者于2006-3-2 14:16:56编辑过]