<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>图形学 on 南亭</title>
        <link>https://www.nantingya.top/tags/%E5%9B%BE%E5%BD%A2%E5%AD%A6/</link>
        <description>Recent content in 图形学 on 南亭</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <copyright>Example Person</copyright>
        <lastBuildDate>Thu, 09 Jan 2025 21:14:00 +0800</lastBuildDate><atom:link href="https://www.nantingya.top/tags/%E5%9B%BE%E5%BD%A2%E5%AD%A6/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>线性代数基础与二维变换</title>
        <link>https://www.nantingya.top/posts/%E5%9B%BE%E5%BD%A2%E5%AD%A6%E7%AC%AC%E4%B8%80%E7%AF%87/</link>
        <pubDate>Thu, 09 Jan 2025 21:14:00 +0800</pubDate>
        
        <guid>https://www.nantingya.top/posts/%E5%9B%BE%E5%BD%A2%E5%AD%A6%E7%AC%AC%E4%B8%80%E7%AF%87/</guid>
        <description>&lt;h1 id=&#34;图形学-线性代数基础&#34;&gt;图形学 线性代数基础
&lt;/h1&gt;&lt;p&gt;本篇内容均取自https://www.bilibili.com/video/BV1X7411F744&lt;/p&gt;
&lt;p&gt;本篇为 1 - 3 集笔记&lt;/p&gt;
&lt;h2 id=&#34;向量的点积&#34;&gt;向量的点积
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;如何求出单位向量 =&amp;gt; 向量 / 向量的长度 = 单位向量&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在不给出说明的情况下，向量的默认的表示形式其实是竖着的&lt;/p&gt;
$$
    \vec{A} = \begin{pmatrix} x \ y \end{pmatrix}
    A^T = (x,y)
    $$$$
    T是上标 转置了
    $$&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;向量的长度 = sqr(x² + y²)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;向量点乘得到的是一个数&lt;/p&gt;
$$
    \vec{a} · \vec{b} = \vec{||a||} ·\vec{||b||}· cos0
    $$&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;取得两个向量的夹角 a 的单位向量 × b的&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
$$ \cos{\theta} = \hat{a}·\hat{b} $$&lt;p&gt;
&lt;/p&gt;
$$ \cos \theta = \frac{\vec{a} \cdot \vec{b}}{||\vec{a}|| \, ||\vec{b}||} $$&lt;p&gt;
&lt;/p&gt;
$$ ||\vec{a}|| = 向量的长度$$&lt;p&gt;
&lt;/p&gt;
$$ ||\vec{a}|| = \sqrt{x^2 + y^2} $$&lt;ol start=&#34;6&#34;&gt;
&lt;li&gt;向量的点成就是两个数相乘然后加起来&lt;/li&gt;
&lt;/ol&gt;
$$ \begin{pmatrix} x_a \\ y_a \end{pmatrix} · \begin{pmatrix} x_b \\ y_b \end{pmatrix}  = x_ax_b + y_ay_b$$&lt;blockquote&gt;
&lt;p&gt;闲话 &lt;br&gt;&lt;/p&gt;
&lt;p&gt;向量b对于向量a的垂直 是 向量b(popu 垂直)&lt;br&gt;&lt;/p&gt;
&lt;p&gt;向量b(popu)的方向是向量a对应的方向&lt;br&gt;&lt;/p&gt;
&lt;p&gt;向量b(popu) = k * 向量a的单位向量&lt;br&gt;&lt;/p&gt;
&lt;p&gt;向量b(popu)的长度 = b的长度 * a与b的夹角余弦&lt;br&gt;&lt;/p&gt;
&lt;p&gt;k= ||向量b(popu)|| = ||向量b|| cos0&lt;br&gt;&lt;/p&gt;
&lt;p&gt;向量a和b的点积就是夹角余弦&lt;br&gt;&lt;/p&gt;
&lt;img src=&#34;./ab向量投影.png&#34; alt=&#34;alt text&#34; style=&#34;zoom:50%;&#34; /&gt;&lt;/blockquote&gt;
&lt;ol start=&#34;7&#34;&gt;
&lt;li&gt;如果向量同向 那么两个向量点乘会得到大于0的值&lt;br&gt;
如果向量不同向 那么两个向量的点乘会得到小于0的值&lt;br&gt;
点乘也会可以告诉我们两个向量有多接近，越接近1就越近，1 - 0 是垂直 0 - -1相反&lt;/li&gt;
&lt;/ol&gt;
&lt;img src=&#34;https://www.nantingya.top/图形学第一篇/2点乘得到的值.png&#34; alt=&#34;2点乘得到的值&#34; style=&#34;zoom:50%;&#34; /&gt;
&lt;h2 id=&#34;向量的叉积&#34;&gt;向量的叉积
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
$$
   \mathbf{a} \times \mathbf{b} = -(\mathbf{b} \times \mathbf{a})
   $$$$
   || \mathbf{a} \times \mathbf{b} || = || \mathbf{a} || \cdot || \mathbf{b} || \cdot \sin(\theta)
   $$&lt;p&gt;叉乘不满足交换律，&lt;code&gt;a x b 结果与 b x a相反，新向量与 a b 垂直&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;如果&lt;code&gt;x 叉乘  y 得到 z &lt;/code&gt;那就说他是右手坐标系&lt;/p&gt;
