2

嗨,我做了一个应用程序,它有两个球。红色和黄色。用户必须将其拖放RED BALLYELLOW BALLXY 平面中。现在我想计算重叠的精度是多少。我知道如果目标的 XY 等于 Striker 的 XY 那么它是 100% 但你将如何计算呢?好像你把红球往右移动,前锋的 X 值变大,百分比不准确?我一直在使用百分比误差公式,但它不准确

   double percentErrorX =(CurrentX-targetX)*100/targetX;
            double percentErrorY = (CurrentY -targetY)*100/targetY;

在此处输入图像描述

4

4 回答 4

4

我认为最直观的百分比计算形式来自计算每个重叠圆圈的面积百分比。

你使用什么样的粒度?你的 xy 坐标代表什么,每个圆的中心?如果 xy 坐标是中心,那么您可以使用距离公式:

d = sqrt[ (x1-x2)^2 + (y1-y2)^2 ]

其中目标的 xy 坐标为 x1, y1,前锋的 xy 坐标为 x2, y2。

使用这个 d,您可以计算一个百分比,如下所示:

Percent = (d / radius)
于 2011-06-14T21:00:48.130 回答
2

在 Wolfram 上查看这个精彩的页面

于 2011-06-14T21:09:25.047 回答
0

碰撞的种类很多。还有一篇关于圆碰撞的好文章: http ://compsci.ca/v3/viewtopic.php?t=14897

于 2011-06-14T21:04:28.780 回答
0

你需要一些数学来计算确切的结果,但这里有一种吃法,可以给你很好的近似值。通过 sqrt((x1-x2)^2+(y1-y2)^2) 计算球之间的距离 你的结果大约是 (distance/radius*2)^1.8 试试这样的公式,看看精度是否足够好

于 2011-06-14T21:05:58.010 回答