将Vector2的数组相对于原点顺时针排序

时间:2015-03-15 20:17:45

标签: c# arrays sorting vector unity3d

我发现了一段代码,我尝试使用相对于指定的原点以顺时针顺序对Vector2的数组进行排序,但它似乎是随机的,无论它是否有效,并且它不在我的知识是能够解决它。

我发现this code来自here并且我正在使用那个,但我怀疑它有问题,我无法找到问题,所以我需要帮助修复代码,如果有问题。

以下是我使用它的方法(如果我做错了这个部分)

Vector2[] clockwise = new Vector2[] { point1, point2, point3 };
Array.Sort(clockwise, new ClockwiseComparer((point1 + point2 + point3) / 3f));

提前致谢!

1 个答案:

答案 0 :(得分:0)

你走了。没有看到你的Vector2 ctor,我不知道这是否有用。

Vector2[] clockwise = new Vector2[] { point1, point2, point3 };
clockwise = Array.Sort(clockwise, new ClockwiseComparer( new Vector2(0,1));