gpt4 book ai didi

c++ - 计算角度/曲率?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:50:36 26 4
gpt4 key购买 nike

我正在尝试将高斯-博内定理应用于我的 C++ OpenGL 应用程序,并计算网格中相邻三角形 Fi 中顶点 Vi 处的内角值。

在发表这篇文章之前我做了一些搜索,我知道要为 2D 模型执行此操作,可以使用下面的函数来获取角度:

void angles(double points[][2], double angles[], int npoints){
for(int i = 0; i < npoints; i++){
int last = (i - 1 + npoints) % npoints;
int next = (i + 1) % npoints;
double x1 = points[i][0] - points[last][0];
double y1 = points[i][1] - points[last][1];
double x2 = points[next][0] - points[i][0];
double y2 = points[next][1] - points[i][1];
double theta1 = atan2(y1, x1)*180/3.1415926358979323;
double theta2 = atan2(y2, x2)*180/3.1415926358979323;
angles[i] = (180 + theta1 - theta2 + 360);
while(angles[i]>360)angles[i]-=360;
} }

但是我如何找到 3D 网格(x、y 和 z)顶点的角度?

最佳答案

3D 中的类似概念称为高斯曲率。这种情况比 2D 复杂得多,并且没有一种好的方法可以计算或估计网格的高斯曲率。有一个 survey paper这可能会给你一些想法。

关于c++ - 计算角度/曲率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29725698/

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