凸壳蛮力

时间:2017-02-10 23:11:06

标签: c algorithm

我正在尝试对凸包实施蛮力方法,但我遇到了问题。我有以下内容:

void convexHull(point *array)
{
    double a,b,c,checkVal,found;
    for (int i = 0; i < 8; i++)
    {
        for (int j = i+1; j < 8; j++)
        {
            found = 0;
            a = array[j].y - array[i].y;
            b = array[j].x - array[i].x;
            c = (array[i].x * array[j].y) - (array[i].y * array[j].x);

            for (int k = 0; k < 8;k++)
            {
                checkVal = (a * array[k].x) + (b * array[k].y) - c;


                if (checkVal == 0)
                {
                    found = 1;
                    break;
                }

           }

           if (found == 1)
           {
                printf("%lf %lf\n",nums[i].x,nums[j].y);
           }
        }
    }
}

我有8分,我正在阅读,这就是为什么索引在8结束。我一直试图在网上找到例子,但找不到太多帮助我。一旦我计算checkVal,我很确定我必须检查它是否等于0并打破循环,并打印num [i]和num [j]处的点但我似乎无法得到它工作。如何检查打印点集的条件?

0 个答案:

没有答案