更新格式
This commit is contained in:
@@ -25,6 +25,7 @@ table.gridtable td {
|
|||||||
|
|
||||||
table.invisibletable {
|
table.invisibletable {
|
||||||
border: 0px;
|
border: 0px;
|
||||||
|
display: table;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.invisibletable tr {
|
table.invisibletable tr {
|
||||||
|
|||||||
@@ -58,21 +58,22 @@ YCbCr模型广泛应用在图片和视频的压缩传输中,比如你可以留
|
|||||||
|
|
||||||
这是有道理的,还记得我们在文章开始时提到的有损压缩的基本原理吗?有损压缩首先要做的事情就是“把重要的信息和不重要的信息分开”,YCbCr恰好能做到这一点。对于人眼来说,图像中明暗的变化更容易被感知到,这是由于人眼的构造引起的。视网膜上有两种感光细胞,能够感知亮度变化的视杆细胞,以及能够感知颜色的视锥细胞,由于视杆细胞在数量上远大于视锥细胞,所以我们更容易感知到明暗细节。比如说下面这张图
|
这是有道理的,还记得我们在文章开始时提到的有损压缩的基本原理吗?有损压缩首先要做的事情就是“把重要的信息和不重要的信息分开”,YCbCr恰好能做到这一点。对于人眼来说,图像中明暗的变化更容易被感知到,这是由于人眼的构造引起的。视网膜上有两种感光细胞,能够感知亮度变化的视杆细胞,以及能够感知颜色的视锥细胞,由于视杆细胞在数量上远大于视锥细胞,所以我们更容易感知到明暗细节。比如说下面这张图
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<table class="invisibletable" style="width:620px;">
|
<table class="invisibletable">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="5">
|
<td colspan="5">
|
||||||
<center>
|
|
||||||
<img src="/images/2014/08/jpeg_15.jpg" >
|

|
||||||
</center>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><figure style="width: 200px; margin: 0px;"><img src="/images/2014/08/jpeg_16.png" ><figcaption >Y</figcaption></figure></td>
|
<td>
|
||||||
<td style="width: 10px;"></td>
|
<figure style="margin: 5px;"><img src="/images/2014/08/jpeg_16.png" ><figcaption >Y</figcaption></figure></td>
|
||||||
<td><figure style="width: 200px; margin: 0px;"><img src="/images/2014/08/jpeg_17.png" ><figcaption >Cb</figcaption></figure></td>
|
<td ></td>
|
||||||
<td style="width: 10px;"></td>
|
<td><figure style="margin: 5px;"><img src="/images/2014/08/jpeg_17.png" ><figcaption >Cb</figcaption></figure></td>
|
||||||
<td><figure style="width: 200px; margin: 0px;"><img src="/images/2014/08/jpeg_18.png" ><figcaption >Cr</figcaption></figure></td>
|
<td ></td>
|
||||||
|
<td><figure style="margin: 5px;"><img src="/images/2014/08/jpeg_18.png" ><figcaption >Cr</figcaption></figure></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -65,7 +65,8 @@ $$
|
|||||||
奥妙之处在于,经过DCT,数据中隐藏的规律被发掘了出来,杂乱的数据被转换成几个工整变化的数据。DCT转换后的数组中第一个是一个直线数据,因此又被称为“直流数据”,简称DC,后面的数据被称为“交流数据”,简称AC,这个称呼起源于信号分析中的术语。
|
奥妙之处在于,经过DCT,数据中隐藏的规律被发掘了出来,杂乱的数据被转换成几个工整变化的数据。DCT转换后的数组中第一个是一个直线数据,因此又被称为“直流数据”,简称DC,后面的数据被称为“交流数据”,简称AC,这个称呼起源于信号分析中的术语。
|
||||||
在JPEG压缩过程中,经过颜色空间的转换,每一个8X8的图像块,在数据上表现为3个8X8的矩阵,紧接着我们对这三个矩阵做一个二维的DCT转换,二维的DCT转换公式为
|
在JPEG压缩过程中,经过颜色空间的转换,每一个8X8的图像块,在数据上表现为3个8X8的矩阵,紧接着我们对这三个矩阵做一个二维的DCT转换,二维的DCT转换公式为
|
||||||
$$\small{\begin{aligned}
|
$$\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\\
|
\alpha(u)&=\begin{cases}1/\sqrt{8}, & \text{when u}=0\\
|
||||||
1/2, & \text{when u}\neq 0\end{cases}
|
1/2, & \text{when u}\neq 0\end{cases}
|
||||||
\end{aligned}}\tag{2.4}
|
\end{aligned}}\tag{2.4}
|
||||||
|
|||||||
@@ -11,13 +11,21 @@ SPH([Smoothed Particle Hydrodynamics](http://en.wikipedia.org/wiki/Smoothed_Part
|
|||||||
|
|
||||||
SPH算法是典型的拉格朗日视角,它的基本原理就是通过粒子模拟流体的运动规律,然后再转换成网格进行流体渲染。
|
SPH算法是典型的拉格朗日视角,它的基本原理就是通过粒子模拟流体的运动规律,然后再转换成网格进行流体渲染。
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<table class="invisibletable" style="width:560px;">
|
<table class="invisibletable">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr valign="center">
|
<tr valign="center">
|
||||||
<td ><img src="/images/2014/08/sph_2.jpg" ></td>
|
<td ><img src="/images/2014/08/sph_2.jpg" ></td>
|
||||||
<td > -> </td>
|
<td >
|
||||||
|
|
||||||
|
$\rightarrow$
|
||||||
|
|
||||||
|
</td>
|
||||||
<td ><img src="/images/2014/08/sph_3.jpg" ></td>
|
<td ><img src="/images/2014/08/sph_3.jpg" ></td>
|
||||||
<td > -></td>
|
<td >
|
||||||
|
|
||||||
|
$\rightarrow$
|
||||||
|
|
||||||
|
</td>
|
||||||
<td ><img src="/images/2014/08/sph_4.jpg" ></td>
|
<td ><img src="/images/2014/08/sph_4.jpg" ></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
@@ -3,14 +3,27 @@ title: "SPH算法简介(三): 光滑核函数"
|
|||||||
tags: 数学 流体 程序 算法
|
tags: 数学 流体 程序 算法
|
||||||
---
|
---
|
||||||
和其他流体力学中的数学方法类似,SPH算法同样涉及到“光滑核”的概念,可以这样理解这个概念,粒子的属性都会“扩散”到周围,并且随着距离的增加影响逐渐变小,这种随着距离而衰减的函数被称为“光滑核”函数,最大影响半径为“光滑核半径”。
|
和其他流体力学中的数学方法类似,SPH算法同样涉及到“光滑核”的概念,可以这样理解这个概念,粒子的属性都会“扩散”到周围,并且随着距离的增加影响逐渐变小,这种随着距离而衰减的函数被称为“光滑核”函数,最大影响半径为“光滑核半径”。
|
||||||
<table class="invisibletable" align="center">
|
|
||||||
|
<div align="center">
|
||||||
|
<table class="invisibletable">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td width="50%" ><img src="/images/2014/08/sph_21.gif"></td>
|
<td>
|
||||||
<td width="50%" ><img src="/images/2014/08/sph_22.gif"><p>光滑核函数一般具有的形态</p></td>
|
|
||||||
|

|
||||||
|
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
反过来不难理解,尽管我们将流体视为一个个分散的粒子,但流体毕竟是连续充满整个空间的,流体中每个位置参与运算的值都是由周围一组粒子累加起来的。
|
反过来不难理解,尽管我们将流体视为一个个分散的粒子,但流体毕竟是连续充满整个空间的,流体中每个位置参与运算的值都是由周围一组粒子累加起来的。
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
Reference in New Issue
Block a user