share and love|

Kerios

园龄:3年1个月粉丝:0关注:2

2022-01-26 16:13阅读: 258评论: 0推荐: 0

games101_笔记_03:矩阵与变换,齐次坐标

课前复习:向量的定义,基本操作,加与乘(点乘与叉乘) dot product and cross product.

transform变换:

ue里面常见的摄像机通过插入关键帧,然后就能实现一个运动,这种运动路线是怎么算出来的呢,变换就是答案。

皮克斯动画那个台灯,i会被压扁,这种压扁也能用变换表示。

用相机拍照,三维变成2维的过程,也是一种变换。

首先说2维的变换:

缩放变换:

 

 

 

 

反转缩放:

 

 

切边(shear matrix):

 

 

旋转矩阵:Rotation martrix

 

 

过程推导:

 

 

 

 

 

上述的矩阵都能写成这种形式,就是线性的

很明显能写出矩阵乘矩阵没有用到加法。这个需要记住对应一下。

如果我们要写平移的矩阵:

 

 

 

 

 

只能写出这个形式:

 

 

我们无法写成一个矩阵乘以另一个矩阵,同时说明平移不是一个线性的变换,但是是有办法去写成两个矩阵相乘的,来表达这个效果,再引入一个维度,引入一个齐次坐标的概念。

齐次坐标:统一以上所有变换。

对于每一个点加上一个1:

 

 

这里的0反而强调了向量的平移不变性。

但如果从向量的代数来源考虑就是点的坐标互相减,那么最终会得到0.无论是从几何角度还是从代数角度,都能明白向量的平移的不变性。

但是我们得到了后面不是1的呢:

 

 

这个东西说明了一个概念:在齐次坐标下,两点相加反而是终点。

这个时候我们把之前不能写成矩阵互乘的矩阵式子,我们把这个式子叫仿射变换

齐次坐标统一了一般的变换和仿射变换。

这个时候在齐次坐标之下:

2D的空间矩阵操作就变为了:

 

 

代价很小但是统一了矩阵,方便了写代码。这也是为啥在shader里面写float4,而不是float3

反变换:

 

 

这个矩阵让效果变回了最初的样子

 

 

这幅图的两个思路,一个是先旋转后平移,再是先平移后旋转。但是稍微一思考我们就能发现,思路的不同结果是不同的,这个图的思路就是先旋转再平移

矩阵的组合:

 

 

 

这个组合矩阵就表示了先旋转再平移,同时这个矩阵组合是从右边开始读到左边。这个说明了矩阵的读法问题。

把这个概念推广:

 

 

从右边读着走

虽然矩阵是没有交换律的,但是矩阵是有结合律的,那么我把左边所有矩阵先乘

我能得到一个表达非常复杂运动的矩阵。

 

 

随着问题也来了,我在表示这个的图的变化的时候,我很容易就会发现一个很大的问题,位置没有改变,但是具体的方向改变了,如果我在这个位置进行旋转,位置是会改变的。

所以一个常见的思路就是先平移回原点,再旋转,然后用平移的逆矩阵,就能得到一个如图的旋转效果的矩阵。但是我们如果把这三个矩阵乘在一起,得到一个组合的矩阵,这个矩阵会出现一个单位矩阵吗?答案是不会的,这里要想到上面的从右边开始读,这样就不会,会产生有单位矩阵的错误想法是因为脑海里面对这三个矩阵做一个交换律

这个过程就是一个变换的分解。

这些讨论都是二维空间的变换。

那么我现在讨论一下三维的变换。

 

 

 

 

所以在齐次坐标空间下,哪怕是三维空间,相加也是代表了中点。

 

 

 

 

 

 

 

 

 

 

 

 

本文作者:Kerios

本文链接:https://www.cnblogs.com/kerios-123/p/15847012.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Kerios  阅读(258)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 reol的歌曲 REOL
reol的歌曲 - REOL
00:00 / 00:00
An audio error has occurred.

作曲 : Reol

作词 : Reol

fade away...do over again...

fade away...do over again...

歌い始めの一文字目 いつも迷ってる

歌い始めの一文字目 いつも迷ってる

どうせとりとめのないことだけど

伝わらなきゃもっと意味がない

どうしたってこんなに複雑なのに

どうしたってこんなに複雑なのに

噛み砕いてやらなきゃ伝わらない

ほら結局歌詞なんかどうだっていい

僕の音楽なんかこの世になくたっていいんだよ

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

僕は気にしない 君は気付かない

何処にももういないいない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

忘れていく 忘れられていく

We don't know,We don't know.

目の前 広がる現実世界がまた歪んだ

目の前 広がる現実世界がまた歪んだ

何度リセットしても

僕は僕以外の誰かには生まれ変われない

「そんなの知ってるよ」

気になるあの子の噂話も

シニカル標的は次の速報

麻痺しちゃってるこっからエスケープ

麻痺しちゃってるこっからエスケープ

遠く遠くまで行けるよ

安定なんてない 不安定な世界

安定なんてない 不安定な世界

安定なんてない きっと明日には忘れるよ

fade away...do over again...

fade away...do over again...

そうだ世界はどこかがいつも嘘くさい

そうだ世界はどこかがいつも嘘くさい

綺麗事だけじゃ大事な人たちすら守れない

くだらない 僕らみんなどこか狂ってるみたい

本当のことなんか全部神様も知らない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

僕は気にしない 君は気付かない

何処にももういないいない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

忘れていく 忘れられていく

We don't know,We don't know.