4

我有 9 个屏幕坐标,每个坐标代表 9 个位置之一。从右上角开始,我希望该位置从第一个位置开始,以下顺时针坐标表示第二个、第三个、第四个等等,直到第 9 个,这将是左上角的坐标。

这里有人能想出某种数学方法来确定 9 个坐标中的哪个坐标在哪个位置吗?它们都是相对的,并且永远是相对的。

示例坐标可以是:

(x,y)
X   Y
663 382
543 454
303 454
183 382
418 459
543 209
303 209
653 259
183 259

绘制成类似的图像: 坐标的表示

有人会有什么想法吗?我只是想要某种形式的编程方式以顺时针顺序列出这些坐标......

4

2 回答 2

8

找到“圆”的中心,即平均 X 和平均 Y

移动 X 和 Y 值,使它们都相对于新中心。

转换为极坐标并按角度排序。

于 2012-07-05T20:34:14.410 回答
0

假设我理解正确,我会做类似的事情

newPosition = (originalPosition + # of rotations) mod 8

我假设第一个位置是 0,并且您只能使事物顺时针以整数增量跳跃(因此是旋转数)

于 2012-07-05T20:40:36.170 回答