-
最优永存:用雅可比伪逆求解 IK
在 Unity 里拖动一个 IK Target 时,我们希望角色的手、脚或者武器挂点跟着目标移动,而不是手动调骨骼链上的每一个关节。 这个需求说起来很直观:目标在那里,让手过去就行。但真正开始写 Solver,就会遇到几个问题: 一条骨骼链可能有很多自由度,同一个目标通常不止一个解; 目标可能在骨骼链的可达范围之外; 手臂完全伸直时,某些旋转几乎无法带来有效位移; 更新太激进会抖动甚至发散... -
Path Tracing
基于光线追踪的渲染与基于光栅化的render相比,光线追踪最直接的不同在于渲染一个frame buffer时,不再遍历场景中的所有mesh,通过zbuffer等算法判断他们是否能过被打在相机平面上;而是直接遍历成像平面的每个像素,发出一条条的射线,记录射线击中的物体情况,直到最大次数或者击中光源(光源有很多,我们暂且考虑点光源),由于光路的可逆性,命中光源的射线的源像素将得到着色信息并计算最... -
RL Basics
有关强化学习中一些基础概念的理解与思考。 塔式性各种教程中对于RL里面价值函数这一部分的推导经常默认看得懂全期望公式。 为什么能够直接等于本应取决于的价值函数?这就涉及到全概率公式的概念。 对于随机变量, 期望的塔性法则指出: 随机变量的期望,等于条件期望的期望。 回想一下,全期望公式告诉我们,如果要对整体取期望,可以对分组取期望。再根据分组出现的概率,当作系数加和,得到最终的期望。(r... -
DQN
Q-learningRL的最终目标,是让整个Agent在行动中,最终拿到的奖励最大。划分到每一步上,Agent要学会在每一步上,根据当前的观测决定如何行动。这个行动也是我们唯一能干预的。把好坏直接定义在A(s)能大大降低问题的复杂度。而反应(s,a) 好坏的,就是Q函数。Q-learning就是在学习这个。 基本的定义假设我们的环境是一个MDP:,分别是状态,行动,状态转移,回报,衰减,这个... -
矩阵分析
线性空间中文/毛子/工科教材中常见的叫法。 或者叫向量空间。 定义如果数集 任意两个数加减乘除仍属于 ,即 对四则运算是封闭的, 则 是一个数域 对于一个 在上有8条公理,则称 是 上的线性空间 加法交换 加法结合 定一个 , 对于任意的元素, 存在 使得 乘法对加法的分配 加法对乘法的分配 数乘的结合率 具有单位元 线性无关设 是域 上的线性空间,。 向量组 线性无关... -
在Centos上跑ubuntu22.04+cuda12.2的docker容器
最近在做Gaussian相关的工作,虽然有init-free的Init方法,但总归绕不开MFS的集大成者——Colmap。colmap作为传统reconstruction的集大成者,已经能做到很好的点云生成。官方提供windows的GUI版本,以及预编译colmap的docker容器,但支持gpu加速的只有cuda12.9的版本。linux上建议使用docker部署编译。官方给的docker...
1