gpt4 book ai didi

Silverlight 多边形 - 在里面点击?

转载 作者:行者123 更新时间:2023-12-04 07:04:21 28 4
gpt4 key购买 nike

我在 Silverlight 中有一个多边形(棋盘游戏的十六进制),例如;

public class GridHex : IGridShape
{
.....
public IList<Point> Points { get; protected set; }
public bool Intersects(Point point) { ... }
}

我想说
if(myHex.Intersects(clickedPoint)) { ... }

但是我不确定在 Intersects 方法中使用哪种算法 - 目前我在每个六边形内部使用一个内部“边界框”来检测一个点是否在其中,但必须有一个算法来解决这个问题?我知道每个六边形的 6 个点的坐标。

我在想我也许可以创建一个 Silverlight 多边形并进行某种 HitTest ?当然,这会占用大量内存(我会迭代大量的十六进制以查看鼠标单击属于哪个十六进制......)所以最好使用数学公式来计算一个点是否在一个十六进制....

最佳答案

This page很好地解释了一种用于确定点是否在多边形内的算法。

关于Silverlight 多边形 - 在里面点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1357382/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com