如何计算两个整数的和与积下面两个积?

多边形的顶点倒是可以得到,问题可以转化为:
“已知N个顶点的坐标,求此多边形的面积”

不过这N个顶点还要判断顺序,知道谁挨着谁。

我想我已经找到一个解决办法了:

遍历两个矩形的8个顶点,如果此顶点在另一个矩形的边或者内部,那么这个顶点是多边形的一个顶点。

遍历每个矩形的每条边,如果此边和另一个矩形的任一条边有交点,则此交点是多边形的一个顶点。注意这里的边是线段而不是直线。

现在已经得到多边形的所有顶点。需要确定每个顶点的相邻顶点。
因为此多边形应该是凸多边形,所以可以用下面的方法:

这些顶点中,必定会有原矩形的相邻顶点,找到这么两个顶点,他们必定是凸多边形的相邻顶点。
把这两个顶点记作 点A 和 点B 。

在直线 AB 上,不应该再有此多边形的其他顶点。
凸多边形其他的顶点,记作X1,X2,X3……

计算射线 AB 和 射线AX1,射线AX2,射线AX3……的夹角,得到 射线AXn 与 射线AB 的夹角最接近180度的,那么Xn 既是A的另一个相邻。

现在 A 的两个相邻顶点 B 和 Xn 已经确定。重复上述步骤,找到 Xn 的另一个相邻顶点。

得到凸多边形的全部顶点后,可分割成多个三角形计算面积,再相加。

我自己想的,不知道会不会有问题。抛砖引玉 :)

我要回帖

更多关于 计算两个整数的和与积 的文章

 

随机推荐