&lt;p&gt;一个向量叉乘自己 = 0 &lt;code&gt;长度为0的向量&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id=&#34;用于判断左和右上和下&#34;&gt;用于判断左和右，上和下
&lt;/h4&gt;&lt;p&gt;向量&lt;code&gt;a&lt;/code&gt; 叉乘 &lt;code&gt;b&lt;/code&gt; 得到的结果&lt;code&gt;z轴&lt;/code&gt;是正的，那么说明&lt;code&gt;b在a的左侧&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img src=&#34;https://www.nantingya.top/图形学第一篇/3叉乘取方向.png&#34; alt=&#34;3叉乘取方向&#34; style=&#34;zoom:50%;&#34; /&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;
&lt;h4 id=&#34;判断某点是否在三角形内部光栅化基础&#34;&gt;判断某点是否在三角形内部（光栅化基础）
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;AB&lt;/code&gt;叉乘&lt;code&gt;AP&lt;/code&gt; 得到左侧&lt;/p&gt;
&lt;p&gt;&lt;code&gt;BC&lt;/code&gt;叉乘 &lt;code&gt;BP&lt;/code&gt;得到 P点在&lt;code&gt;BC&lt;/code&gt;的左侧&lt;/p&gt;
&lt;p&gt;&lt;code&gt;CA&lt;/code&gt;叉乘&lt;code&gt;CP &lt;/code&gt;得到 P点在&lt;code&gt;CA&lt;/code&gt;的左侧&lt;/p&gt;
&lt;p&gt;如果是顺时针 那么就在右侧，得到0自己决定&lt;/p&gt;
&lt;img src=&#34;https://www.nantingya.top/图形学第一篇/4叉乘取点是否在内.png&#34; alt=&#34;4叉乘取点是否在内&#34; style=&#34;zoom:50%;&#34; /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h4 id=&#34;标准正坐标系&#34;&gt;标准正坐标系
&lt;/h4&gt;$$
   || \mathbf{u} || = || \mathbf{v} || = || \mathbf{w} || = 1
   $$$$
   \mathbf{u} \cdot \mathbf{v} = \mathbf{v} \cdot \mathbf{w} = \mathbf{u} \cdot \mathbf{w} = 0
   $$&lt;/li&gt;
