gpt4 book ai didi

c++ - 使用平面法线旋转

转载 作者:太空宇宙 更新时间:2023-11-04 14:00:58 25 4
gpt4 key购买 nike

我在原点有一架飞机。

glBegin(GL_POLYGON);
glVertex3f(-10.0, -10.0,0.0);
glVertex3f(10.0, -10.0, 0.0);
glVertex3f(10.0, 10.0, 0.0);
glVertex3f(-10.0, 10.0, 0.0);
glEnd();

比起我尝试旋转这个平面以获得新的正常 1 0 0。

我明白要计算两条法线之间的角度,我需要找到旧法线。我怎样才能找到旧常态?当我找到旧法线时,是否必须输入新法线才能旋转,例如 glRotatef(angle,1,0,0)

最佳答案

您的所有顶点都位于 XY 平面内,因此您的法线只是在 Z 方向 (0,0,1) 或 (0,0,-1)。如果要旋转多边形以使其法线指向 X 方向,则需要将其绕 Y 轴旋转 90 度,glRotatef(90.0f,0,1,0) 或 glRotatef(-90.0f,0,1, 0).

关于c++ - 使用平面法线旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19303809/

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