opengl法向量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opengl法向量相关的知识,希望对你有一定的参考价值。

用斯坦福兔子做网格简化的实验
给每个面片都算了法向量,然后用opengl显示出来
但是面片数量多了之后,生成的图片就乱了,面片数量低的时候就是正常的
比如35000个面的时候(很多面怎么直接就黑了呢)

3500个面的时候(这样基本就是正常的了)

350个面的时候(这个非常正常)

不知道这中情况是什么原因啊,是因为我法向量算错了嘛?
我计算法向量的代码如下
Vec3f p0 , p1 , p2 , e1 , e2 , e;
Array<int , 3> face;
for(int i=0; i<input->m_nTriangles; i++)

face = input->m_pTriangleList[i];
p0 = input->m_pVertexList[face[0]];
p1 = input->m_pVertexList[face[1]];
p2 = input->m_pVertexList[face[2]];
e1 = p0 - p1;
e2 = p1 - p2;
e = e1.cross(e2);
e.Normalize();
norm[i] = e;

参考技术A 为啥还要用OpenGL去绘制这么复杂的模型呢,可以用别的建模软件啊,生成的文件,放到OpenGL中运行就是了本回答被提问者采纳

以上是关于opengl法向量的主要内容,如果未能解决你的问题,请参考以下文章

求出点云法向量有啥作用

meshlab的法向量怎么修改

如何向量法证明4点共平面?

法向量学习

PCL点云处理:计算点云法向量并可视化

机器学习中的矩阵向量求导 矩阵向量求导之微分法