From 26244880ee38e9e773310ec508673839b36fd981 Mon Sep 17 00:00:00 2001 From: thejinchao Date: Sun, 23 Feb 2025 16:04:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vuepress/styles/index.scss | 1 + docs/blog/2025/02/JPEG001.md | 19 ++++++++++--------- docs/blog/2025/02/JPEG002.md | 3 ++- docs/blog/2025/02/SPH001.md | 14 +++++++++++--- docs/blog/2025/02/SPH003.md | 19 ++++++++++++++++--- 5 files changed, 40 insertions(+), 16 deletions(-) diff --git a/docs/.vuepress/styles/index.scss b/docs/.vuepress/styles/index.scss index b862d60..847f89c 100644 --- a/docs/.vuepress/styles/index.scss +++ b/docs/.vuepress/styles/index.scss @@ -25,6 +25,7 @@ table.gridtable td { table.invisibletable { border: 0px; + display: table; } table.invisibletable tr { diff --git a/docs/blog/2025/02/JPEG001.md b/docs/blog/2025/02/JPEG001.md index 7131e9f..1af3bdb 100644 --- a/docs/blog/2025/02/JPEG001.md +++ b/docs/blog/2025/02/JPEG001.md @@ -58,21 +58,22 @@ YCbCr模型广泛应用在图片和视频的压缩传输中,比如你可以留 这是有道理的,还记得我们在文章开始时提到的有损压缩的基本原理吗?有损压缩首先要做的事情就是“把重要的信息和不重要的信息分开”,YCbCr恰好能做到这一点。对于人眼来说,图像中明暗的变化更容易被感知到,这是由于人眼的构造引起的。视网膜上有两种感光细胞,能够感知亮度变化的视杆细胞,以及能够感知颜色的视锥细胞,由于视杆细胞在数量上远大于视锥细胞,所以我们更容易感知到明暗细节。比如说下面这张图
- +
- - - - - + + + + +
-
- -
+ +![](/images/2014/08/jpeg_15.jpg) +
Y
Cb
Cr
+
Y
Cb
Cr
diff --git a/docs/blog/2025/02/JPEG002.md b/docs/blog/2025/02/JPEG002.md index d02e54b..af5ff08 100644 --- a/docs/blog/2025/02/JPEG002.md +++ b/docs/blog/2025/02/JPEG002.md @@ -65,7 +65,8 @@ $$ 奥妙之处在于,经过DCT,数据中隐藏的规律被发掘了出来,杂乱的数据被转换成几个工整变化的数据。DCT转换后的数组中第一个是一个直线数据,因此又被称为“直流数据”,简称DC,后面的数据被称为“交流数据”,简称AC,这个称呼起源于信号分析中的术语。 在JPEG压缩过程中,经过颜色空间的转换,每一个8X8的图像块,在数据上表现为3个8X8的矩阵,紧接着我们对这三个矩阵做一个二维的DCT转换,二维的DCT转换公式为 $$\small{\begin{aligned} -F(u,v)&=\alpha(u)\cdot\alpha(v)\cdot \sum_{x=0}^{7}\sum_{y=0}^{7}f(x,y)\cos\left(\frac{2x+1}{16}u\pi\right)\cos\left(\frac{2y+1}{16}v\pi\right)\quad u,v=0,1,2,\ldots,7\\ +F(u,v)&=\alpha(u)\cdot\alpha(v)\cdot \sum_{x=0}^{7}\sum_{y=0}^{7}f(x,y)\cos\left(\frac{2x+1}{16}u\pi\right)\cos\left(\frac{2y+1}{16}v\pi\right)\\ +u,v &=0,1,2,\ldots,7\\ \alpha(u)&=\begin{cases}1/\sqrt{8}, & \text{when u}=0\\ 1/2, & \text{when u}\neq 0\end{cases} \end{aligned}}\tag{2.4} diff --git a/docs/blog/2025/02/SPH001.md b/docs/blog/2025/02/SPH001.md index 71ae0d5..6162348 100644 --- a/docs/blog/2025/02/SPH001.md +++ b/docs/blog/2025/02/SPH001.md @@ -11,13 +11,21 @@ SPH([Smoothed Particle Hydrodynamics](http://en.wikipedia.org/wiki/Smoothed_Part SPH算法是典型的拉格朗日视角,它的基本原理就是通过粒子模拟流体的运动规律,然后再转换成网格进行流体渲染。
- +
- + - + diff --git a/docs/blog/2025/02/SPH003.md b/docs/blog/2025/02/SPH003.md index 4519060..951efb5 100644 --- a/docs/blog/2025/02/SPH003.md +++ b/docs/blog/2025/02/SPH003.md @@ -3,14 +3,27 @@ title: "SPH算法简介(三): 光滑核函数" tags: 数学 流体 程序 算法 --- 和其他流体力学中的数学方法类似,SPH算法同样涉及到“光滑核”的概念,可以这样理解这个概念,粒子的属性都会“扩散”到周围,并且随着距离的增加影响逐渐变小,这种随着距离而衰减的函数被称为“光滑核”函数,最大影响半径为“光滑核半径”。 -
-> + +$\rightarrow$ + + -> + +$\rightarrow$ + +
+ +
+
- - + + +

光滑核函数一般具有的形态

+ +![](/images/2014/08/sph_21.gif ) + + + +![](/images/2014/08/sph_22.gif "光滑核函数一般具有的形态") + +
+
+ 反过来不难理解,尽管我们将流体视为一个个分散的粒子,但流体毕竟是连续充满整个空间的,流体中每个位置参与运算的值都是由周围一组粒子累加起来的。 ![](/images/2014/08/sph_26.gif)