diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 8cfdabb..732ac8c 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -20,7 +20,9 @@ export default defineUserConfig({ description: '理性派,数学,物理,程序', plugins: [ markdownMathPlugin({ - // options + // options + type: 'mathjax', + output: 'chtml' }), markdownImagePlugin({ diff --git a/docs/.vuepress/styles/index.scss b/docs/.vuepress/styles/index.scss index 847f89c..6237892 100644 --- a/docs/.vuepress/styles/index.scss +++ b/docs/.vuepress/styles/index.scss @@ -15,12 +15,12 @@ table.gridtable th { background-color: #cacaca; border: 1px solid #3f3f3f; color: #131313; - padding: 0px + padding: 0px; } table.gridtable td { border: 1px solid #3f3f3f; - padding: 0px + padding: 0px; } table.invisibletable { diff --git a/docs/blog/2025/02/Fibonacci.md b/docs/blog/2025/02/Fibonacci.md index 17a7416..c913172 100644 --- a/docs/blog/2025/02/Fibonacci.md +++ b/docs/blog/2025/02/Fibonacci.md @@ -4,19 +4,19 @@ tags: 数学 --- 斐波那契数列作为最有名的数列之一广为人之,它的顺序就是 0,1,1,2,3,5,8,13,… 每个数字都是前两个数字的和,这个数列有很多有意思的特征,比和数字“89”的关系。方法很简单,把数列排列成一列,然后每个数都依次右移,最后加在一起形成一个小数,这个数恰好就是1/89。 ``` :no-line-numbers - 0.0 - 0.01 - 0.001 - 0.0002 - 0.00003 - 0.000005 - 0.0000008 - 0.00000013 - 0.000000021 - 0.0000000034 - ... - ---------------- - 0.01123595505618... = 1/89 + 0.0 + 0.01 + 0.001 + 0.0002 + 0.00003 + 0.000005 + 0.0000008 + 0.00000013 + 0.000000021 + 0.0000000034 + ... + ---------------- + 0.01123595505618... = 1/89 ``` 这个是很容易证明的,我们知道Fibonacci数列的一般形式如下 $$ diff --git a/docs/blog/2025/02/JPEG002.md b/docs/blog/2025/02/JPEG002.md index af5ff08..fe07e26 100644 --- a/docs/blog/2025/02/JPEG002.md +++ b/docs/blog/2025/02/JPEG002.md @@ -72,8 +72,9 @@ u,v &=0,1,2,\ldots,7\\ \end{aligned}}\tag{2.4} $$ DCT的威力究竟有多大,我们可以做一个实际的测试,比如一个所有数值都一样的矩阵,经过DCT转换后,将所有级数组合成一个新的矩阵 -$$ -\small{\begin{bmatrix} + +$$\begin{aligned} +&\begin{bmatrix} 100&100&100&100&100&100&100&100\\ 100&100&100&100&100&100&100&100\\ 100&100&100&100&100&100&100&100\\ @@ -82,8 +83,11 @@ $$ 100&100&100&100&100&100&100&100\\ 100&100&100&100&100&100&100&100\\ 100&100&100&100&100&100&100&100 -\end{bmatrix}\overset{\text{DCT}}{\Longrightarrow} -\begin{bmatrix} +\end{bmatrix}\\ +\\ +&\large{\Downarrow} \text{DCT} \\ +\\ +&\begin{bmatrix} 800&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ @@ -93,12 +97,14 @@ $$ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0 \end{bmatrix} -} + +\end{aligned} $$ + 可以看到,经过DCT转换,矩阵的“能量”被全部集中在左上角上的直流分量F(0,0)上,其他位置都变成了0。 在实际的JPEG压缩过程中,由于图像本身的连贯性,一个8X8的图像中的数值一般不会出现大的跳跃,经过DCT转换会有类似的效果,左上角的直流分量保存了一个大的数值,其他分量都接近于0,我们以Lenna左上角第一块图像的Y分量为例,经过变换的矩阵为 -$$ -\small{\begin{bmatrix} +$$\begin{aligned} +&\begin{bmatrix} 34&34&34&33&34&28&35&32\\ 34&34&34&33&34&28&35&32\\ 34&34&34&33&34&28&35&32\\ @@ -107,8 +113,11 @@ $$ 36&36&29&27&33&31&30&31\\ 32&32&35&30&32&33&31&27\\ 30&30&27&28&30&30&28&29\\ -\end{bmatrix}\overset{\text{DCT}}{\Longrightarrow} -\begin{bmatrix} +\end{bmatrix}\\ +\\ +&\large{\Downarrow} \text{DCT} \\ +\\ +&\small{\begin{bmatrix} 257.1&6.4&2.5&-0.3&0.4&0.1&-6.0&6.9\\ 8.4&0.0&0.5&-0.5&1.9&3.4&-4.2&3.3\\ -5.3&-1.0&-1.4&1.3&-0.7&-0.5&2.1&-1.7\\ @@ -117,8 +126,8 @@ $$ 1.4&0.9&-1.9&-0.1&-2.0&0.9&1.5&0.7\\ -2.0&-0.1&3.1&2.0&1.8&-2.7&-0.9&-1.3\\ 1.5&-0.2&-2.3&-1.9&-1.0&2.3&0.3&1.1\\ -\end{bmatrix} -} +\end{bmatrix}} +\end{aligned} $$ 可以看到,数据经过DCT变化后,被明显分成了直流分量和交流分量两部分,为后面的进一步压缩起到了充分的铺垫作用,可以说是整个JPEG中最重要的一步,后面我们会介绍数据量化。 diff --git a/docs/blog/2025/02/RandRound.md b/docs/blog/2025/02/RandRound.md index e52c420..3221882 100644 --- a/docs/blog/2025/02/RandRound.md +++ b/docs/blog/2025/02/RandRound.md @@ -34,11 +34,11 @@ $$ \displaystyle{F(x)=P(X\leq x)} $$ 以最为常见的均匀分布概率为例,设均匀分布的随机变量$X$的取值范围是$[a,b]$,那么它的累计分布函数以及函数图像是 - - +
+
- -
+ $$ F(x)=\begin{cases} @@ -49,12 +49,13 @@ F(x)=\begin{cases} $$ +
+ 对于一个累计分布函数,符合以下规律 * $0\le F(x)\le 1$ diff --git a/docs/blog/2025/02/SPH001.md b/docs/blog/2025/02/SPH001.md index 6162348..8622756 100644 --- a/docs/blog/2025/02/SPH001.md +++ b/docs/blog/2025/02/SPH001.md @@ -11,7 +11,7 @@ SPH([Smoothed Particle Hydrodynamics](http://en.wikipedia.org/wiki/Smoothed_Part SPH算法是典型的拉格朗日视角,它的基本原理就是通过粒子模拟流体的运动规律,然后再转换成网格进行流体渲染。
- +