Unity3D-按点对点的顺序列表

问题描述 投票:-2回答:1

我正在尝试统一制作2D游戏。我想围绕列表中的一组刚体2D创建一个convex hull。为此,我需要按每个刚体2D与起始位置所成的角度对List进行排序。有人知道我该怎么做吗?

c# unity3d convex-hull rigid-bodies
1个回答
0
投票

您可以使用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

© www.soinside.com 2019 - 2024. All rights reserved.