光源是二维空间中位于单个坐标中的实体。
在不同的位置周围有多个光源,每个光源发出8个方向的光线N, S, E, W, NW, NE, SW, SE
。所有灯光的坐标都是已知的。
给定一个随机点(x, y)
,我需要确定它是否被光线击中。
int width = 10000;
int height = 10000;
List<Point> lights = a bunch of randomly placed light sources.
Point position = new Point(8888, 5555);
现在我需要迭代lights' collection and determine if my location (
位置`)被每个人击中。
一个简单的检查lights[n].X == position.X
可以告诉我水平撞击和类似的垂直撞击。如何以最有效的方式检测对角线命中?由于对角线总是 45 度角,我可以避免昂贵的浮点计算吗?