- 博客(21)
- 资源 (32)
- 收藏
- 关注
原创 GMRES 方法讲解的.txt 版本
变有||Q^(T)*A*Q*x-Q^(T)*b||->0,再结合第4 步求基的过程,可以得到H*x-Q^(T)*b=0。后,生成一个上Hesenberg 矩阵和一个正交矩阵(Q),即A=Q*H*Q^(T),在Krylov 子空。两个矩阵,一个上三角矩阵(R),一个Q 阵(正交矩阵),即A=Q*R。间中,A 阵与H 阵相似。找到x,变换后尽可能接近b),按照GMRES 的思想,即解使用基线性组合,即x=Q*y;SPD),可以使用CG(共轭梯度)方法求解,就算在收敛速度不足的情况下,增加预条件算。
2023-08-04 15:22:03 417 1
原创 近场动力学通俗讲解
属于无网格法,使用积分的思想来描述质点之间的作用力,有点类似SPH(有文章比较SPH和近场动力学)。近场动力学的刚度矩阵与有限元不同,会与当前质点有关,还会与质点附件的质点有关,因此称为近场的作用域。其基本思想是以系统能量最小化来求解系统的稳定点(一般文章会说成泛函和虚位移或虚功),以此方法就可以使用最优化的方法求解出能量平衡点,数值上最终变成求解线性方程组。Ax=b,方程组的矩阵A为刚度矩阵,变量b是外力,x是位移。由于多个系统的链接属性,导致每个位移会与相广联的质点有关,因此描述为一个矩阵。
2023-05-24 14:07:00 1252
原创 悬臂梁低频模态展示
悬臂梁各阶振动模态展示。只展示了1-7阶模态(12个质点应该有24阶,其中有2个节点固定,仅有20阶可以展示,高频部分未展示)
2023-03-28 15:13:15 306 1
原创 基于物理模拟的实时动画:桁架的简单有限元模拟
1.轻松学习有限元。无需弹性力学,只要高数,线代知识。2.使用代码计算桁架变形,并实时显示。DX11,VS20153.文档和代码见github.com/ljb1672或参阅知乎https://zhuanlan.zhihu.com/p/487254527
2022-03-28 14:42:57 418
原创 NBody的CPU实现
[1]说明:N体模拟的CPU版本,鼠标控制观察方向和缩放,使用DX11,VS2015开发[2]优化:由于计算各个质点之间的作用力复杂度为N2,较耗时,未使用TreeCode方法优化,可以降低复杂度为NlogN[3]未使用GPU加速,详见SDK例子[4]此代码框架可以用来计算SPH(光滑粒子水动力法),MPM(物质点方法)[5]代码见https://github.com/ljb1672/...
2021-04-22 15:16:09 225
原创 线性互补的PGS算法
LCP的来历。名称英语Linear Complementarity Problem,中文称为线性互补问题。20世纪80年代由Cottle(是Danzig的学生,Danzig是线性规划的提出者)在其博士论文中提出。线性规划是二次规划的特例,二次规划可以通过LCP的求解,因此这个更一般化的问题给了数学家们研究的动力和方向,在经过几十年的发展后,广泛运用到各个行业中,如经济学、博弈、数学规划,力学、润滑中。大家熟悉的纳什均衡(电影美丽心灵《A Beautiful Mind》的主角提出的一个问题,论文名称《Non-
2021-04-14 23:33:18 1141
原创 多重网格法简述及简单C++实现
多重网格法是求解线性方程组的一种新方法(当然还有谱方法,对特殊方程的快速多极子,区域分解等方法),她不同于传统的定常迭代(Jacobi,Gauss-Seidel等),也不同于Krylov子空间方法(CG,由CG派生的很多方法);她的求解思想大致是对传统的定常方法进行收敛分析后,针对不同分量的收敛进行处理,加快收敛速度。具体思路是分析Ax*-b的残差(x是当前的计算结果,Ax-b为当前的解经过矩阵A变换后与b的误差,即求解中,每次迭代后残差总会减少,最终趋近于0),此残差经过傅立叶分析后发现,高频部分是由于与
2021-03-03 11:14:33 1784
原创 流体模拟的涡方法
流体模拟是物理模拟中的一个大方向,目前SPH方法较能提供较好的视觉效果,如图,其原理是通过离散流体成小质点来实现(小质点的运动是根据周围的压力来计算受力),其视觉效果达到以假乱真的程度;而流体中的湍流现象(流体流动不稳定,无规则,目前还是业界难题)的情况一般使用涡方法模拟,大致思路是将NS方程求旋度,得到的方程化简后成为一个Possion方程,维数较大,一般可采用快速多级方法求解(可以将复杂度由N^2降低到NlogN或N的复杂度),另一种方法是采用TreeCode方法,此代码就是使用TreeCode来实现。
2021-02-23 16:31:51 837 1
原创 DirectX11下的Physx4.0例子
在DX11的图形框架下,移植PhysX4.0的一个简单例子作为入门参考,模拟了两个小立方体下落碰撞,未对光照进行详细计算,使用VisualStudio2015编译成debughttps://download.csdn.net/download/ljb1672/12913725
2020-10-07 22:09:01 188
原创 图形学实战,可以借鉴的HLSL代码
图形学实战,可以借鉴的HLSL代码使用HLSL实现部分图形效果,有几个看起来不错,见https://github.com/ljb1672/DirectX-3D-HLSL-Senior-instance-succinctly介绍文章请见知乎https://zhuanlan.zhihu.com/p/62912718
2020-09-29 15:07:47 234
原创 物质点法模拟雪球碰撞
参照网上的文章和代码,在DirectX渲染框架下实现。使用GPU加速(仅显示),在笔记本64位下也能跑很快(615个质点,8385个网格节点)(1)认真阅读了代码,总体上感觉就是将要计算的物理量在两个坐标系之间映射。(2)总体来说MPM还是属于无网格法,只不过利用了网格作为计算质点物理量的加速手段,有利于碰撞检测。有文章粗浅比较了MPM和SPH的优劣,说SPH在很多方面较MPM欠缺。CSDN...
2020-02-04 15:43:21 779
原创 nvidiaAPEX的例子
nvidia的APEX是在Physx上建立的更上一层应用,有三个,布料,破坏,粒子,更方便开发者的使用。其中布料例子运行 破坏例子运行。
2019-01-31 09:47:39 1867
原创 PhysX SDK 4.0在Win7下的编译生成
生成工程项目文件需要一些条件和步骤一、所需条件1.安装CMake3.122.安装Phthon3.73.安装有VisualStudio2015二、其他文件1.DirectX 2010版本,即最早的DX11版本。在编译项目时需要三、生成1.执行physx\generate_projects.bat根据情况选择生成解决方案文件2.部分文件编译时提示未找到<d3dx11.h>...
2019-01-29 15:02:29 760
原创 Stiffness Warped法的理解与实现
(1)有限元方法的局限性。图中使用有限元方法模拟物体的变形,并用代码实现了一个简单桁架结构在受到外部垂直力的作用下,各个杆件结构的变形效果,在实际的结构工程中,使用有限元方法在仅能模拟静态结构下的应力和小变形,但在大变形情况下失效,同样,在图形学中,Muller也提供了一个失真严重的例子,本小节也提供了一个桁架结构大变形下变形失真的程序,执行结果见图(第一个图)。可见,使用有限元方法模拟物理变形有...
2018-10-22 16:31:06 459
原创 Physically Based Deformable Models in Computer Graphics
如想了解计算如何进行物理效果的实时模拟,此文作为入门必读。
2017-07-20 15:53:07 340
原创 实时物理模拟
物理模拟入门的大致方向。大致有1、刚体(RigidBody)的模拟,学习的书籍有多刚体动力学,建议看国外的书籍,国内书籍看了后距离代码仍还有相当大距离,开源的项目有Bullet等。也可参看以下面的代码。2、柔体(1)小变形,使用有限元(FEM:Finite Element Methods)工程上常用。机械、土木类的就很熟悉了。(2)较小变形,使用改进的有限元或共旋法(CoRotat
2017-05-24 14:50:55 947
原创 DX11细分的优势和特点
花时间学习了下DX11下的细分,感觉细分好处还真多,不象以前想的,模型已经够象了还需要什么细分。现在回过头来看看,细分用在下面有极大的优势。1、大地形。像《鹰击长空》这类使用大地形的游戏,可以充分使用细分来更好地管理地形。可有人会说,增加顶点,会使系统性能下降,的确是这样。但
2011-10-16 22:26:04 913
使用DirectX11 SDK框架的NvFlex流体模拟
2022-10-10
Physx在DirectX11中的实现,球铰模拟
2020-10-08
阴影技术(三种阴影技术的比较)
2015-04-30
D3D灯光、材质演示程序
2013-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人