向量几何在游戏编程中的使用系列六之物体的旋转

本文深入探讨向量旋转与矩阵变换在游戏编程中的应用,通过介绍矩阵的基本运算及其性质,解释如何利用矩阵实现物体在三维空间的平移、旋转和缩放,特别强调在游戏开发中旋转操作的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此次我们要讨论向量的旋转问题,包括平面绕点旋转和空间绕轴旋转两部分。对于游戏程序员来说,有了向量的旋转,就代表有了操纵游戏中物体旋转的钥匙,而不论它是一个平面精灵还是一组空间的网格体亦或是我们放在3-D世界某一点的相机。我们仍需借助向量来完成我们此次的旅程,但这还不够,我们还需要一个朋友,就是矩阵,一个我们用来对向量进行线性变换的GooL GuY.

  一、矩阵的基本运算及其性质

  对于3x3矩阵(也叫3x3方阵,行列数相等的矩阵也叫方阵)mM,有

  1、矩阵加减法

  m +- M =

[a b c]      [A B C]   [a+(-)A b+(-)B c+(-)C]
[d e f] +(-) [D E F] = [d+(-)D e+(-)E f+(-)F]
[g h i]      [G H I]   [g+(-)G h+(-)H i+(-)I]

 

  性质:

  1)结合律 m + M + N = m + M  + N

  2 交换律 m + M = M + m

  2、数量乘矩阵

  k x M =

    [A B C]   [kxA kxB kxC]
k x [D E F] = [kxD kxE kxF]
    [G H I]   [kxG kxH kxI]

 

  性质:

  kl为常数

  1 k + l x M = k x M + l x M

  2 k x m + M = k x m + k x M

  3 k x l x M = k x l x M

  4 1 x M = M

  5 k x m x M = k x m x M = m x k x M

  3、矩阵乘法

  m x M =

[a b c]   [A B C}   [axA+bxD+cxG axB+bxE+cxH axC+bxF+cxI]
[d e f] x [D E F] = [dxA+exD+fxG dxB+exE+fxH dxC+exF+fxI]
[g h i]   [G H I]   [gxA+hxD+ixG gxB+hxE+ixH gxC+hxF+ixI]

  可以看出,矩阵相乘可以进行的条件是第一个矩阵的列数等于第二个矩阵的行数。

 

转载于:https://my.oschina.net/liu-xuewei/blog/77476

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值