我正在尝试对凸包实施蛮力方法,但我遇到了问题。我有以下内容:
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]处的点但我似乎无法得到它工作。如何检查打印点集的条件?