自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 收藏
  • 关注

原创 文献阅读1

文献阅读1

2024-01-10 23:11:10 1081

原创 EM算法和VAE的学习笔记

这是我学习EM算法(Expectation-Maximization Algorithm)的学习笔记,首先总结了EM算法流程,然后举了一个例子,用EM算法对GMM进行参数估计,最后证明了EM算法的正确性。

2023-09-13 15:13:34 236

原创 QEM网格简化算法学习

边收缩的结果就是将两个顶点合成一个顶点,因此可以按照任意的顶点数目去简化网格。所以前面讲到的保存每个顶点关联的面的集合,实际上就是保存这些面对应的矩阵之和,而边收缩的过程中,新的顶点需要保存的,就是旧的两个顶点保存的矩阵之和。假如只有一个平面三角形,当它的一个顶点A有一个微小的偏移时,这个顶点相对于对边BC的距离h也会发生变化,因此可以用h来度量点A的“变形程度”,亦即。也许当A的位移平行于BC时,用h无法表示这样的变形,但是这只是一种思想,既考虑了简洁性,也考虑了在实际变形中大概率不会有这种特殊的变形。

2023-09-08 20:31:05 712 4

原创 刚性配准与非刚性配准

总结了一下刚性配准和非刚性配准的原理和算法

2023-08-07 16:43:01 769

原创 《矩阵论》学习笔记

北航研究生选修课程《矩阵论》学习笔记

2023-02-06 15:50:14 2064

原创 PD仿真算法中变形梯度矩阵的极分解

变形梯度矩阵的极分解

2022-11-26 10:40:56 920

原创 基于Pytorch的卷积算子的推导和实现

本文主要有两个目的:推导卷积运算各个变量的梯度公式;学习如何扩展Pytorch算子,自己实现了一个能够forward和backward的卷积算子;

2022-10-26 02:28:24 501

原创 特征点检测和特征点匹配(ORB)

本文介绍了特征点检测的一些算法,然后基于OpenCV的ORB,实现了不同尺度和旋转的图像特征点匹配。

2022-10-12 20:19:11 3022

原创 生成对抗网络(GANs)

生成对抗网络解析和例子

2022-10-08 20:48:49 1575 1

原创 AutoEncoder

自编码器

2022-10-07 16:42:41 396

原创 循环神经网络(RNN)

循环神经网络总结

2022-09-28 21:03:47 429

原创 卷积神经网络(CNN)

卷积神经网络的个人学习笔记

2022-09-26 16:25:18 1217 1

原创 神经网络学习的基本原理

神经网络学习的基本原理

2022-09-25 22:05:42 725

原创 《计算几何》学习笔记

这是学堂在线邓老师讲的《计算几何》课程的学习笔记。

2022-09-18 20:04:05 875 1

原创 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 1264

原创 三维旋转与四元数

前言最近在学习计算机图形学中的物理仿真算法,发现里面很多的涉及到物体旋转的地方都会使用四元数去进行运算,因此便希望能够从解析几何的角度去理解四元数和三维旋转的关系。网上的很多有关四元数的资料都是直接扔出四元数的定义和计算公式,然后说四元数能够解决万向节死锁(Gimbal Lock)问题,也有一些视频资料从很抽象的角度去解释和理解四元数,让人很难形象地看清四元数是如何表示旋转这种变化的。在翻阅的诸多资料中,以下两篇资料让我受益匪浅:第一篇是1998年的一篇关于四元数的论文 Quaternions, In

2022-05-14 21:39:43 937

原创 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 1500

原创 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 1448

原创 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 2301

原创 学习OpenGL:光源的种类和实现

按照冯氏光照模型的说法,任何光线都被分割成环境光照、漫反射光照和镜面光照三部分,这三部分分别与物体产生作用叠加后得到我们看到的颜色。但是实际上在现实中有许多种不同的光源(Light Source),比如太阳、蜡烛、手电筒、灯泡等等,仔细观察可以发现这些光源发射光线的方式是不同的,概括起来有三种: (三张图片来自百度图片搜索) 方向光(Directional Light):又称定向光、平行光,这种光源发射出来的光线是平行光线,每一条光线的方向是相同

2021-10-30 22:29:16 830

原创 学习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 323

原创 用C++写一个《炸飞机》/《死亡轰炸》游戏辅助程序

游戏介绍最近和女朋友因为异地恋而开始寻找可以远程一起玩的游戏,就发现了同桌派对这个App,里面有一个游戏叫做《死亡轰炸》(又名《炸飞机》)特别有意思,游戏规则是这样的: 典型的地图大小是 10 × 10,飞机数目为3个,飞机的形状是一个“士”字形。在游戏一开始我们要摆好自己的飞机(飞机之间不能有重叠的地方),游戏开始之后,我们可以选择对方地图的位置进行轰炸,轰炸后会提示该位置为“空地”、“机身”或“机头”三种类型。当我们炸毁对方的所有机头,就获得

