gpt4 book ai didi

c++ - 绕轴 3D 旋转的说明。 (简单编码)

转载 作者:搜寻专家 更新时间:2023-10-31 01:15:12 25 4
gpt4 key购买 nike

我正在准备我的考试,但我需要帮助了解绕轴的旋转。在一个问题中,我假设一个函数 drawHouse() 在 xy 平面中绘制一个线框房屋,如下图所示:

house before transformation

我们有多种代码段选择,并询问哪一种会导致这个改造后的房子:

enter image description here

正确答案如下:但我不确定命令是从后向前执行还是从前向后执行:

glMatrixMode(GL_MODELVIEW); 
glLoadIdentity();
glScalef(2, 1, 1);
glRotatef(90, 0, 0, 1);
glRotatef(180, 1, 0, 0);
drawHouse();

问题是我不知道在哪个轴上以哪种方式旋转,所以如果有人能给我一个简短的总结,我将不胜感激。

Original question is 22 on here, PDF

最佳答案

假设您有关于 gl 函数和应用转换的顺序的文档。如果您根据固定的轴来查看变换,那么该解决方案只有在变换以相反的顺序发生时才有意义,即从 glRotatef(180, 1, 0, 0); 开始。所以转换将是

  1. 绕 X 轴旋转 180 度,让房子朝下
  2. 围绕 Z 轴旋转 90 度,使房屋像最终图像一样位于 X 轴上,不拉伸(stretch)
  3. 沿 X 轴缩放 *2,将房子向外拉伸(stretch)

关于c++ - 绕轴 3D 旋转的说明。 (简单编码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10409543/

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