Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 碰撞中两个正方形重叠的计算_C++_Collision_Overlapping_Surface - Fatal编程技术网

C++ 碰撞中两个正方形重叠的计算

C++ 碰撞中两个正方形重叠的计算,c++,collision,overlapping,surface,C++,Collision,Overlapping,Surface,我试图计算两个碰撞矩形的重叠面积 我找到了分离轴定理来计算它们是否发生碰撞,但我不确定是否可以用它来计算碰撞面积 如果是,请告知我必须执行哪些计算 基本上,我需要计算图片隐藏部分的百分比(例如,矩形a是一张256*256的图片),而另一张图片与之重叠,我想得到隐藏部分相对于图片全局曲面的百分比。检查边缘的交点。没有边相交(容易,100%或0%重叠)或某些边重叠。在后一种情况下,交点为偶数(忽略边接触的点)。追踪产生的凸重叠多边形并计算其面积。正方形的各边平行吗?不,它们是两个方向的矩形,具有不同

我试图计算两个碰撞矩形的重叠面积

我找到了分离轴定理来计算它们是否发生碰撞,但我不确定是否可以用它来计算碰撞面积

如果是,请告知我必须执行哪些计算


基本上,我需要计算图片隐藏部分的百分比(例如,矩形a是一张256*256的图片),而另一张图片与之重叠,我想得到隐藏部分相对于图片全局曲面的百分比。

检查边缘的交点。没有边相交(容易,100%或0%重叠)或某些边重叠。在后一种情况下,交点为偶数(忽略边接触的点)。追踪产生的凸重叠多边形并计算其面积。

正方形的各边平行吗?不,它们是两个方向的矩形,具有不同的旋转方向。当你说“检查边的交叉点,我在网格中,每个单元格都可以是边,所以在这种情况下,2条边永远不会相交。”(只有极值点可以相交)。我的问题是找到一个有效的算法,以正确的顺序排列边,以获得围绕此形状的单个“路径”(以帮助我批量处理此形状的更大区域并减少绘制调用)@user1482649:这与您之前在评论中所说的不一致,关于旋转。