小编Spa*_*n01的帖子

格雷厄姆扫描问题点数很高

我的格雷厄姆扫描算法有一个问题,当我的列表有很多分数,但每次都很好,点数很少.我做了一些截图:

工作:(300分) 工作的

不工作(5000分) 不工作

角度计算:

public static double angle(MyVector3D vec1, MyVector3D vec2)
{
    return Math.Atan2(vec2.Y - vec1.Y, vec2.X - vec1.X) * 180 / Math.PI;

}
Run Code Online (Sandbox Code Playgroud)

极角分选点取决于最大Y点:

//bubblesort
    private void sortList()
    {
        double temp = 0.0;
        MyVector3D tempVector = new MyVector3D();
        for (int i = 1; i < points.Count; i++)
        {
            for (int j = 1; j < points.Count - 1; j++)
            {
                if (angles[j] < angles[j + 1])
                {
                    temp = angles[j + 1];
                    tempVector = points[j + 1];
                    angles[j + …
Run Code Online (Sandbox Code Playgroud)

c# algorithm wpf computational-geometry

5
推荐指数
2
解决办法
2594
查看次数

标签 统计

algorithm ×1

c# ×1

computational-geometry ×1

wpf ×1