码迷,mamicode.com
首页 > 其他好文 > 详细

Transformations_练习一

时间:2019-11-28 16:29:06      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:mem   res   float   app   open   oat   vector   for   otto   

使用应用在箱子上的最后一个变换,尝试将其改变为先旋转,后位移。看看发生了什么,试着想想为什么会发生这样的事情

技术图片
 1 int main()
 2 {
 3     [...]
 4     while(!glfwWindowShouldClose(window))
 5     {
 6         [...]        
 7         // Create transformations
 8         glm::mat4 transform;
 9         transform = glm::rotate(transform, (float)glfwGetTime(), glm::vec3(0.0f, 0.0f, 1.0f)); // Switched the order
10         transform = glm::translate(transform, glm::vec3(0.5f, -0.5f, 0.0f)); // Switched the order               
11         [...]
12     }
13 }
14 
15 /* Why does our container now spin around our screen?:
16 == ===================================================
17 Remember that matrix multiplication is applied in reverse. This time a translation is thus
18 applied first to the container positioning it in the bottom-right corner of the screen.
19 After the translation the rotation is applied to the translated container.
20 
21 A rotation transformation is also known as a change-of-basis transformation
22 for when we dig a bit deeper into linear algebra. Since we‘re changing the
23 basis of the container, the next resulting translations will translate the container
24 based on the new basis vectors. Once the vector is slightly rotated, the vertical
25 translations would also be slightly translated for example.
26 
27 If we would first apply rotations then they‘d resolve around the rotation origin (0,0,0), but 
28 since the container is first translated, its rotation origin is no longer (0,0,0) making it
29 looks as if its circling around the origin of the scene.
30 
31 If you had trouble visualizing this or figuring it out, don‘t worry. If you
32 experiment with transformations you‘ll soon get the grasp of it; all it takes
33 is practice and experience.
34 */
View Code

调换一下旋转和位移的顺序即可,至于原因,暂时还没有明白...

 

2019/11/28

Transformations_练习一

标签:mem   res   float   app   open   oat   vector   for   otto   

原文地址:https://www.cnblogs.com/ljy08163268/p/11950770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!