2021-10-21 01:04:12 6440 10

原创 图像模糊/图像平滑

目录前言图像模糊的类别均值模糊高斯模糊中值模糊其它说明前言如果从某种角度考虑,可以把图像(Image)看成一种波(Wave)。假设有一张 n×mn\times mn×m 的灰度图,每个像素点的取值范围是 [0.0,1.0][0.0,1.0][0.0,1.0] ,如果我们把图像展开成一幅波形图,横轴表示像素点的坐标(由二维坐标按照一定规律映射成一维坐标),纵轴表示像素点的取值,那么就可以把图像变成的波提取出两种信号:高频信号:波形变化剧烈的地方,这在图像中体现为边缘、噪声点等色彩变化剧烈的地方;

2021-09-09 17:58:20 327

原创 Codeforces Global Round 13 / contest 1491

Codeforces Global Round 13 / contest 1491目录Codeforces Global Round 13 / contest 1491A K-th Largest ValueB Minimal CostC Pekora and TrampolineD Zookeeper and The Infinite ZooE Fib-treeFGHIABCDEFGHI√√√√√( √:做出; ●:尝试未做出; ○:已补题 )

2021-03-01 10:40:31 234

原创 aodv-uu 源码解读

目录说明defs.hlist.h / list.cparams.hnl.h / nl.crouting_table.h / routing_table.ctimer_queue.h / timer_queue.cseek_list.h / seek_list.cllf.h / llf.cendian.h / endian.cdebug.h / debug.caodv_timeout.h / aodv_timeout.caodv_socket.h / aodv_socket.caodv_neighbor.h

2020-11-12 02:36:34 3073

原创 HTML基础语法

目录前言头各种各样的标签网页布局前言HTML(HyperText Markup Language,超文本标记语言)是用来描述网页的一种语言,用各种标签以及文本来描述 web 页面,浏览器可以读取 html 文件并且显示。这学期学习数据库,其中一个小作业是要求用 MySQL+JDBC+Web 开发一个简单的数据库管理系统,要求在浏览器实现表的各种操作,这就涉及到网页开发。谈到 web,相关的东西就是 HTML、CSS 和 JavaScript,其中 HTML 用来描述网页(网页的骨架),CSS 用

2020-09-13 18:19:58 527

原创 AtCoder Beginner Contest 175

目录A Rainy SeasonB Making TriangleC Walking TakahashiD Moving PieceE Picking GoodsF Making Palindrome题目地址:https://atcoder.jp/contests/abc175/tasksA Rainy Season题意:水题思路:代码:#define DIN freopen("input.txt","r",stdin);#define DOUT freopen("output.txt

2020-09-02 16:44:05 283

原创 Codeforces Global Round 10 / contest 1392

目录A Omkar and PasswordB Omkar and Infinity ClockC Omkar and WaterslideD Omkar and Bed WarsE Omkar and DuckF Omkar and LandslideG Omkar and PiesH ZS Shuffles CardsI题目地址:https://codeforces.com/contest/1392A Omkar and Password题意:给你一个数组,每次你可以选择相邻的两个不相同的

2020-09-02 11:41:23 219

原创 Codeforces Round #666 (Div. 1) / contest 1396

目录A Multiples of LengthB Stoned GameC Monster InvadersDEABCDE√√√( √:做出; ●:尝试未做出; ○:已补题 )题目地址:https://codeforces.com/contest/1396A Multiples of Length题意:给定一个长度为 n 的数组 a,你可以操作恰好 3 次,每次操作如下:选择 a 的一个子数组(假设长度为 len),然后对这个子数组的每一个数,可以

2020-09-01 15:36:57 221

原创 Educational Codeforces Round 94 (Div. 2) / contest 1400

目录A String SimilarityB RPG ProtagonistC Binary String ReconstructionD ZigzagsE Clear the MultisetF x-prime SubstringsG Mercenaries题目地址:https://codeforces.com/contest/1400A String Similarity题意:水题思路:代码:#define DIN freopen("input.txt","r",stdin);#d

2020-08-30 20:58:14 162

原创 AtCoder Beginner Contest 177

目录A Don't be lateB SubstringC Sum of product of pairsD FriendsE CoprimeF I hate Shortest Path ProblemABCDEF√√√√√○( √:做出; ●:尝试未做出; ○:已补题 )题目地址:https://atcoder.jp/contests/abc177A Don’t be late题意:水题思路:代码:#define DIN freopen("

2020-08-30 16:33:16 462

原创 AtCoder Beginner Contest 176