&lt;/ol&gt;
$$
\mathbf{w} = \mathbf{u} \cdot \mathbf{v} \quad (\text{右手坐标系})
$$$$
投影公式：
\mathbf{p} = (\mathbf{p} \cdot \mathbf{u}) \mathbf{u} + (\mathbf{p} \cdot \mathbf{v}) \mathbf{v} + (\mathbf{p} \cdot \mathbf{w}) \mathbf{w}
$$&lt;h2 id=&#34;矩阵&#34;&gt;矩阵
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;h4 id=&#34;乘以一个数就是将矩阵内的每个数都乘以这个数&#34;&gt;乘以一个数就是将矩阵内的每个数都乘以这个数
&lt;/h4&gt;&lt;/li&gt;
&lt;li&gt;
&lt;h4 id=&#34;m-x-nn-x-p--m-x-p-只有-n-n相等才有意义&#34;&gt;&lt;code&gt;(M x N)(N x P) = (M x P) &lt;/code&gt;只有 N N相等才有意义
&lt;/h4&gt;&lt;p&gt;第一个矩阵的列数必须等于第二个矩阵的行数&lt;/p&gt;
&lt;p&gt;如下面，上面的矩阵乘以下面的矩阵 等于第三个矩阵&lt;/p&gt;
&lt;p&gt;比如结果的第二行四列，我们找到第一个矩阵的第二行，第二个矩阵的第四列 然后乘起来相加&lt;/p&gt;
&lt;p&gt;(5,2) * (4,3) = (20,6) = 26&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
$$
\begin{pmatrix}
1 &amp; 3 \\
5 &amp; 2 \\
0 &amp; 4
\end{pmatrix}
\begin{pmatrix}
3 &amp; 6 &amp; 9 &amp; 4 \\
2 &amp; 7 &amp; 8 &amp; 3
\end{pmatrix} = 
\begin{pmatrix}
09 &amp; ? &amp; 33 &amp; 13 \\
19 &amp; 44 &amp; 61 &amp; 26 \\
08 &amp; 28 &amp; 32 &amp; ?
\end{pmatrix}
$$&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cs&#34; data-lang=&#34;cs&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//第一个 ? 是第一行第二列 找到 第一行 1 3 第二列  6 7&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//(1,3)*(6,7) = 6 + 21 = 27&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//第二个 ? 是第三行第四列 找到 第三行 0 4 第四列  4 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//(0,4)*(4,3) = 0 + 12 = 12&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;
&lt;h4 id=&#34;矩阵的乘积不满足任何交换率但满足结合律和分配律&#34;&gt;矩阵的乘积不满足任何交换率，但满足结合律和分配律
&lt;/h4&gt;$$
   (\mathbf{AB})\mathbf{C} = \mathbf{A}(\mathbf{BC})
   $$$$
   \mathbf{A}(\mathbf{B} + \mathbf{C}) = \mathbf{AB} + \mathbf{AC}
   $$$$
   (\mathbf{A} + \mathbf{B})\mathbf{C} = \mathbf{AC} + \mathbf{BC}
   $$&lt;/li&gt;
&lt;li&gt;
&lt;h4 id=&#34;矩阵与向量相乘向量是竖着的列向量m1这样就有意义了左边的矩阵只要是-nm就能乘&#34;&gt;矩阵与向量相乘，向量是竖着的&lt;code&gt;列向量m×1&lt;/code&gt;，这样就有意义了，左边的矩阵只要是 (n,m)就能乘
&lt;/h4&gt;&lt;/li&gt;
&lt;li&gt;
&lt;h4 id=&#34;转置&#34;&gt;转置
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;(ij -&amp;gt; ji)&lt;/code&gt; 对角线为分割线，然后两边值位置互换，对角线下去只有两列，最终结果就是两行
&lt;/p&gt;
$$
   \begin{pmatrix}
   1 &amp; 2 \\
   3 &amp; 4 \\
   5 &amp; 6
   \end{pmatrix} 
   -&gt;
   \begin{pmatrix}
   1 &amp; 3 &amp; 5 \\
   2 &amp; 4 &amp; 6
   \end{pmatrix}
   $$$$
   乘积的转置\\
   (\mathbf{AB})^T = \mathbf{B}^T \mathbf{A}^T
   $$&lt;/li&gt;
&lt;li&gt;
&lt;h4 id=&#34;单位矩阵-他是一个对角阵&#34;&gt;单位矩阵 他是一个对角阵
&lt;/h4&gt;$$
   单位矩阵\\
   \mathbf{I}_{3\times3}
   \begin{pmatrix}
   1 &amp; 0 &amp; 0\\
   0 &amp; 1 &amp; 0\\
   0 &amp; 0 &amp; 1
   \end{pmatrix}
   $$$$
   AA^{-1} = A^{-1} = I\\\\
   矩阵的逆:\\
   (AB)^{-1}=B^{-1} A^{-1}
   $$&lt;/li&gt;
&lt;li&gt;
&lt;h4 id=&#34;点乘向量的矩阵形式&#34;&gt;点乘向量的矩阵形式
&lt;/h4&gt;$$
   \begin{pmatrix}
   x_a &amp; y_a &amp; z_a
   \end{pmatrix}
   \begin{pmatrix}
   x_b\\
   y_b\\
   z_b
   \end{pmatrix}=
   (x_{a}x_{b} + y_{a}y_{b} + z_{a}z_{b} )
   $$&lt;/li&gt;
