学习OpenGL
文章平均质量分 92
瓴龍
这个作者很懒,什么都没留下…
展开
-
Cosserat Rod 理论学习
前言最近做的本科毕设中有一部分的工作是要对缝合线进行仿真,老师推荐用 Cosserat Rod 模型对缝合线建模,于是我就查阅了很多关于 Cosserat Rod 的资料,并以本文作为学习笔记。本文首先介绍了描述空间曲线的 TNB Frame 和 Darboux Vector,然后以此为基础介绍了 Cosserat Rod 模型的相关理论,最后根据 Position and Orientation Based Cosserat Rods 这篇论文介绍了 Cosserat Rod 的离散形式以及如何用 P原创 2022-05-17 20:22:23 · 1532 阅读 · 0 评论 -
三维旋转与四元数
前言最近在学习计算机图形学中的物理仿真算法,发现里面很多的涉及到物体旋转的地方都会使用四元数去进行运算,因此便希望能够从解析几何的角度去理解四元数和三维旋转的关系。网上的很多有关四元数的资料都是直接扔出四元数的定义和计算公式,然后说四元数能够解决万向节死锁(Gimbal Lock)问题,也有一些视频资料从很抽象的角度去解释和理解四元数,让人很难形象地看清四元数是如何表示旋转这种变化的。在翻阅的诸多资料中,以下两篇资料让我受益匪浅:第一篇是1998年的一篇关于四元数的论文 Quaternions, In原创 2022-05-14 21:39:43 · 1041 阅读 · 0 评论 -
XPBD学习笔记
Newton’s Method用于求解方程 f(x)=0f(\boldsymbol{x})=0f(x)=0,其中 fff 是一个非线性函数,很难直接解出零点,于是可以用牛顿法,假设当前的初值为 x0\boldsymbol{x}_0x0,对 fff 泰勒展开可得:f(x)=f(x0)+∇f(x0)⋅Δx=0f(\boldsymbol{x})=f(\boldsymbol{x}_0)+\nabla f(\boldsymbol{x}_0)\cdot\Delta\boldsymbol{x}=0f(x)=f(原创 2022-01-21 16:12:41 · 1602 阅读 · 0 评论 -
Fast Mass Spring 方法学习与布料仿真
符号约定离散时间节点 t1,t2,...,tn,...t_1,t_2,...,t_n,...t1,t2,...,tn,... 和固定时间间隔 h=tn−tn−1h=t_n-t_{n-1}h=tn−tn−1系统节点数目 mmm ,系统弹簧数目 sss系统状态 qn∈R3m\boldsymbol{q}_n\in\mathbb{R}^{3m}qn∈R3m,描述在 tnt_ntn 时刻每一个节点的空间位置质量矩阵 M∈R3m×3m\boldsymbol{M}\in\mathbb原创 2021-12-14 21:08:07 · 1481 阅读 · 0 评论 -
PBD(Position Based Dynamics)学习笔记
符号说明仿真物体包括 NNN 个节点和 MMM 个约束。每个节点 i∈[1,...,N]i\in [1,...,N]i∈[1,...,N] 包含的参数有质量 mim_imi 、位置 xi\boldsymbol{x_i}xi 和速度 vi\boldsymbol{v_i}vi ;每个约束 j∈[1,...,M]j\in[1,...,M]j∈[1,...,M] 包含的参数有:基数 njn_jnj ;约束函数 Cj:R3nj→RC_j: \mathbb{R}^{3n_j} \rightarrow原创 2021-11-16 17:18:12 · 2510 阅读 · 0 评论 -
学习OpenGL:光源的种类和实现
按照冯氏光照模型的说法,任何光线都被分割成环境光照、漫反射光照和镜面光照三部分,这三部分分别与物体产生作用叠加后得到我们看到的颜色。但是实际上在现实中有许多种不同的光源(Light Source),比如太阳、蜡烛、手电筒、灯泡等等,仔细观察可以发现这些光源发射光线的方式是不同的,概括起来有三种: (三张图片来自百度图片搜索) 方向光(Directional Light):又称定向光、平行光,这种光源发射出来的光线是平行光线,每一条光线的方向是相同原创 2021-10-30 22:29:16 · 928 阅读 · 0 评论 -
学习OpenGL:冯氏光照模型
在现实世界中光照使得我们能够看见物体的颜色,物体颜色的不同本质上是因为其表面对光的吸收和反射的能力不同。光的三原色是红绿蓝(RGB: Red, Green, Blue),因此我们一般用一个三维向量来描述物体的颜色。假设一个物体 AAA 的颜色向量为 VA=(RA,GA,BA)V_A=(R_A,G_A,B_A)VA=(RA,GA,BA),RA,GA,BA∈[0.0,1.0]R_A,G_A,B_A \in [0.0, 1.0]RA,GA,BA∈[0.0,1.0],这表示的意义是:物体 AAA原创 2021-10-30 13:13:59 · 349 阅读 · 0 评论