【发布时间】:2013-11-16 19:23:35
【问题描述】:
给定 3D 三角形网格中的 3 个顶点及其法线,我将它们插值在三角形表面上。我想计算该曲面中每个点的主曲率 k1、k2。
我的代码大致如下所示:
Vertex v1,v2,v3,v12,p,vp; // Vertex is an structure of x,y,z and some operators
v1 = ...; v2 = ...; v3 = ...;
Vertex n1,n2,n3,n12,n;//normals
n1 = ...; n2 = ...; n3 = ...;
int interLevels = ceil(sqrt(tArea(v1,v2,v3)));
for (float a=0; a<=1;a+=1.0f/interLevels){
v12 = v1*a+v2*(1-a);
n12 = n1*a+n2*(1-a);
for (float b=0; b<=1;b+=1.0f/interLevels){
p = v12*b+v3*(1-b);
n = n12*b+n3*(1-b);
normalize(n);
Vertex k1,k2;
}
}
我们如何计算 k1 和 k2? 依赖给定的输入就足够了吗,还是应该考虑附近的顶点?
【问题讨论】:
标签: c++ opengl math image-processing graphics