本篇承接上一篇《采样和重建(一)》,主要包含了分层抖动采样、Halton采样、(0,2)序列采样、最大最短距离采样和Sobol’采样方面的内容。
本篇承接上一篇《采样和重建(一)》,主要包含了分层抖动采样、Halton采样、(0,2)序列采样、最大最短距离采样和Sobol’采样方面的内容。
计算机作为离散数据的计算机器,只能使用采样的手段处理连续的数据。计算图形学本质上是采用虚拟摄像机处理虚拟空间的信号数据,因此在图形领域采样的身影无所不在,如何使用采样和重建的技术合成尽可能真实、无噪声、无走样的图像是图形学的一个重要话题。
最近捡起了pbrt这本书开始阅读,之前虽然对光线追踪有所得了解,但感觉比较凌乱、不成体系,于是打算深入阅读pbrt,对离线渲染做一个深入的了解。
pbrt专门有一章讲述了目前离线渲染的几种摄像机模型,图形学中的摄像机大多数为针孔摄像机模型,然而现实生活中并不存在这类的摄像机,它忽略了真实摄像头中的光穿过透镜的一些效应。为了实现景深和运动模糊的效果,需要做一些额外的设定。
又是好久没更新博客了,最近在写算法分析与设计课程的期末作业,作业的题目随意,我就随兴写了烟花粒子的四叉树可视化程序和光追渲染器的八叉树求交优化。之前写的光追渲染器对每个三角网格模型的求交都是暴力遍历所有的三角形,对于三角形数量很多的模型来说效率非常低,所以我捡起了这个渲染器并为每个三角网格模型构建一颗八叉树加快射线与三角形的求交速度。还真别说,性能提升巨大。所以这篇博客本质上是一个期末作业。最后,新年快乐!
在基于粒子的流体模拟中,Marching Cubes$^{[1]}$是常用的、流行的表面重建算法。但在Marching Cubes算法构建表面网格之前需要获得整个流体区域的标量场,这个标量场需要我们根据流体的粒子计算得到,这个标量场的质量好坏与最终重建得到的网格质量好坏息息相关。针对采用Marching Cubes算法重建粒子流体表面网格的方法,学者们都着重关注如何提高重建出来的流体网格质量、如何提高表面重建过程的时间效率和内存效率,因此我们从表面网格质量、重建算法效率两方面着手基于粒子的流体表面重建的综述。
研一上学期课程比较繁重,加上在实验室要做的事情也多,所以最近博客都没更新了。最近数图课上到频域变换处理相关章节,其中的傅里叶变换其实在图形学领域也有颇多的应用(例如大规模的海水模拟),遂写下这篇博客整理了一些关于傅里叶变换的内容。
在基于欧拉网格的烟雾模拟中,流体与自由面的接触面是一个模糊的边界,因此无需对烟雾的边界进行对流。但在液体模拟中,流体与自由面之间是有一个明确的边界,因此我们需要显式地跟踪这个流体边界来模拟液体的物理行为,基于水平集的自由表面流(Free-Surface Flow)是目前的主流方法。
基于粒子与基于网格的流体模拟算法是计算机图形学中的流体模拟界的两大算法框架,这两种算法分别对应了物理模拟中的两个视角:拉格朗日视角和欧拉视角。与基于粒子的拉格朗日流体模拟解然不同,基于欧拉网格的流体模拟采用了完全不同的算法策略,它不再关注随着物理规律运动的流体粒子,而将目光转向空间中的一组固定的网格点。
本文主要是关于拉格朗日粒子的流体模拟经典算法——SPH。