gpt4 book ai didi

c++ - 旋转的二维矩形相交点或区域

转载 作者:太空狗 更新时间:2023-10-29 21:08:17 24 4
gpt4 key购买 nike

previous question 开始.我有两个矩形,它们看起来像这样:

struct Rect
{
NSPoint topLeft;
NSPoint topRight;
NSPoint bottomLeft;
NSPoint bottomRight;
}

我使用 something similar code检查矩形是否相交(或碰撞)。如果 2 个矩形相交,我想计算第一个矩形的交点面积或第二个矩形与第一个矩形相交的点(即交点坐标)。

如何计算相交点或相交面积。

最佳答案

您可以通过这样做来确定交点:

foreach line in rectangle 1: line1
foreach line in rectangle 2: line2
find point of intersection for line1, line2

求两条线的交点:

http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/

您可以通过找到交点来找到交点区域,并根据该点拆分线以创建新边/删除边。您最多可以在生成的多边形中获得 8 个点,或者少至 3 个(不计算退化情况)。

不,我没有说这是最有效的方法,但它会起作用:)

关于c++ - 旋转的二维矩形相交点或区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3490845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com