1
zeusrunjia OP 我的想法是:
1.两个for 找出对角两个点 2.用对角的两个点算出其他两个点, 看下算出的这两个点是否有一个落在selects中. 不过写出来也略麻烦, 应该有更简单的办法, 用各种库都不介意的. |
2
muyeyang 2014-05-26 21:47:45 +08:00 via iPad 1
严格的矩形和近似的矩形处理起来会不一样。
近似的话,检查连续三个点的夹角是否接近90度。参考余弦定理。 严格90度的话,直接勾股定理就行了。 最多测试两次就够。 |
3
khowarizmi 2014-05-26 22:12:12 +08:00
ls +1
|
4
zeusrunjia OP @muyeyang 一样的, 因为连续三个点 这个定义也要写代码. 并不会减少代码量(工作量)
|
5
akfish 2014-05-26 22:51:49 +08:00
矩形这么简单的情况,brute force就行。
l除了楼上说的,我只补充一句:两个垂直向量的点积为0。 |
6
shoumu 2014-05-26 23:56:27 +08:00
我的思路:
四个点: > 对角线相等的平行四边形是矩形 将点分成两个组,如果长度不等,则不是矩形。如果相等,构成两个向量,看是否平行,平行的话,交换一个点,看长度是否相等。不平行的话,交换一个点,看是否相等平行。 三个点: 按楼上@akflsh 说的 > 两个垂直向量的点积为0。 也就是三个向量,两两计算点积 |
7
nilai 2014-05-27 09:29:22 +08:00
楼做是做百度地图的.
|
8
zeusrunjia OP |