- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试绕轴旋转立方体,我正在做的是:
glTranslatef(0.0f, 0.0f, -60.0f);
glRotatef(angle, 0.0f, 1.0f, 0.0f);
我期望它移动到 -60 并绕 y 轴旋转一圈,但它只是在 -60 坐标处绕自身旋转。当我这样写时:
glRotatef(angle, 0.0f, 1.0f, 0.0f);
glTranslatef(0.0f, 0.0f, -60.0f);
我得到了我需要的东西,但我不明白为什么?他们为什么要做相反的事?有人可以解释一下吗?
最佳答案
当您应用变换时,它会在本地应用。将其视为您正在移动的坐标系。您从代 TableView 的坐标系开始,然后相对于其自身变换该坐标系。因此,在第一种情况下,您将沿坐标系的 Z 轴平移坐标系 -60,然后在新原点绕新 Y 轴旋转坐标系。您绘制的任何内容都会在新的坐标系中绘制。
一旦您习惯了它,这实际上提供了一种更简单的方式来思考转换。您不必记住两个单独的坐标系:一个用于应用变换的坐标系,另一个用于绘制几何图形的坐标系。
关于OpenGL glRotate 和 glTranslate 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9852791/
当我可以自己进行位置数学运算时,插入/弹出矩阵以平移形状的目的是什么?我可以理解使用前面提到的矩阵来做更困难的操作(例如旋转),但为什么要专门翻译? public void render()
我想绘制一个立方体并翻译它,但模型 View 矩阵上的转换似乎不起作用。它们的效果为 0。 gl.glClearColor(0, 0, 0, 0); gl.glClear(GL.GL_COLOR_BU
这是我一直遇到的一个大问题。 我正在尝试使用 glTranslate 渲染多个图 block ,但是当我使用 x、y 坐标调用我的绘图函数时,图 block 的间距很奇怪(我不想要空格)。 这是发生了
我正在学习 openGL 以及如何进行转换和缩放等转换。我知道你通常必须翻译到原点,然后做任何你想做的事情(比如缩放),然后再翻译回来。根据我的理解,这是手动完成的,但您可以使用 glScale()
我正在尝试绕轴旋转立方体,我正在做的是: glTranslatef(0.0f, 0.0f, -60.0f); glRotatef(angle, 0.0f, 1.0f, 0.0f); 我
我有一个八边形,我需要将其旋转和平移到 10,000 个不同的位置/角度。角度和坐标动态变化。 如果我在即时模式下使用 glRotate 和 glTranslate,由于客户端/服务器之间的所有来回,
我遇到了一个问题,我用以下代码制作了一个圆柱体,我一直在尝试移动它(向后移动,以便它的中心位于灰色光束所在的位置)。 但是,输出根本没有移动圆柱体,我没能发现问题所在? GLfloat plane[]
我正在使用 glRotate 和 glTranslate 函数来围绕自身旋转模型。但是当我运行我的程序时,我的模型正在围绕它旁边的一个点旋转。这是我的模型定义: private static fina
我需要一个函数来将类似 glTranslate() 的翻译应用于一个点。有人知道像 glTranslate() 和 glRotate() 这样的函数可以修改和检索要相乘的矩阵吗? 最佳答案 有成千上万
我正在尝试创建一个简单的 JOGL 程序,但遇到了问题。我刚刚将所有必要的包导入到我的类文件中,但是现在,每次我使用 glTranslate 函数时,它都会被标记为红色错误,例如在该代码块的末尾。 p
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 3 年前。 Improve this ques
我的目标是通过按下箭头键来移动对象。为此,在回调中,我从某个偏移量创建平移矩阵,并将其乘以世界矩阵。但是它不起作用 - 立方体不会通过按键移动。我还注意到直接使用 glTranslate() 和设置的
我在 GLFW 上下文中使用 GLUT 绘制了一个球体。我使用的代码是: void drawSphere(std::vector color, std::vector position, float
假设我使用 glRotate 根据一些任意用户输入来转换当前 View (即,如果按下左键则 rtri+=2.5f) glRotatef(rtri,0.0f,1.0f,0.0f); 然后我在旋转后的位
我正在尝试渲染图像并使用 glTranslate 对其进行偏移: glPushMatrix(); glTranslatef(x, y, 0.0f); glDrawElements(GL_TRIANGL
我正在寻找矩阵的解释(或图像)以及在对其进行平移、旋转和缩放时矩阵如何变化...(一个单元格带有 sin(angle),另一个单元格的 x 坐标为翻译) 最佳答案 现在,忽略平移,这是一个比旋转和缩放
概述: 我正在尝试创建一个类似于此的 3D 应用程序: www.youtube.com/watch?v=h9kPI7_vhAU. 我正在使用 OpenCV2.2、Python2.7 和 pyOpenG
在 OpenGL ES 1.x 中,可以先执行 glTranslate,然后执行 glRotate,以修改旋转中心的位置(即 围绕给定点旋转 )。据我了解,在 OpenGL ES 2.0 中,矩阵计算
我是一名优秀的程序员,十分优秀!