&lt;li&gt;
&lt;h4 id=&#34;向量的叉积矩阵形式&#34;&gt;向量的叉积矩阵形式
&lt;/h4&gt;$$
   叉积矩阵形式 A^{*}是矩阵\\
   a \times b = A^{*}b =
   \begin{pmatrix}
   0 &amp;&amp; -z_{a} &amp;&amp; y_{a}\\
   z_{a} &amp;&amp;0 &amp;&amp; -x_{a}\\
   -y_{a} &amp;&amp; x_{a} &amp;&amp; 0
   \end{pmatrix}
   \begin{pmatrix}
   x_{b}\\
   y_{b}\\
   z_{b}
   \end{pmatrix}
   $$&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;图形学-变换&#34;&gt;图形学 变换
&lt;/h1&gt;&lt;ol&gt;
&lt;li&gt;
&lt;h4 id=&#34;缩放矩阵-图像大小缩放s倍-xy的s单独设置可以单独缩放&#34;&gt;缩放矩阵 &lt;code&gt;图像大小缩放s倍 xy的s单独设置可以单独缩放&lt;/code&gt;
&lt;/h4&gt;$$
   左矩阵\\
   \begin{pmatrix}
   s &amp; 0\\
   0 &amp; s
   \end{pmatrix}
   $$$$
   \begin{pmatrix}
   x&#39;\\
   y&#39;
   \end{pmatrix}=
   \begin{pmatrix}
   s &amp; 0\\
   0 &amp; s
   \end{pmatrix}
   \begin{pmatrix}
   x\\
   y
   \end{pmatrix}
   $$&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&#34;反转xy---xy&#34;&gt;反转&lt;code&gt;(x,y) =&amp;gt; (-x,y)&lt;/code&gt;
&lt;/h3&gt;$$
   \begin{pmatrix}
   x&#39;\\
   y&#39;
   \end{pmatrix}
   =&gt;
   \begin{pmatrix}
   -x\\
   y
   \end{pmatrix}
   $$$$
   \begin{pmatrix}
   -1 &amp; 0\\
   0 &amp; 1
   \end{pmatrix}
   \times
   \begin{pmatrix}
   x\\
   y
   \end{pmatrix}
   $$&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&#34;切变&#34;&gt;切变
&lt;/h3&gt;$$
   \begin{pmatrix}x&#39;\\y&#39;\end{pmatrix}=\begin{pmatrix}1 &amp; a\\0 &amp; 1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}
   $$&lt;/li&gt;
&lt;li&gt;
&lt;h3 id=&#34;旋转2维&#34;&gt;旋转(2维)
&lt;/h3&gt;&lt;img src=&#34;https://www.nantingya.top/图形学第一篇/5旋转矩阵02.png&#34; alt=&#34;5旋转矩阵02&#34; style=&#34;zoom:33%;&#34; /&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;img src=&#34;https://www.nantingya.top/图形学第一篇/5旋转矩阵.png&#34; alt=&#34;5旋转矩阵&#34; style=&#34;zoom: 33%;&#34; /&gt;
&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;
&lt;h3 id=&#34;共性xmx&#34;&gt;共性&lt;code&gt;x&#39;=Mx&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;要使用相同维度的矩阵乘以向量
&lt;/p&gt;
$$
   x&#39; = a_x + b_y\\
   y&#39; = c_x + d_y
   $$$$
   \begin{pmatrix}
   a &amp; b\\
   c &amp; d
   \end{pmatrix} ✖
   \begin{pmatrix}
   x\\
   y
   \end{pmatrix}
   $$&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;其次坐标&#34;&gt;其次坐标
&lt;/h1&gt;&lt;p&gt;平移变换&lt;/p&gt;
   &lt;img src=&#34;https://www.nantingya.top/图形学第一篇/6其次坐标平移变换.png&#34; alt=&#34;6其次坐标平移变换&#34; style=&#34;zoom: 33%;&#34; /&gt;
