自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

【计算机图形】Physics-Based Animation-小8君的专栏

「勤奋,只是为了能更好的偷懒」

  • 博客(27)
  • 收藏
  • 关注

原创 【数值计算】数值解析--联立一次方程组:迭代法

雅可比迭代法当较大时,上一篇介绍的高斯消去法将会非常耗时()。由此,选取一个合适的初始值,反复迭代计算逐渐趋近方程组解的方法便叫做迭代法。下文将对最基本的迭代法—雅可比(Jacobi)迭代法进行讲解。假设有如下所示3元联立方程组:若系数行列的对角成分,则可知把 设为初始值,按照上式依次计算。 当足够大时,逐渐向解收敛。当方程组为n元联立1次方程组

2017-04-16 16:45:21 1147

原创 【数值计算】数值解析--n元一次联立方程组:直接解法

高斯消去法高斯消去法(Gaussian elimination)是指,通过前进消去和后退带入这样的两段计算求解的方法。 加减法(中学所学)是我们平常用的解法之一。 例如,现有如下所示的二元一次方程组。将等式两边同乘以一个实数,上下系数合并,消去其中一元未知数的方法便是熟知的加减法。之后,把带入式1,解得。把上式用行列式表示如下

2017-04-13 22:57:54 4011

原创 【数值计算】数值解析--n元一次联立方程组

n元1次联立方程组把元1次方程组用一个的矩阵按如下方式表示:这里的是系数项,为常数。用矢量表示,即1次方程组可以根据Cramer's fomula求解. 如果存在逆矩阵的话,上式可由:解的. 逆矩阵如果用余子式矩阵表示,即这里的是的行列式(determinant),且. 另外,余子式矩阵由,构成

2017-03-07 12:59:51 1595

原创 【数值计算】数值解析--非线性方程的根

线性方程与非线性方程当我们求关于的方程的解时,如果,是像这样的线性形方程(1次方程)的话,其解为,这里的。但是,是非线性方程的时候解法要复杂的多。比如,像下面这样的次代数方程(algebraic equation)的情况,的2次方程我们很容易求解,3次或4次方程可以通过Cardano公式或者Ferrari公式求解,然而5次以上却无法直接求

2017-02-23 14:30:31 2435

原创 【CG物理模拟系列】流体模拟--粒子法之Position Based Fluids

Position Based Fluids我们使用粒子法进行流体模拟时,一个很重要的因素就是如何保持流体的非压缩性。非压缩性是指,随着流体的流动,密度在空间和时间上不发生变化,例如像水这样的流体,同时,与音速相比流速足够小的空气也可以当成非压缩性流体来考虑 (接近音速的时候,空气会发生压缩,音速飞机产生的冲击波也就是所谓的音爆便是由空气压缩产生的)。为了保持非压缩性,学者们提出了各种各样的

2017-02-21 14:45:25 3571 4

原创 【数值计算】数值解析--二阶偏微分方程的3种基本形

