自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 刷题

数组主要用到的思想二分法双指针法滑动窗口vector的使用https://blog.csdn.net/u014779536/article/details/111239643https://www.runoob.com/w3cnote/cpp-vector-container-analysis.htmlvector<vector<int>> res(n, v...

2024-04-08 12:49:00 254

原创 Animation

基本概念、质点弹簧系统、运动学、求解常微分方程、刚体与流体质点弹簧系统现在我们模拟一个弹簧系统。首先弹簧:但是这样的话,没有能量损失,弹簧就会一直运动下去。所以增添摩擦力。符号定义:这样的问题是,摩擦力和速度方向相关,比如b围绕a转?所以,摩擦力发生在弹簧内部,也就是说:质点弹簧可以组合成多种结构。想象模拟一个布料,来建立质点弹簧质点之间的关系。对抗沿着角拉开的力,增加了...

2024-04-06 21:59:00 389

原创 Materials and Appearances

Matrerial==BRDF材质就是说这个东西我看起来是什么样子。漫反射材质(往各个方向反射)漫反射材质定义了一个方向过来的光线(这也就是irradiance)到各个方向的irradiance都是相等的。当\(L_i\)=\(L_o\)的时候,说明完全反射出去了,但是也有发生一些吸收的时候,这个时候存在albedo来控制吸收率,这也就是颜色的形成。Glossy材质(往某个方向严重...

2024-04-06 19:53:00 158

原创 GAMES101 作业3

透视矫正插值首先关注一下作业2中的插值公式,对深度插值时这里有一个问题就是透视投影的矫正。因为屏幕上的点的插值结果并不等于三维空间中的插值结果,我们应该先在三维空间中插完值再进行透视投影。但是有没有办法通过屏幕坐标得到三维空间对应的插值结果呢。网上找了一些教程都是从直线的重心坐标类比过去(想推一下怎么从三角形的重心坐标表示)我们想得到的是s和t之间的关系,这样就可以直接通过屏幕坐标的重心坐...

2024-04-06 17:08:00 1024

原创 Ray Tracking 蒙特卡罗积分和Path Tracking

上一节讲到了渲染方程,可以获得一个打出来的光线应该是自身发出的光和反射的光的总和。Monte Carlo Integration(蒙特卡洛积分)这是一种求解复杂函数(比如没有解析式的时候)定积分的数值方法。定积分就是求解概率密度函数面积的过程。证明可以参考蒙特卡洛积分的无偏性:https://zhuanlan.zhihu.com/p/365624460这里有一个重要的想法就是,不要想...

2024-04-01 22:20:00 320 1

原创 Ray Tracking 辐射度量学、渲染方程、全局光照

Basic radiometry (辐射度量学)Radiant fluxRadiant energy Definition: Radiant energy is the energy of lectromagnetic radiation. It is measured in units of joules, and denoted by the symbol:\[Q [J = Joule...

2024-04-01 09:38:00 900

原创 Ray Tracking 加速结构

基本原理中使用AABB作为判断光线和物体相交的加速。在AABB内部如何快速判断判断光线和物体的相交情况呢?主要分为种方法:Uniform gridsSpatial partitions注意这里使用的加速结构是在光线追踪之前做的准备工作。Grids分格子,然后记住每个格子里有哪些物体。碰到格子的话,再和这个格子里的物体求交。这样的话就沿着直线找就可以了(怎么沿着直线?比如,线是...

2024-03-31 21:15:00 345

原创 Ray Tracking 基本原理

光线追踪和光栅化的区别光栅化不能处理更全局的信息。比如软阴影、玻璃的反射以及以及经过多次反射的光线。光线追踪将整个过程变换为从摄像机发出感知射线,到达物体之后,如果相同的点也能够被光源感知到,以此进行渲染。感觉光栅化这个过程是从光源出发,最后通过投影转到相机上。光线跟踪是眼睛出去一条光线同时光源也去判断这个像素的可见性,最终“感知射线”还能够进行多次判断。Three ideas abou...

2024-03-31 20:36:00 388

原创 GAMES101 作业2

作业栅格化一个三角形。进阶是super-samplinginsideTriangle// TODO : Implement this function to check if the point (x, y) is inside the triangle represented by _v[0], _v[1], _v[2]/** * @brief 判断一个像素点在不在三角形内 * @...

2024-03-31 14:47:00 422

原创 GAMES101 作业1

作业目标是把三角形投影到屏幕上,并绕z轴旋转(进阶:绕任意轴旋转)。get_model_matrix// TODO: Implement this function// Create the model matrix for rotating the triangle around the Z axis.// Then return it./** * @brief 控制model旋...

2024-03-30 12:31:00 301

原创 Shadow

Shadow Mapping最关键的思想是阴影出现的点是我们可以看到而光源看不到的点。主要思路:从光源渲染一个深度图表示能看到的地方从我们的眼中看到的点投射到光源相机中看光源相机能不能看到(是不是对应的深度)这个方法中有一些问题:Hard shadows (point lights only)Quality depends on shadow map resolutio...

2024-03-28 21:42:00 311

原创 GAMES01 Geometry

生活中有许多曲面、曲线需要去表示。这里也有许多表示几何的方法:Implicitalgebraic surfacelevel setsdistance functions...Explicitpoint cloudpolygon meshsubdivision, NURBS...Implicit表达通常,隐式表达被定义为f(x,y,z)=0,其中f(x,y,z)是一...

2024-03-28 10:27:00 391

原创 UE4 存档

基本目标:存档 按键TAB保存 P键显示读档界面 读档后位置重置到读档内容存档界面关于每一条信息的变量和读取按钮点击事件存档存档主要的逻辑是 存到内存中并存到本地 显示的就是内存中的 打开关卡时加载本地到内存其实整个保存的目前只是一个Location,应该封装成对象比较好,但是蓝图里面object的new还不熟悉,这块还要研究下打开关卡时加载本地到内存按M显示封装了一个函...

2024-03-26 13:59:00 356

原创 UE4 局域网联机

局域网联机案例首先包含两个关卡,一个关卡是两个UI。另一个关卡为正式游戏关卡。局域网联机这里的操作主要关注在UI所在关卡中。创建UI页面1主要逻辑:点击创建房间进入游戏关卡并且创建一个会话点击搜索服务器进入页面2并且展示服务器列表点击退出,退出游戏页面2主要逻辑:进入页面2,findsenssion,如果有的话在scrollbox中进行展示,子UI为界面3。同时旋转的加载...

2024-03-26 11:05:00 256

原创 UE4 UI

2D UI点击后 控制权切换制作2D UIDesignerGraph在关卡蓝图/控制器类中使用UI【一般是控制器类】效果暂停游戏制作UI暂停游戏点击事件增添UI动画3D UI全自动/半自动制作UI添加点击事件制作UI蓝图类并连接到UI上增加WidgetInteraction设置一个对外的事件,能够在UI里面设置当focus在widget上时...

2024-03-25 21:52:00 258

原创 UE4 创建角色 绑定动画 蒙太奇动画

UE4文档: https://docs.unrealengine.com/4.27/zh-CN/AnimatingObjects/SkeletalMeshAnimation/CharacterSetupOverview/角色-动画蓝图动画蓝图中包含多种动画创建角色 输入【这里设置使用Orient Rotation to Movement后,没用,发现是需要设置摇臂中的Use Pa...

2024-03-24 22:39:00 314

原创 UE4 射线检测 拾取物品

第一视角玩家这里比较重要的点是PickUp是一个接口,调用的是接口PickUp接口定义接口实现接口的Actor类继承这个接口,实现的时候,就变成了事件(当接口没有返回值时就可以作为事件被触发)在Project setting中添加trace channel,在碰撞体上勾选一开始的时候,把网上找的骨骼网格放进去一直检测不到,最后发现是没有碰撞体。添加碰撞体后好了。...

2024-03-24 19:08:00 266

原创 UE AI

本节目标:Enemy看不到人时 随机巡逻Enemy看到人时 跟随UE里的AI感觉是一个非常典型的黑板风格(想找之前软件体系结构课上的笔记 结果找不到了5555),印象很深刻就是有控制器、有分发器、有黑板,就是解耦逻辑与数据。AIController运行行为树,行为树可以从黑板里读取行为树:希望AI进入的状态。通过在 行为树 中布局出AI可能进入的状态,有助于你了解进入这些状态需要创建何...

2024-03-24 15:58:00 319

原创 UE4上下车

上下车描述上车:车获得控制权 玩家做到位置上 玩家和车一起动进入感应区 按F上车下车:玩家获得控制权 玩家下车位置 解除一起动的关系 车减速停下版本1ThirdPersonCharacter增加IsInSedan的变量增加Car的变量Sedan蓝图类-上下车事件图表增加 ThirdPersonCharacter 的变量小白人上车:下车和下车减速:这里下车减速有一个注意点就...

2024-03-23 19:59:00 302

原创 UE4之蓝图通信

关卡蓝图或蓝图类各自在蓝图内之间的通信创建Custom event蓝图和蓝图类与场景内部的对象的通信创建一个变量,然后把场景内部对象放进去蓝图类之间的通信通过第三人称小人通信通过actor变量蓝图类与关卡蓝图之间的信息交互控制台蓝图,ce 蓝图名遍历搜索 引用蓝图类GetALLActorOfClasses 然后提升为变量(因为这个操作很耗时)...

2024-03-22 07:56:00 323

原创 Shading(2) Texture和插值

插值三角形内部点的表达\[\begin{aligned}(x,y)=\alpha A+\beta B+\gamma C\end{aligned}\]\[\begin{aligned}\alpha+\beta+\gamma&=1\end{aligned}\]表示在三角形ABC所在平面上当\(\alpha\)、\(\beta\)、\(\gamma\) 都是非负的时,点(x,y)在三...

2024-03-21 13:40:00 1009

原创 Shading(1)Shading model / Graphics Pipeline

Shading定义:The darkening or coloring of an illustration or diagram with parallel lines or a block of color.在这里的定义是应用material到object的过程。A Simple Shading Model —— Blinn-Phong Reflectance ModelComput...

2024-03-21 10:35:00 348

原创 Rasterization

三角面片为什么是三角面片?三角形是最基本的多边形保证在同一个面上非常好的定义内外非常容易定义插值光栅化重要问题之怎么判断像素的中心点在三角形内?叉积的结果应该同号AliasingJaggies【锯齿】Moire【摩尔纹】Wagon Wheel Illusion。。。。出现走样的原因最根本的原因是 改变的频率过快而采样的频率低傅里叶:将时域中的信号转变为频域...

2024-03-20 21:52:00 219

原创 蓝图

什么是蓝图(blueprint)蓝图类型关卡蓝图:每个关卡只有一个蓝图类:多个【模块化】蓝图是内容的容器容纳组件保存脚本保存数据编译的面向对象可视化脚本语言绑定到UE现有的框架类层次结构中完全嵌入UE4中通过将节点和连接串在一起并立即查看结果来工作C++就是蓝图,蓝图就是C++关卡设计文字描述开门按下F开门全部开灯后进入22升降进入上层2中包含加速区...

2024-03-18 19:45:00 366

原创 二刷GAMES11 Transformation

齐次坐标引入齐次坐标是想把包含平移在内的变换写成一个矩阵乘以一个向量的形式。Homogenous Coordinates2D point \((x,y,1)^T\) 其实是\((x/w,y/w,w)^T\) w不等于02D vector \((x,y,0)^T\)2D Transformations缩放,Scale\[\mathbf{S}(s_x,s_y)=\begin{pma...

2024-03-05 19:44:00 761

原创 二刷GAMES101 线性代数

向量点乘的作用计算两个方法方向夹角计算两个方向是否接近关于两个方向的计算向量叉乘\[\vec{a}\times\vec{b}=\begin{pmatrix}y_az_b-y_bz_a\\z_ax_b-x_az_b\\x_ay_b-y_ax_b\end{pmatrix}\]\[\vec a\times\vec b=A^*b=\begin{pmatrix}0&-z_a&amp...

2024-03-02 15:06:00 135

原创 视觉惯性SLAM

IMU基本模型IMU信号本身带有误差,为了更好的在优化问题中使用IMU信号,一般需要建立IMU误差模型(IMU对实际运动的观测和实际的运动的值之间的误差)。其中,最常用的是将其误差模型简化为偏移和测量噪声两个部分。则,角速度和加速度的观测值一般被表示为:\[\tilde{\boldsymbol{\omega}}(t)=\boldsymbol{\omega}(t)+\mathbf{b}_g(...

2023-10-31 16:23:00 139

原创 kalibr相机标定和IMU标定

相机标定打印标定板和对应的aprilgrid.yamltarget_type: 'aprilgrid' #gridtypetagCols: 6 #number of apriltagstagRows: 6 #number of apriltagstagSize: 0.038 #size of apriltag,...

2023-10-26 21:04:00 341

原创 VINS-MONO Realsense d455运行记录

安装VINS-Mono创建工作空间mkdir -p ~/vins_mono_ws/src # 创建了第二层级的文件夹src,这是放ROS软件包的地方cd ~/vins_mono_ws/src # 进入工作空间,catkin_make必须在工作空间这个路径上执行catkin_init_workspace # 初始化src目录,生成的CMakeLists....

2023-10-26 15:32:00 209

原创 ORBSLAM2编译出现的问题

ORBSLAM也编译了好多次了,因为后来出现别的算法使用的opencv的版本不同,总会出现问题。因此记录一下。首先一定要注意OpenCV的版本,我这里使用的是3.4.16的版本,然后要和CmakeLists.txt里面的OpenCV对应起来。1 错误 ‘CV_LOAD_IMAGE_UNCHANGED’ was not declared in this scope119 | imLeft = ...

2023-03-01 16:58:00 600

原创 Ubntu安装OpenCV3.2

转载https://www.bbsmax.com/A/qVdeEmegdP/

2023-02-28 11:14:00 112

原创 Ubntu配置ohmyzsh

https://www.cnblogs.com/Ahtelek/p/Ubuntu-Configuration-Oh-My-Zsh.html

2022-11-20 10:34:00 125

原创 git

今天终于在师兄的 讲解下,清楚了一些git的用法。整理总结一下,省的忘记。可以认为分为四个区域:远程仓库、本地仓库、暂存区、工作区其中能看到的就是工作区常用命令git init // 初始化 在工作路径上创建主分支git clone 地址 // 克隆远程仓库git clone -b 分支名 地址 // 克隆分支的代码到本地git status // 查看状态git add 文件名...

2022-11-19 19:32:00 134

原创 联合概率 边缘概率 条件概率

联合概率联合概率指的是包含多个条件且所有条件同时成立的概率P(X=a,Y=b)或P(a,b)或P(ab)边缘概率仅与单个随机变量有关的概率称为边缘概率,也可以理解为是将某一项写开P(X=a)或P(Y=b)联合概率和边缘概率的关系\(P(X=a)=\Sigma_bP(X=a,Y=b)\\P(Y=b)=\Sigma_aP(X=a,Y=b)\)求和符号表示穷举所有Y(或X)所能取得b...

2022-11-17 19:38:00 667

原创 ORBSLAM3阅读笔记1 System

目录System构造函数TrackMonocular TrackRGBD TrackStereo保存位姿的一些函数主要参考:https://blog.csdn.net/qq_41861406/article/details/124657714System.cc这个文件主要是SLAM系统的初始化、跟踪线程的入口、地图的保存和加载以及轨迹的保存。System构造函数在主函数的调用:ORB_S...

2022-11-04 20:41:00 693

原创 线性代数知识补充

特征值特征值是指设是n阶方阵,如果存在数m和非零n维列向量x,使得\(Ax=mx\)成立,则称m是A的一个特征值(characteristic value)或本征值(eigenvalue)。非零n维列向量x称为矩阵A的属于(对应于)特征值m的特征向量或本征向量,简称A的特征向量或A的本征向量求n阶矩阵的特征值的基本方法:根据定义可改写为关系式\((A-\lambda E)x=0\),E为...

2022-11-03 09:26:00 178

原创 SLAM中的内外点

内外点之分最简单的说法就是是否符合当前位姿的判断:如果根据当前位姿,之前帧二维特征点所恢复出的地图点重投影到当前帧与实际的二维特征点匹配不上了,那么认为这个是质量差的点是outlier,抛弃掉,如果能匹配上,那就是inlier,保留。还有一种情况,根据地图点3D位置,当前帧位姿理论上看不到这个地图点,在相机视野之外,也认为这个地图点是当前帧的outlier。总之,outlier就是差得点,...

2022-11-01 16:31:00 124

原创 最大后验估计MAP

目录贝叶斯定理最大似然估计MLE最大后验估计MAP参考贝叶斯定理P(A)表示A发生的概率P(B)表示B发生的概率P(A|B)表示A在B条件下发生的概率P(B|A)表示B在A条件下发生的概率\[P(A|B)=\frac{P(B|A)\times P(A)}{P(B)}\]最大似然估计MLE最大似然估计是求估计的方法之一。简单来讲,极大似然估计就是给定模型,然后通过收集数据,求该模...

2022-10-31 12:04:00 357

原创 Sim3和Se3

SE(3)SE(3)是欧式变换。例如\[T=\begin{bmatrix} R & t \\ 0 & 1 \\ \end{bmatrix} \]欧式变换不改变物体的形状和长度,可以理解为就是把一个物体移到另一个位置Sim(3)Sim(3)是相似变换例如\[S=\begin{bmatrix} sR & t \\ 0 & 1 \\ \end{bmatr...

2022-10-29 19:39:00 235

原创 SLAM代码之单目建图

思路第一帧为参考帧对后面每一帧找到极限方向进行极线搜索找出NCC最高的高斯深度滤波计算不确定度高斯融合dense_mapping.cpp#include<iostream>#include<vector>#include<fstream>using namespace std;#include<boo...

2022-10-14 12:26:00 314

空空如也

空空如也

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

TA关注的人

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