从垂直法线

问题描述

我正在制作一个程序,该程序读取应应用于网格的纹理并生成一些应显示在其三角形上的形状。我以原始形状看起来位于XZ上的方式转换点(以openGL标记轴的方式,因此Y是垂直的,Z朝向照相机,X朝向右侧)。现在我不知道如何正确地测量训练的实际法线和图像的垂直法线(我的意思是(0,1,0))之间的角度。我知道,这可能很基本,但是我最近拒绝在3D图形任务上进行合作。

我目前使用

angles.x = glm::orientedAngle(glm::vec2(normalOfTriangle.z,normalOfTriangle.y),glm::vec2(1.0f,0.0f));
angles.y = glm::orientedAngle(glm::vec2(normalOfTriangle.x,normalOfTriangle.z),0.0f));
angles.z = glm::orientedAngle(glm::vec2(normalOfTriangle.x,0.0f));
angles = angles + glm::vec3(-glm::half_pi<float>(),0.0f,glm::half_pi<float>());

按照我的思维方式,应该给出适当的结果,但是应该垂直于Z轴的立方体的面在Z轴上似乎没有旋转。

我的逻辑基于我测量与每个轴的角度,然后将每个轴旋转此角度以使其垂直。但是正如我说的那样,我的思维失灵了,我找不到合适的方法去做。有人可以帮忙吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...