考虑到n个磁盘/圈都有一个共同的区域,这意味着每两个人彼此交叉,并且我们知道它们的坐标(X1,Y1,R1),(X2,Y2,R2),...,(XN,YN ,RN),其中,xi,苡仁,RN表示x轴坐标,y轴坐标,和第i个磁盘/圆的半径,分别,你能提供计算方法的这些交叉点的质心的坐标磁盘/圈?
Answer 1:
让我们假设所有的圆圈重叠,使得一个可以跟踪从任何一个点在路径的一个圆到任意点在任何其他社交圈,而只穿过由圆载点。 而且,对于一般性,该圈可能是不同的半径。
按照维基页面你可以分解这种形状成单独的几何区域。 也就是说,你可以通过考虑每个单独圈(即假装它们不重叠),找到重心的中间值。
不幸的是一些圆的重叠,所以你会被计算两次的身影地区。 下图,取自该网页 ,显示这些重叠的区域。 因此,你必须找到圆圈圈交汇的心,并从中间质心减去这个(详情见几何分解的wiki页面的描述)。
由于可以判断哪圆重叠只是做这些对于每个重叠的对,然后的空间,每个区域将仅被计数一次。 然后,您的问题简化为寻找一个圆圈,圆圈交点的重心。
可以通过使用几何分解打破相交的每个透镜将发现这个圆弧段经由方法给定的段的高度这里 ,用适当的坐标变换的结果耦合到所述质心旋转和平移,以相对的位置之一的中心的圈子。
文章来源: the centroid of the intersection of n disks/circles [closed]