目录A TakoyakiB Multiple of 9C StepD Wizard in MazeE BomberFABCDEF√√√√√( √:做出; ●:尝试未做出; ○:已补题 )题目地址:https://atcoder.jp/contests/abc176A Takoyaki题意:签到题思路:代码:#define DIN freopen("input.txt","r",stdin);#define DOUT freopen("out

2020-08-22 21:51:11 1020

原创 Codeforces Round #665 (Div. 2) / contest 1401

目录A Distance and AxisB Ternary SequenceC Mere ArrayD Maximum Distributed TreeE Divide SquareF Reverse and SwapABCDEF√√√√√○( √:做出; ●:尝试未做出; ○:已补题 )题目地址:https://codeforces.com/contest/1401这次的题目不算难吧,F题思路已经有了,赛后一小会儿就写出来了。A Distanc

2020-08-22 10:13:38 814 2

原创 BigInteger 大整数类(C++)

有时候需要用到大整数,这里放一个自己写的大整数结构体(BigInteger),实现的功能如下:输入输出;四则运算;比较运算;幂运算;其中乘法运算和除法运算都是 O(n2)O(n^2)O(n2) 的复杂度。struct BigInteger{ #define SIZE(x) ((int)x.size()) std::vector<int> x; // 从低位往高位存储 bool sign; // 0:+ 1:- // 构造 Big..

2020-08-10 22:59:44 990

原创 ACM算法总结 prufer序列

prufer序列就是一一对应一棵无根树的一个序列。对于一棵 n 个结点的无根树,它的 prufer序列有 n-2 个数,它们之间相互转换关系如下:无根树 转换为 prufer序列: 每次选择编号最小的叶子结点,然后把与它相连的结点加入 prufer序列中,然后删掉这个结点,直到剩下两个结点为止。prufer序列 转换为 无根树: 定义未选择的结点集合 S,一开始 S 是一个 1-n 的全集,然后遍历prufer序列,每次选择不在 prufer序列里面的最小编号的结点,与当前遍历到的结点连边,然后..

2020-08-09 16:22:30 304 2

原创 Codeforces Round #662 (Div. 2) / contest 1393

目录A Rainbow Dash, Fluttershy and Chess ColoringB Applejack and StoragesC Pinkie Pie Eats Patty-cakesD Rarity and New DressE1E2ABCDE1E2√√√√( √:做出; ●:尝试未做出; ○:已补题 )题目地址:https://codeforces.com/contest/1393A Rainbow Dash, Fluttersh

2020-08-08 10:30:40 188

原创 AtCoder Beginner Contest 174

目录A Air ConditionerB DistanceC RepseptD Alter AltarE LogsF Range Set QueryABCDEF√√√√√√( √:做出; ●:尝试未做出; ○:已补题 )题目地址:https://atcoder.jp/contests/abc174这一次的题目好简单。A Air Conditioner题意:签到题。思路:代码:#define DIN freopen("input.txt","

2020-08-02 21:35:36 1720

原创 ACM算法总结 数论(二)

目录原根质因数分解卢卡斯定理(Lucas)数论分块莫比乌斯反演杜教筛威尔逊定理原根若(a,m)=1(a,m)=1(a,m)=1,使得ax≡1(mod m)a^x \equiv 1(mod \ m)ax≡1(mod m) 成立的最小的xxx,称为aaa关于模mmm的阶,记为ordmaord_maordm​a 。若ordma=xord_ma=xordm​a=x,则 ordmat=x(t,x)ord_ma^t=\frac{x}{(t,x)}ordm​at=(t,x)x​ ;ord

2020-08-02 12:26:58 230

原创 ACM算法总结 数论(一)

目录快速幂龟速乘费马小定理欧拉函数欧拉定理扩展欧拉定理素性测试裴蜀定理&扩展欧几里得逆元线性求n个数的逆元线性求任意n个数的逆元中国剩余定理(CRT)快速幂int ksm(int x,int n,int M){ //if(!x && !n) return 0; int ret=1; while(n) { if(n&1) ret=1ll*ret*x%M; x=1ll*x*x%M; n>&g

2020-08-02 12:19:30 365 1

原创 ACM算法总结 线性递推(BM)

BM算法,全称是Berlekamp-Massey算法,给出某个其次的线性递推数列的前面若干项,它可以自动算出这个齐次式,以及计算出后面第 K 项的值。我依然不理解这个算法,这里只是记录一下有这个东西。代码:const int maxn=40005;const LL M=998244353;struct linear_sequence{ LL res[maxn],base[maxn],_c[maxn],_md[maxn]; VI Md; LL ksm(LL x,LL n..

2020-08-02 10:48:18 1000

空空如也

空空如也

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

TA关注的人

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