void getNormal(GLfloat gx[3],GLfloat gy[3],GLfloat gz[3],GLfloat *ddnv)
{
GLfloat w0,w1,w2,v0,v1,v2,nr,nx,ny,nz;
w0=gx[0]-gx[1]; w1=gy[0]-gy[1]; w2=gz[0]-gz[1];
v0=gx[2]-gx[1]; v1=gy[2]-gy[1]; v2=gz[2]-gz[1];
nx=(w1*v2-w2*v1);
ny=(w2*v0-w0*v2);
nz=(w0*v1-w1*v0);
nr=sqrt(nx*nx+ny*ny+nz*nz);
ddnv[0]=nx/nr; ddnv[1]=ny/nr; ddnv[2]=nz/nr;
}
三角平面法向的计算方式
最新推荐文章于 2021-10-16 23:41:33 发布