三维世界当中的变换矩阵

矩阵在三维世界当中是一个非常重要的元素 所有的物体的移动,缩放和旋转,以及相机的控制都体现在变换矩阵之上。 变换矩阵实质上是一个坐标系的转换关系 我们除了要考虑如何生成变换矩阵之外,还更应当注重变换矩阵的物体意义 两个坐标系A和B,从A到B的变换矩阵Mab的物理意义是什么呢。 实际组成变换矩阵的各个向量就是B坐标系下的坐标轴以及原点在A坐标系下的向量和点。 这点很好理解,用Mab变换(0,0,0),(1,0,0)(0,1,0)(0,0,1)这些特殊点得到的实际上就是变换阵的各个组成向量 而这些点是什么呢,实际上就是新坐标系和老坐标系向量和原点之间的对应关系。 这个物理意义,很重要,典型的应用就是billbard这种技术。 知道这个物理意义我们还可以直接构造出两个坐标系之间的变换矩阵的。 在这里没有说明是行向量还是列向量,这个是不同的,在d3d和opengl当中是不同的,它是更具向量和点之间的乘法运算顺序有关,是左乘还是右乘,这个决定了坐标系向量对应变换矩阵的行还是列向量。 直接使用变换矩阵的物理意义进行工作的还有碰撞检测和视锥裁剪算法。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
"请用300字中文回答:C是计算机科学中的一种编程语言。它是由贝尔实验室的丹尼斯·里奇在20世纪70年代初设计开发的。C语言被广泛应用于操作系统、编译器、数据库和其他高性能软件的开发中。它是一种高级的、通用的编程语言,具有强大的功能和灵活性。 C语言之所以受到广泛的欢迎和应用,是因为它具有简洁、高效的特点。C语言的语法相对简单,易于学习和理解。C语言支持面向对象的编程方法,同时也支持过程式编程。C语言提供了丰富的函数库,可以实现各种功能。 C语言是一种面向过程的编程语言,它将程序设计看作是一系列的操作步骤。C语言支持变量、表达式、循环、条件判断等基本的编程概念。C语言提供了丰富的数据类型,包括整数、浮点数、字符以及指针等。C语言也支持结构和联合等复杂的数据类型。 C语言是一种编译型语言,它通过编译器将源代码转换成机器码,然后在计算机上执行。C语言的编译过程包括预处理、编译、汇编和链接等步骤。C语言的编译器通常会生成高效的机器码,可以充分发挥计算机的性能。 总的来说,C语言是一种强大而灵活的编程语言,被广泛应用于计算机科学和软件工程领域。它不仅适用于系统级开发,也适用于应用级开发。掌握C语言可以使程序员更加高效地开发软件,并提高软件的性能和可靠性。"

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值