double p1[O*2][1][3], p2[O*2][1][3], p3[O*2][1][3], norm[O*2][1][2];
double p12[O*2][1][2], p13[O*2][1][2];
int a, b, c, d;
for(int i = 0; i <O; i++)//把四边形坐标分成两个三角形,如第一个四边形4321,分成两个三角形432和214。
for(int k = 0; k <3; k++)
{
a = data2[i][0] - 1;
b = data2[i][1] - 1;
c = data2[i][2] - 1;
d = data2[i][3] - 1;
p1[i][0][k] = data[a][k];
p2[i][0][k] = data[b][k];
p3[i][0][k] = data[c][k];
p1[i][1][k] = data[c][k];
p2[i][1][k] = data[d][k];
p3[i][1][k] = data[a][k];
}
printf("%.16f\t %.16f\t %.16f\t", data[3][0], data[3][1], data[3][2]);
printf("\n");
printf("%.16f\t %.16f\t %.16f\t", p1[0][0][0], p1[0][0][1], p1[i][0][2]);
printf("\n");
printf("%.16f\t %.16f\t %.16f\t", data[1][0], data[1][1], data[1][2]);
printf("\n");
printf("%.16f\t %.16f\t %.16f\t", p1[0][1][0], p1[0][1][1], p1[i][1][2]);
printf("\n");
printf("%.16f\t %.16f\t %.16f\t", data[2][0], data[2][1], data[2][2]);
printf("\n");
printf("%.16f\t %.16f\t %.16f\t", p2[0][0][0], p2[0][0][1], p2[i][0][2]);
printf("\n");
printf("%.16f\t %.16f\t %.16f\t", data[0][0], data[0][1], data[0][2]);
printf("\n");
printf("%.16f\t %.16f\t %.16f\t", p2[0][1][0], p2[0][1][1], p2[i][1][2]);
printf("\n");
![图片说明](https://img-ask.csdn.net/upload/201709/27/1506518116_141358.png)