22 | 如何用仿射变换来移动和旋转3D物体?
月影
该思维导图由 AI 生成,仅供参考
你好,我是月影。
在前面的课程里,我们学习过使用仿射变换来移动和旋转二维图形。那在三维世界中,想要移动和旋转物体,我们也需要使用仿射变换。
但是,仿射变换该怎么从二维扩展到三维几何空间呢?今天,我们就来看一下三维仿射变换的基本方法,以及怎么对它进行优化。
三维仿射变换和二维仿射变换类似,也包括平移、旋转与缩放等等,而且具体的变换公式也相似。
比如,对于平移变换来说,如果向量 沿着向量 平移,我们只需要让 加上 ,就能得到变换后的坐标。
再比如,对于缩放变换来说,我们直接让三维向量乘上标量,就相当于乘上要缩放的倍数就可以了。最后我们得到的三维缩放变换矩阵如下:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了如何使用仿射变换和欧拉角来移动和旋转3D物体,以及如何避免万向节锁的问题。首先介绍了三维仿射变换的基本方法和优化,包括平移、旋转和缩放等操作。对于旋转变换,详细介绍了使用欧拉角来描述三维物体的旋转变换矩阵,以及欧拉角的概念和表示方法。然后,通过实际例子演示了如何在OGL框架中加载飞机几何模型和纹理图片,并进行渲染。文章还介绍了四元数的使用,以及如何用四元数来处理轴角,避免万向节锁的问题。最后,鼓励读者尝试利用放射变换来实现旋转的3D陀螺效果,并分享给朋友们一起实现。整体来说,本文通过简洁清晰的语言和实际示例,帮助读者快速了解了如何使用仿射变换和欧拉角来移动和旋转3D物体的技术特点。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《跟月影学可视化》,新⼈⾸单¥68
《跟月影学可视化》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- DasonCheng3D里面有几个概念不是很清楚,“模型“可以理解为空间坐标的集合,通常由工业软件(maya、c4d、3ds-max等)制作生成,并进行三角分片,此阶段的模型称为“低模”。为了使效果真实,会加上材质、纹理、贴图,法线可以辅助光照模拟自然环境下的光影变化。shader是否可以完成材质、纹理这些效果?之所以直接贴图是否是为了节省计算资源,直接用位图替代,而这个位图是在“高模”的基础上进行其他制作后导出的图片?能否麻烦月影大佬介绍一下3D模型的常见概念及彼此之间的关系。
作者回复: 这个留待专门介绍3D渲染的课程吧,偏游戏方向了,对于可视化来说,3D只是其中一部分。
2020-10-212 - 不见飞刀让一个物体绕另一个物体的中心旋转应该如何表示呢
作者回复: 一般三维不能只绕一个点旋转,还是需要绕一个轴,也就是过一个物体中心点的一个向量旋转。
2020-09-081 - 皮特尔欧拉角为什么要分成 Proper Euler angles 和 Tait–Bryan angles 两种?有什么讲究吗?
作者回复: 没什么特别讲究,就是两种不同的记法
2020-08-191 - Sam麻烦问下,模型转josn这块有什么工具可以推荐
作者回复: github上应该有一些不错的开源库
2020-09-10 - H期待老师 再出新课!2022-01-07
收起评论