首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从一个点查找最近的圆

从一个点查找最近的圆
EN

Stack Overflow用户
提问于 2011-09-07 16:08:03
回答 2查看 261关注 0票数 1

我正在研究我的世界查询方法,以便从一个点找到最近的实体(用于AI目标)。我的实体被边界圆圈所覆盖。

我有这个:

代码语言:javascript
复制
var distanceX : Number = boundingCircle.position.x - startPosition.x;
var distanceY : Number = boundingCircle.position.y - startPosition.y;

var distance : Number = (distanceX * distanceX + distanceY * distanceY);

if (distance < lastDistance)
{
    // set this circle as the closest...
}

它没有考虑到边界圆的半径,这给了我不准确的结果。我可以只用距离的平方减去半径的平方来得到到边界圆边缘的距离吗?还是需要用Math.sqrt计算一个更精确的距离?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-07 16:09:19

我能不能只用距离的平方减去半径的平方,就可以得到到边界圆边的实际距离

是的,这应该很好。

如果到敌人的距离是Δ,并且他的边界圆半径是r,那么到他的边界圆的距离是Δ-r。

票数 1
EN

Stack Overflow用户

发布于 2011-09-07 17:33:21

代码语言:javascript
复制
DistanceToCenter - radius == DistanceToCircle

代码语言:javascript
复制
DistanceToCenter^2 - radius^2 != DistanceToCircle^2

所以你不会通过减去平方值来得到距离。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7330673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档