$$
x&#39;=x+t_x\\
x&#39;=y+t_y
$$&lt;blockquote&gt;
&lt;h5 id=&#34;平移使用矩阵的形式表示不属于线性变换&#34;&gt;平移使用矩阵的形式表示，不属于线性变换
&lt;/h5&gt;&lt;h5 id=&#34;线性变换必须表示为-一个向量等于一个矩阵乘以另一个向量&#34;&gt;线性变换必须表示为 一个向量等于一个矩阵乘以另一个向量
&lt;/h5&gt;&lt;/blockquote&gt;
$$ {平移的矩阵表示}
abcd是单位矩阵10,01\\
\begin{pmatrix}
x&#39;\\
y&#39;
\end{pmatrix}=
\begin{pmatrix}
a &amp; b\\
c &amp; d
\end{pmatrix}
\begin{pmatrix}
x\\
y
\end{pmatrix}
+
\begin{pmatrix}
t_x\\
t_y
\end{pmatrix}
$$&lt;blockquote&gt;
&lt;p&gt;为了不将平移排除在基础变换之外，“懒”的科学家们发明了新的东西，引入了新的形式来表示物体的坐标，为二维的坐标增加一个维度&lt;/p&gt;
&lt;p&gt;如果是表示一个点，那么为1，如果为了表示一个向量那么值为0&lt;/p&gt;&lt;/blockquote&gt;
$$
2D Point = (x,y,1)^T\\
2D Vector= (x,y,0)^T
$$&lt;blockquote&gt;
&lt;p&gt;增加了一个维度后会发现有了更好的性质&lt;/p&gt;
&lt;p&gt;引入其次坐标最大的目的就是为了通过增加一个维度的方式，将平移变换也写成矩阵x向量的形式&lt;/p&gt;&lt;/blockquote&gt;
$$
xy1是二维的一个点\\
\begin{pmatrix}
x&#39;\\
y&#39;\\
w&#39;
\end{pmatrix}=
\begin{pmatrix}
1 &amp; 0 &amp; t_x\\
0 &amp; 1 &amp; t_y\\
0 &amp; 0 &amp; 1
\end{pmatrix}·
\begin{pmatrix}
x\\
y\\
1
\end{pmatrix}=
\begin{pmatrix}
x + t_x\\
y + t_y\\
1
\end{pmatrix}
$$&lt;ul&gt;
&lt;li&gt;向量表示方向性，向量具有平移不变性，为了保护向量，所以将向量的z设置为0，保证他不变&lt;/li&gt;
&lt;/ul&gt;
$$
公式一 : \\
vector + vector = vector\\
(x_1,y_1,0) + (x_2,y_2,0)=(x_1+x_2,y_1+y_2,0)\\
$$$$
公式二 : \\
point - point = vector \\
(x_1,y_1,1)-(x_2,y_2,1) = (x_1-x_2,y_1-y_2,0)\\
$$$$
公式三 : \\
point - vector = point\\
(x_1,y_1,1)-(x_2,y_2,0) = (x_1-x_2,y_1-y_2,1)\\
$$$$
公式四 : \\
point + point = ??\\
(x_1,y_1,1)+(x_2,y_2,1) = (x_1-x_2,y_1-y_2,2)\\
$$&lt;blockquote&gt;
&lt;p&gt;在齐次坐标中，任何的 x / y / w 作为一个二维的点，表示的点是 &lt;code&gt;x除以w&lt;/code&gt;,&lt;code&gt;y除以w&lt;/code&gt; , 1&lt;/p&gt;&lt;/blockquote&gt;
$$
\begin{pmatrix}
x\\
y\\
w
\end{pmatrix}is~the~2D~point~
\begin{pmatrix}
x/w\\
y/w\\
1
\end{pmatrix},
w ≠ 0
$$&lt;blockquote&gt;
&lt;p&gt;在w不等于0的情况下，可以把xyw都除以w，第三个维度就1了，表示的就是一个点了&lt;/p&gt;
&lt;p&gt;xyw表示的一个点就是 &lt;code&gt;x/w, y/w&lt;/code&gt; (二维的点)&lt;/p&gt;
&lt;p&gt;在上面的公式中&lt;/p&gt;&lt;/blockquote&gt;
$$
point + point = ??
$$&lt;blockquote&gt;
&lt;p&gt;如果把z变为1呢 ，这边的w是2，因为上面算过了&lt;/p&gt;&lt;/blockquote&gt;
$$
point + point = 这两个点的中点\\
\begin{pmatrix}
((x_1+x_2)/w)\\
((y_1+y_2)/w)\\
w/w
\end{pmatrix}
$$&lt;h1 id=&#34;仿射变换&#34;&gt;仿射变换
&lt;/h1&gt;&lt;blockquote&gt;
&lt;h5 id=&#34;仿射变换就行线性变换和平移变换的组合&#34;&gt;仿射变换就行线性变换和平移变换的组合
&lt;/h5&gt;&lt;/blockquote&gt;
$$
\begin{pmatrix}
x&#39;\\
y&#39;\\
\end{pmatrix} =
\begin{pmatrix}
a &amp; b\\
c &amp; d\\
\end{pmatrix}·
\begin{pmatrix}
x\\
y\\
\end{pmatrix}
+
\begin{pmatrix}
t_x\\
t_y\\
\end{pmatrix}
$$&lt;blockquote&gt;
&lt;p&gt;如果使用其次坐标表示2维的仿射变换&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;最后一行永远是&lt;code&gt;0，0，1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;平移永远写在最后一列的头两位数&lt;/li&gt;
&lt;li&gt;abcd是原来线性变换的一部分&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;
$$
仿射变换的齐次坐标形式\\
\begin{pmatrix}
x&#39;\\
y&#39;\\
1
\end{pmatrix} =
\begin{pmatrix}
a &amp; b &amp; t_x\\
c &amp; d &amp; t_y\\
0 &amp; 0 &amp; 1
\end{pmatrix}·
\begin{pmatrix}
x\\
y\\
1
\end{pmatrix}
$$&lt;h1 id=&#34;线性变换的其次坐标形式&#34;&gt;线性变换的其次坐标形式
&lt;/h1&gt;&lt;blockquote&gt;
&lt;h4 id=&#34;缩放&#34;&gt;缩放
&lt;/h4&gt;&lt;/blockquote&gt;
$$
S(s_x,s_y) = \begin{pmatrix}
s_x &amp; 0 &amp; 0\\
0 &amp; s_y &amp; 0\\
0 &amp; 0 &amp; 1
\end{pmatrix}
$$&lt;blockquote&gt;
&lt;h4 id=&#34;旋转&#34;&gt;旋转
&lt;/h4&gt;&lt;/blockquote&gt;
$$
R(\alpha) = \begin{pmatrix}
cos~\alpha &amp; -sin~\alpha &amp; 0\\
sin~\alpha &amp; cos~\alpha &amp; 0\\
0 &amp; 0 &amp; 1
\end{pmatrix}
$$&lt;blockquote&gt;
&lt;h4 id=&#34;平移&#34;&gt;平移
&lt;/h4&gt;&lt;p&gt;因为没有进行线性变换 所以是 10 01&lt;/p&gt;&lt;/blockquote&gt;
$$
T(t_x,t_y)=
\begin{pmatrix}
1 &amp; 0 &amp; t_x\\
0 &amp; 1 &amp; t_y\\
0 &amp; 0 &amp; 1
\end{pmatrix}
$$&lt;h1 id=&#34;变换的分解&#34;&gt;变换的分解
&lt;/h1&gt;&lt;blockquote&gt;
&lt;h5 id=&#34;连续变换的应用是从右往左的&#34;&gt;连续变换的应用是从右往左的
&lt;/h5&gt;&lt;/blockquote&gt;
&lt;img src=&#34;https://www.nantingya.top/图形学第一篇/8变换的分解.png&#34; alt=&#34;8变换的分解&#34; style=&#34;zoom:33%;&#34; /&gt;
&lt;h1 id=&#34;逆变换&#34;&gt;逆变换
&lt;/h1&gt;&lt;p&gt;​	逆变换就是将变换的操作反过来&lt;/p&gt;
&lt;img src=&#34;https://www.nantingya.top/图形学第一篇/7逆变换.png&#34; alt=&#34;7逆变换&#34; style=&#34;zoom:33%;&#34; /&gt;
&lt;blockquote&gt;
&lt;p&gt;一个矩阵乘以他自己的逆矩阵一定等于单位矩阵
做了一遍操作，再做一遍反的操作，就相当于什么都没做&lt;/p&gt;&lt;/blockquote&gt;
&lt;h1 id=&#34;3维变换&#34;&gt;3维变换
&lt;/h1&gt;&lt;blockquote&gt;
&lt;h5 id=&#34;与二维基本一致先应用线性变换再平移&#34;&gt;与二维基本一致，先应用线性变换再平移
&lt;/h5&gt;&lt;/blockquote&gt;
$$
\begin{pmatrix}
x&#39;\\
y&#39;\\
z&#39;\\
1
\end{pmatrix} =
\begin{pmatrix}
a &amp; b &amp; c &amp; t_x\\
d &amp; e &amp; f &amp; t_y\\
g &amp; h &amp; i &amp; t_z\\
0 &amp; 0 &amp; 0 &amp; 1
\end{pmatrix}·
\begin{pmatrix}
x\\
y\\
z\\
1
\end{pmatrix}
$$</description>
        </item>
        
    </channel>
</rss>
