介绍

这个是我的个人网站。本来写blog,很方便。\textcolorred但是blog的话,有很多不方便。现在这个是用vim,latex,做成的。这个我就可以自由的插入图片和数学公式。而且我可以很好的控制自己写的东西。

我数学并不好,但是我一直在努力。记得以前上的数学老师,微积分的是一流老师。是我在大学里面见到的最好的老师。就是好的老师传给人的是态度和品德。然后线性代数的老师,实在不怎样。而我当时又特喜欢逃课。所以线性代数这些我都不是课堂上学到的.很多都是以后学来和熟悉的。我们的教材编得非常好,总之那边书是我这么一直带在身边,从来没丢过的。要知道我以前很多书,买过很多书,现在唯一剩下的一本就是线性代数了。一流的教材。想起来,我们大学还是一流的,但是不是总都碰到最好的老师。

心得

我写一些心得。有些是抄书,因为我自己也想复习一下。

<

<89>>左手系or右手系} 在游戏里面坐标系有左手系,右手系的。矩阵也有横着写的,有竖着写的。乘法也有左乘和右乘的区别。但是不管怎样,(别人教我的),就是矩阵乘起来总是横乘竖。

矩阵乘法

不要一个一个的乘,把他化成点积。这样记忆,操作都非常方便。就是这样的。

$\displaystyle \begin{bmatrix}
x_1 & y_1 & z_1 & w_1 \\
x_2 & y_2 & z_2 & w_2 \...
...eft[ v_1 \cdot v \quad v_2 \cdot v \quad v_3 \cdot v \quad v_4 \cdot v \right]
$

这个是这么个写法,这个如果是写shader的话,shader里面是没有矩阵的乘法函数的,这个可以直接翻译成汇编代码。当然公式里面 $ v=(x\quad y \quad z \quad w)$   ,$ v_1=(x_1 \quad y_1 \quad z_1 \quad w_1 )$   ,$ v_2= \cdots $

点积

点积当然是最好记忆的了。这个也写一下

$\displaystyle a \cdot b = x_a x_b + y_a y_b + z_a z_b + w_a w_b
$

<

<90>>逆} 实际上面游戏里都是3X3的矩阵,4x4的矩阵。不要用到很难的计算方法。现在抄书开始,就当温习一下。

定义 1   我也想抄。不过没意思。就是代数余子式的定义和伴随矩阵定义。$ A^*$ 是说$ A$ 的伴随矩阵,就是把$ A$ 的每个元素换成他对应的的代数余子式,然后转置得到的矩阵。

定理 1   n阶方阵A可逆的充要条件是 $ \vert A\vert \neq 0 $ ,且

$\displaystyle A^{-1}=\frac{A^*}{\vert A\vert}
$

定理 2   行列式等于任一行(列)的所有元素与其对应的代数余子式的和。

总之,游戏里面只要处理4x4的矩阵,利用上面的公式可以变成3x3的(代数余子是是n-1阶的).3x3的用对角线法则就可以了。不过我从来没自己计算过。抄书啦,练习排版。。\ 游戏里面运算的矩阵其实都是特殊矩阵。没必要用这个方法求。 如果3x3的矩阵,不包含平移,不包含缩放,只包含旋转的话,这个矩阵就是正交矩阵。然后他的转置就是他的逆矩阵。 $ C^T=C^{-1}$ .不过我从来没手工计算过。

法向量的变换

点是乘以变换矩阵,法向量是乘以逆矩阵的转置。 $ M_n= {M^{-1}}^T={ M^T }^{-1} $ 。如果$ M$ 是正交矩阵,有 $ M^T=M^{-1}$ ,即$ M_n=M$ 。我自己没推导过,是犯了错误,然后知道要这样。推导的话,切向量可以用2个点的减法来代表,法向量可以用差积来代表。这样可以推导出来,但是我不知道有没有更漂亮的方法。总之切向量可以看作曲面上的2个点的差(取极限),如果这2个点变换到别的坐标里面那么 $ v_t'=v_2'-v_1'=v_2 M - v_1 M = (v_2 - v_1) M = v_t M$ 法向量是 $ v_n'=(v_{ta} M )\times (v_{tb} M ) = v_{ta} \times v_{tb} {M^T}^{-1}$

\begin{displaymath}
\left\{
\begin{array}{r}
v_1 M_n=v_2 \\
v_1 M_v= v_1' \ ...
...{那么有}
v_1 M_v M_n' = v_2 M_v = v_1 M_n M_v
\text{化简}
\end{displaymath}

$\displaystyle M_n'^T$ $\displaystyle = (v_1 M_n M_v )^T ( M_v^T v_1^T )^{-1}$ (1)
  $\displaystyle = M_v^T M_n^T v_1^T {v_1^T v_1^T}^{-1} {M_v^T}^{-1}$ (2)
  $\displaystyle =M_v^T M_n^T{ M_v^T}^{-1}$ (3)

$ det\left[p_1\quad p_2\quad p_3\right] = 0 $

$\displaystyle \begin{bmatrix}
i & j & k \\
a_1 & b_1 & c_1 \\
a_2 & b_2 & c_2...
...matrix}
= (b_1 c_2 - c_1 b_2 )i + (a_1 c_2 - c_1 a_2 )j+(a_1 b_2 - b_1 a_2)k
$

$\displaystyle E=mc^2
$

$\displaystyle \overrightarrow{AB} = \vec{A}-\vec{B}
$

$\displaystyle a \cdot b = x_a x_b + y_a y_b + z_a z_b
$

$\displaystyle \begin{vmatrix}
i & j & k \\
a & b & c \\
d & e & f \\
\end{vmatrix}$

$\displaystyle \left[ X,Y,Z \right] ^T
$

$\displaystyle \left( X,Y,W \right) = (\alpha X , \alpha Y , \alpha Z )\quad \forall \alpha \neq 0
$

$\displaystyle a X + b Y + c W = 0
$

   u$\displaystyle ^T p = p^T u =0 \quad u = [a,b,c]^T ,p=[X,Y,Z]^T
$

$\displaystyle p=u_1 \times u_2
$

$\displaystyle \begin{vmatrix}
i & j & k \\
4 & 2 & 2 \\
6 & 5 & 1 \\
\end{vmatrix}=(2-10) i + ( 12 - 4 ) j + (12-20) k = (-8,8,-8)=(1,-1,1)
$

$\displaystyle p^T C p = 0
$

   if$\displaystyle \quad t = \begin{bmatrix}a \ b \ c \\
\end{bmatrix} ,$then$\displaystyle \quad [ t ] = \begin{bmatrix}0 & -c & b \ c & 0 & -a \ -b &a &0 \end{bmatrix}$

$\displaystyle [ p_1 p_2 ] = \\
\begin{bmatrix}i & j & k & q \ X_1 & Y_1 & Z_1...
...\left( \begin{bmatrix}Y_1 & Z_1 & W_1 \ Y_2 & Z_2 & W_2 \end{bmatrix} \right)
$

\includegraphics{file.1}

tscmga 2008-05-04