2阶偏微分方程的3种基本类型2阶偏微分方程的3中基本类型有:椭圆型,双曲线型,抛物线型。 首先,关于的2阶偏微分方程的一般形式为,这里的是与相关的函数。根据与2阶偏微分项相关的系数,通过使用判別式,可以把2阶偏微分方程分成下面几类。椭圆型(elliptic) :  例)Laplace方程(a=1,b=0,c=1)Poisson方程(a=1

2017-02-17 12:19:15 12386

原创 2016年个人书单

实际上是15,16年看过的书,将其整理并做简要评价。专业类David M. Bourg和Bryan Bywalec所著的书,我看的是日文版翻译。比较详细的介绍了游戏中的基本物理定律(算法及代码示例),及碰撞,爆炸,声音,映射等的常用处理方法。一本日文书,简洁明要的介绍了近年来在CG领域物理模拟的常用分析手法。按刚体,弹性体,流体分类介绍,但是有些部分说明不太

2017-02-16 12:54:15 650

原创 【CG物理模拟系列】粒子法--表面生成手法(下)

这一篇来说说 网格生成方法 中的 Screen Space Mesh 法。Screen Space Mesh 一般情况下,从隐函数曲面中提取出记载着表面数据的三角形网格面时,我们常用像Marching Cubes这样的方法,把3D空间划分成数个3D网格单元,然后在根据每个单元内生成网格面。与之相对,Screen Space Meshes(SSM)[1]则是指在2D屏幕空间中

2017-02-14 11:57:22 1106

原创 【CG物理模拟系列】粒子法--表面生成手法(上)

使用粒子法模拟水流时,水流表面生成方法主要分为以下两类。表面隐函数Muller的色彩函数 [1]Zhu and Bridson的方法 [2]Adams等的方法 [3]Anisotropic Kernel [4]Upsampling法 [5]生成网格(Mesh)Marching Cubes(MC) [6]Regularised marching tetra

2017-02-13 12:56:23 2028

原创 3D模型文件的导入导出

3D模型文件的导入导出由多边形构成的3D模型文件的导入导出库,可以对应的类型如下。OBJ文件导入导出DXF文件导入导出(仅限3DFACE entities)VRML文件导入导出(仅限IndexedFaceSet)3DS文件导入导出STL文件导入导出OFF文件导入导出↑下载源文件下载如下(一直在用的研究室的库,个人没做更改)。rx_model_v0.5

2017-02-11 14:09:15 4774

原创 【物理模拟手法介绍】--有限差分法(FDM)和有限体积(FVM)

有限差分法简介有限差分法是,偏微分方程(PDE:Partial Differential Equation)的数值解法之一。先把计算空间按照有限size的空间大小进行分割,然后在每个小空间內的点(空间或边界的中心)上定义物理量(未知量)。根据这些未知量间值的有限差分,求分割后定义点间的距离等(差分商)的微分近似值,来求解PDE。例如,偏微分按照下式所示,求极限的方法来定义。

2017-02-11 13:23:53 5975

原创 【CG物理模拟系列】流体模拟--粒子法之MPS法(理论)

MPS法 前面的文章里我们讲过SPH曾是为了处理压缩性流体问题而提出的方法,与之相对,这一篇来说说用粒子法处理非压缩性流体的研究方法--Moving Particle Semi-implicit (MPS)法(1)。 在MPS法中导入了粒子数密度,为了使这个密度保持不变,使用隐式方法求解泊松方程。  经此处理,使得流体整体具备了非压缩性。因为只有一部分使用了隐式解法,属于Semi-

2017-02-08 16:07:59 5924

原创 【CG物理模拟系列】开篇:介绍(下)

上一篇介绍了CG物体模拟的定义,流程及种类,这一篇讲下物理模拟常用手法,物理模拟引擎,从物理模拟+3DCG程序的编写・到导出结果动画的处理顺序。物理模拟常用手法粒子法(Particle Method)有限差分法(FDM : Finite Difference Method)有限体积法(FVM : Finite Volume Method)有限元素法(FEM : Finite E

2017-02-01 14:26:32 1099

原创 【CG物理模拟】风筝模拟

放风筝是一项起源于中国的传统娱乐项目,随后推广到世界各地。按作用可以分成节日庆典祝福风筝,体育竞技类,单纯的娱乐向风筝等。要想用计算机较为真实的模拟风筝运动,首先我们先得搞清楚风筝的受力情况。飞行原理如图(b)所示,风筝在天空中飞翔时所受的力为:风筝线的张力,尾巴的张力,自身的重力,以及风的作用力,这里我们分为升力和阻力。风筝飞行原理与飞机等类似,但是相比,因为本体非常薄,

2017-01-30 17:06:07 1754 1

原创 GLSL中环境映射&菲涅尔反射效果

立方体贴图纹理与菲涅尔反射效果(Fresnel reflection)简介↑环境映射光滑物体表面的鏡面反射效果及投射效果可以极大提升渲染场景的真实性。然而,为了正确模拟这类效果,需要用到光线追踪等非常耗时的方法。由于影响渲染物体的外在因素只有周围的远景,我们可以直接使用周围环境的远景贴图来实现这种效果。这种方法称为环境映射,一般分为贴在球体上的球形映射(Sphere map

2017-01-23 17:55:28 4321

原创 GLSL中创建贴图

纹理贴图创建在OpenGL程序中,通过glBindTexture来绑定纹理贴图,然后用glTexCoord来指定贴图坐标位置。这里,用glGenTexture函数可以用来表示纹理单元索引。在使用多重纹理时,需要通过void glActiveTexture(GLenum texture);函数来指定纹理单元。例如,texure0的情况,声明如下:glActiveTex

2017-01-13 13:03:35 1519

原创 Tex使用笔记

介绍 Tex是一个非常优秀的排版工具,它在学术界十分流行,特别是数学,物理,计算机界等复杂的数学公式较多的领域。使用Latex及Latex模板(Latex Temples),只需掌握少数命令,便可以在短时间生成高质量的文档。安装这里使用Texwork编辑器进行Windows快速安装(http://www.math.sci.hokudai.ac.jp/~abenori/s

2016-12-17 15:15:56 1165

原创 【CG物理模拟系列】弹性体模拟--Position-based法之Shape Matching(代码实现)

Shape Matching法核心代码讲解这次讲讲Shape Matching 算法的具体代码实现。主要写在shape_matching.h和shape_matching.cpp两个文件中,以代码注释的形式进行讲解。之后是变量声明及函数声明,shape_matching.h头文件中主要定义了一个ShapeMatching类,这个类中包含了一个Cluster结构,用于区分顶点

2016-11-10 15:51:22 1705

原创 【CG物理模拟系列】弹性体模拟--Position-based法之Shape Matching

Position-based法Position-based法与传统的力学基础方法不同,根据构成物体的顶点等元素间的约束条件(Constraint),直接变更顶点的位置坐标的方法。                                                           而传统的力学为基础的方法,则是按照加速度->速度->位置来计算,这样每一次积分产生的误差

2016-11-08 16:56:56 1647

原创 GetForce规格参数

规格参数表详细内容参照NVIDIA官网。  GeForce 1000 (Pascal)  TITAN XGTX1080GTX1070GTX1060(6GB)GTX1060(3GB)核心代号GP102GP104-400GP104-200GP106-400GP

2016-10-28 16:29:48 812

原创 【CG物理模拟系列】流体模拟--粒子法之SPH(代码讲解)

WCSPH,PCISPH,IISPH等研究方法,其本质都是以非压缩性为目标,求解Navier-Stokes方程。本文以WCSPH为例,讲解下SPH方法代码的实现。代码讲解sph_type.h里定义几个vector函数类型#ifndef _SPHTYPE_H#define _SPHTYPE_Htypedef unsigned int uint;

2016-10-25 14:54:45 4923 7

原创 【CG物理模拟系列】弹性体模拟--Mass Spring及绳子模拟

变形体中,变形后能恢复原状的物体称为弹性体,这种物理现象称为弹性变形;反之,发生变形后形状不能恢复的变形称为塑性变形,如黏土。通常的物体都会有弹性体和塑性体两种性质,一定力下发成弹性变形后能恢复原状,到达一定值则发成塑性变形。     本篇介绍一个弹性体模拟中最简单,也是曾经最常用的方法:质量弹簧系统(Mass spring system) 。     其应用根据维度可分为以下三种:

2016-06-07 16:40:59 5078

原创 【CG物理模拟系列】流体模拟--粒子法之SPH法的加权函数计算

SPH法的加权函数Poly6 kernel[1]用于密度计算等。由于r只存在于2次项中,可以省去平方根的计算。梯度为,拉普拉斯算子为,如图所示,右侧坐标为拉普拉斯值Code Sample /*! * Poly6 kern

2016-06-06 20:04:10 1801

原创 【CG物理模拟系列】流体模拟--粒子法之SPH(实现)

邻域搜索的效率化SPH等粒子法,由于需要考虑到邻域粒子带来的影响,通常邻域搜索都会消耗大量时间。如果我们只是单纯的计算所有粒子组合的欧氏距离的话,计算时间只会呈指数增加。而空间分割法的出现,使邻域搜索实现了效率化。 空间分割法是一种,把希望检索到的物体存在的空间以格子等方式分隔开,只计算自身及相邻分割领域内包含物体的距离,可以使计算时间大幅减少的方法。空间分割法的处

2016-05-31 16:25:27 8301 8

原创 【CG物理模拟系列】流体模拟--粒子法之SPH(理论)

SPH法介绍SPH(Smoothed Particle Hydrodynamics)是早年银河系碰撞,天体形成等宇宙物理学模拟所使用的方法[Lucy1977],近年来被应用到流体,热等其他现象处理中。但是,由于是曾经宇宙物理学中常产生的压缩性流体问题的处理方法,并不适用于像水和流速较慢的空气(流速[Desbrun1996]将SPH法第一次应用于CG领域, 此后[

2016-05-31 13:46:30 5809

原创 【CG物理模拟系列】开篇:介绍(上)

本科时候学过游戏制作,经常使用过unity,cocos2d,unreal等游戏引擎,也学过一些计算机图形学知识(模型处理方向)。那时候觉得游戏制作还蛮简单的,只要有精美贴图,好模型,加上一些剧情,以及写写简单的算法就可以很快做出一款好游戏。然而某天玩 家用机游戏 的时候,忽然发现,有些游戏场景中发丝的飘动,衣服的随风摆动等效果竟然做的和真的一样,就一直好奇其实现原理。后来读了Master,进了Ph

2016-03-16 17:44:53 6222

原创 Morse Code-神奇而朴实的摩斯电码

最近又看了一遍电影《无间道》。片中黄警督通过摩斯电码,从警方卧底陈永仁处获取毒品交易的实时消息,最后被黑帮卧底刘警官发觉,并通过破译节拍长短,得出帮内有“内鬼”的结论,于是一场激烈的角斗由此展开。说起摩斯电码(Morse Code),在早期无线电通信上有举足轻重的地位。但随着通讯技术的进步,各国已于99年停止使用。然而在实际生活中仍有广泛使用摩尔斯电码由萨缪尔·摩尔斯( 1 7 9

2016-03-12 23:44:02 1115

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除