计算两个矩形是否有相交部分,求C或C++源代码算法
已知如图两个矩形,他们的d(短边)是一样的,坐标点是d的中点。判断他们两者是否有相交部分,要考虑各种极端情况以确保算法正确。请各位大神费心想想吧,最好就用到已有的这些条件...
已知如图两个矩形,他们的d(短边)是一样的,坐标点是d的中点。判断他们两者是否有相交部分,要考虑各种极端情况以确保算法正确。
请各位大神费心想想吧,最好就用到已有的这些条件,不要用大量的sin啊cos函数,越简单越好,我这个判断在整个程序里要反复调用的,多了会效率很慢。
好算法加分,拜托了啊!
不计算矩形的顶点坐标,算法复杂度要低,尽量运用我上面给出的这些条件不要另外计算获得条件。 展开
请各位大神费心想想吧,最好就用到已有的这些条件,不要用大量的sin啊cos函数,越简单越好,我这个判断在整个程序里要反复调用的,多了会效率很慢。
好算法加分,拜托了啊!
不计算矩形的顶点坐标,算法复杂度要低,尽量运用我上面给出的这些条件不要另外计算获得条件。 展开
5个回答
展开全部
非要写代码吗 不想写
四个点令成A B C D
就先求到A和B中到直线CD距离较小的一个 令成L
还是要判断夹角 用斜率求个α
就判断L和d(1+sinα)哪个大,L大就不相交
不是很浪费时间 就有个开根(求距离)、还要转换个tan→sin
不难写啊 自己动手吧
四个点令成A B C D
就先求到A和B中到直线CD距离较小的一个 令成L
还是要判断夹角 用斜率求个α
就判断L和d(1+sinα)哪个大,L大就不相交
不是很浪费时间 就有个开根(求距离)、还要转换个tan→sin
不难写啊 自己动手吧
更多追问追答
追问
α是哪个角度?
追答
就是它的d边和另一个长方形的边的夹角嘛 倒角公式求个就行
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以想象定住矩形的中心让矩形旋转,最极端的情况是两个矩形刚好中心距离和等于各自对角线和的一半
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把矩形a 和b 的每条边都分开来。通过查看a的4边和b的4边是否有相交来判定2个矩形是否相交
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询