gpt4 book ai didi

c++ - 生成三角形边的代码

转载 作者:行者123 更新时间:2023-11-28 06:33:02 26 4
gpt4 key购买 nike

我正在使用我发现的一些代码来测试两个三角形的交集。我遇到问题的代码部分是:

/*tr_tri_intersect3D - C1 is a vertex of triangle A. P1,P2 are the two edges originating from this vertex.
D1 is a vertex of triangle B. P1,P2 are the two edges originating from this vertex.
Returns zero for disjoint triangles and non-zero for intersection.*/

int tr_tri_intersect3D (double *C1, double *P1, double *P2,
double *D1, double *Q1, double *Q2);

我不明白的是,如果我有 2 个三角形的三个顶点,我需要做什么才能生成此函数的输入?

可以在以下位置找到完整的源代码:

Triangle Triangle Code

The source code had a test function, it was:

for (i = 0; i<10000; i++){
for (j = 0; j<3; j++){
for (k = 0; k<3; k++){
PS[i][j][k] = drand48();
QS[i][j][k] = drand48();
}
}
for (j = 0; j<2; j++){
for (k = 0; k<3; k++){
EPS[i][j][k] = PS[i][j + 1][k] - PS[i][0][k];
EQS[i][j][k] = QS[i][j + 1][k] - PS[i][0][k];
}
}
}
double sum = 0;
int t0 = clock();
int sums[100] = { 0 };
for (j = 0; j<1000; j++)
for (i = 0; i<10000; i++){
int res = tr_tri_intersect3D(PS[i][0], EPS[i][0], EPS[i][1],
QS[j][0], EQS[j][0], EQS[j][1]);
sums[res]++;
}

如果有帮助。

最佳答案

从示例代码看来,边的意思似乎是从起始顶点到结束顶点的 vector 。对于具有三个顶点 C1、C2、C3 的三角形,两个输入边将为 P1 = C2-C1,P2=C3-C1

关于c++ - 生成三角形边的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27210106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com