我想检测一下是否在钻石内点击。我只有点击(x,y)的坐标,钻石的中心(x,y)和钻石的宽度/高度。
我发现了这个,但问题不一样。金刚石象素坐标
发布于 2014-11-19 17:51:42
您可以根据l(1)范数来表示距离某一中心点的固定距离点形成一个轴向对齐菱形,其顶点与中心等距。的距离度量。
在这种情况下,您将需要应用适当的仿射变换,将您的钻石放置为以原点为中心的标准形式,将钻石的顶点放置在与原点等距的坐标上;调用此距离r。根据原始钻石的形式,这可能需要平移(如果钻石不是以原点为中心)、旋转(如果钻石的对角线不是轴向对齐的)和缩放(如果对角线不是等长的),这些操作构成了将应用的仿射变换的基础。然后,将同样的仿射转换应用于鼠标单击,并对结果点的每个组件的绝对值进行求和;调用sum d。如果是r > d,那么点在钻石的内部。如果d > r点位于钻石的外部,如果r = d点位于钻石的边缘。
https://stackoverflow.com/questions/27022064
复制相似问题