我正在尝试在多边形算法中创建一个快速 2D点,用于命中测试(例如Polygon.contains(p:Point)).对于有效技术的建议将不胜感激.
graphics performance polygon collision-detection point-in-polygon
我正在寻找有关最佳方法的建议.我试图找出给定点A:(a,b)是否在正六边形内,定义为中心O:(x,y)和外接圆的直径.
这似乎有点小题大做使用光线投射,或清盘数量确定这一点,对于这样一个简单的例子,目前我看找到行OA的角度(从水平)的选项,"正常化" (可能不是正确的词)它成为6个等边三角形中的一个,看看这个新点是否位于这个三角形内.
我觉得我错过了一些简单的东西,并且有一种简单而有效的方法(或者如果我真的很幸运,一个Java API).
谢谢你的帮助.
编辑:六边形的方向使得其中一个边与水平面平齐.
所以我正在用HTML5和Javascript制作塔防游戏.我唯一的问题是检测鼠标何时与攻击者的路径接触,这是阻止玩家在路径上建造塔的必要条件.攻击者的路径在MAP.js文件中确定(参见底部的链接),由二维数组(包含x和y对的数组)确定,因此我必须使用的是一系列点,连接时组成路径.我只是想禁止玩家将塔放在路径的50个像素内.说实话,我对碰撞检测很可怕,所以一些帮助将非常感激.
以下是所有代码的链接:http: //shapeshifting.comuv.com/Tower_Defense/td/
如您所想,只有.js文件适用,但大多数相关代码都在objects.js文件中.(请原谅杂乱)
我正在寻找一种算法,我可以创建地理围栏并检查设备是否正在进入/离开围栏.我已经看过多边形算法(光线投射和绕组数),但是有没有算法可以应用于圆形和任何不规则形状?重要的制约因素是时间效率.
谢谢.
algorithm ×2
polygon ×2
canvas ×1
geo ×1
geofencing ×1
geometry ×1
graphics ×1
html5 ×1
java ×1
javascript ×1
math ×1
performance ×1