我正在尝试统一制作2D游戏。我想围绕列表中的一组刚体2D创建一个convex hull。为此,我需要按每个刚体2D与起始位置所成的角度对List进行排序。有人知道我该怎么做吗?
您可以使用LINQ按计算值对列表进行排序。
return list.OrderBy(c =>
{
return /*ANGLE COMPUTATION*/;
}).ToList();
并且该角度计算可以是(规范化)矢量之间的点积。https://docs.unity3d.com/ScriptReference/Vector3.Dot.html
https://en.wikipedia.org/wiki/Dot_product
尽管有凸包算法的现成实现,例如这样的https://github.com/masphei/ConvexHull