- 博客(23)
- 收藏
- 关注
原创 视觉slam十四讲第三方库配置过程遇到的问题及解决过程
3)修改ceres中查找eigen库的cmake模块,在ceres-solver/cmake文件夹下找到FindEigen.cmake文本文件。安装了最新的Sophus库(d0b7315),此时的Sophus使用了模板,需要用到fmt库,而原教程缺少fmt库,因此在make过程会报错。cmake版本低于CMakeLists.txt里的最低版本要求,最低版本要求为3.24.0,而本人使用的版本为3.22.1。2)从官网下载高于3.24.0版本的cmake,如3.25.0。出现的原因可能是ceres版本过新。
2024-07-14 14:37:06 1014
原创 统计学习方法笔记(四):决策树
1)模型描述:分类决策树模型是一种描述对实例进行分类的树形结构.决策树由结点(node)和有向边(directed edge)组成.结点有两种类型:内部结点(internal node)和叶结点(leaf node).内部结点表示一个特征或属性,叶结点表示一个类.2)学习过程:用决策树分类,从根结点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子结点;这时,每一个子结点对应着该特征的一个取值.如此递归地对实例进行测试并分配,直至达到叶结点.最后将实例分到叶结点的类中。
2024-02-17 18:04:08 612
原创 dx11基础API复习(1)
const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs, // [In]输入布局描述UINT NumElements, // [In]上述数组元素个数const void *pShaderBytecodeWithInputSignature, // [In]顶点着色器字节码SIZE_T BytecodeLength, // [In]顶点着色器字节码长度// [Out]获取的输入布局// [In]输入布局i.
2024-02-14 19:04:20 752
原创 Unity的ML-agent训练教程(附环境配置流程)
1)创建虚拟环境接下来提过指令激活虚拟环境Unity2)在虚拟环境内配置需要用的库在GitHub上下载unity官方的ml-agent包仓库,下载到位置在anaconda prompt通过依次输入指令导入库文件一般会因为网速问题导致报错超时,可将指令改为如下形式或等待提示导入完成后输入指令若出现提示文本,则环境配置成功。
2024-02-13 22:18:32 3655 4
原创 统计学习方法笔记(三):朴素贝叶斯法
对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入 x ,利用贝叶斯定理求出后验概率最大的输出 y为方便描述,进行以下设定:设训练数据集为Tx1y1x2y2xNyNT{(x1y1x2y2...xNyN)}输入为特征向量x,输出为类标记ci,满足以下关系x∈χ⊆RnΓc1c2cKi12Kx∈χ⊆RnΓc1。
2024-02-13 21:53:37 2041 4
原创 统计学习方法笔记(二):k近邻法
k 近邻法的输入为实例的特征向量,对应于特征空间的点;输出为实例的类别,可以取多类. k 近邻法假设给定一个训练数据集,其中的实例类别已定.分类时,对新的实例,根据其 k 个最近邻的训练实例的类别,通过多数表决等方式进行预测。
2024-02-13 21:50:33 1624 1
原创 统计学习方法笔记(一):感知机
定义:在几何中,超平面指的是比所处空间少一个维度的子空间。简单解释:0维的点可以把1维的线分成两部分,1维的线可以把2维的面分成两部分,2维的面可以把3维的体分成两部分,n-1维的子空间可以把n维空间分成两部分,超平面就是这个n-1维子空间,它就像3维空间中的平面,可以用来分割n维空间。
2024-02-13 21:46:57 930 1
原创 C#反射学习笔记
1)概述反射是一种在运行时检查、访问和修改程序集、类型、成员和对象的能力。它允许程序在运行时动态地获取类型信息、调用方法、访问属性和字段,以及创建对象实例,而无需在编译时明确知道这些信息。使用反射,你可以在运行时获取程序集中的类型信息,包括类、接口、结构体、枚举等。你可以检查类型的成员,如方法、属性、字段和事件,并通过反射调用它们。2)应用i.通过反射我们可以很方便地获取任意类中的信息,如类中的字段、方法等。
2023-08-17 17:32:04 98 1
原创 FFT海浪模拟——理论部分(二)
Xk∑n0N−1xne−j2πkNn0≤k≤N−1Xkn0∑N−1xne−jN2πkn0≤k≤N−1为简化表达,令WNe−j2πNWNe−jN2π则定义式可化为Xk∑n0N−1xnWNknXkn0∑N−1xnWNkn。
2023-08-05 16:00:37 171 1
原创 FFT海浪模拟——理论部分整理(一)
自变量为x的函数f(x)可看作一个随空间变化的信号(空域信号),只要满足一定条件,它就可以表示为一堆不同频率的随空间变化的正弦信号(空域正弦信号)的线性组合(或积分)
2023-08-05 15:55:43 328 1
原创 虎书学习笔记-数字信号处理(一)
数字信号处理分为两个过程:1)采样(sampling):数码设备通过模拟-数码转换器通过捕获特定形式的物理信息,将其转换为数字存储到设备中,作为采样数据。2)重建(reconstruction):数码设备将存储的采样数据通过数码-模拟转换器将数字转换为捕获的物理信息,以物理信息原本的形式“播放”。
2023-06-29 21:40:57 270
原创 图形学学习笔记-着色(Shading)
在Games101中是这样解释的:也就是说,Shading在计算机图形学中,指的是将,因此Shading就是“”的意思。接下来,将介绍一些基础的着色模型。
2023-06-19 21:47:37 447
原创 Games101学习笔记--变换(二)
摄像机位置(position)摄像机注视方向(gaze direction)与摄像机注视方向垂直的上方向(up direction)三个量均使用向量来描述。
2023-06-09 20:23:25 95
原创 DX11鼠标拾取的实现和鼠标操作放置,销毁方块
下面是射线类(Ray)的定义,这里我们用到了ScreenToRay方法来将鼠标的屏幕坐标转换为一条射线,并在射线检测时使用Hit方法判断射线是否与物体的包围盒相交。首先我们需要获取鼠标输入,并且要能够生成射线,使用基于射线检测的方法来实现鼠标拾取,注:鼠标拾取代码写在GameApp::UpdateScene函数中。这里我采取的方式是通过修改m_Cube数组使得在调用GameApp::DrawScene函数时,函数内部的Draw函数不会绘制销毁的方块。现在就可以补充鼠标拾取生成的方块的代码了。
2023-06-04 21:43:34 252 1
原创 在教程项目22添加obj模型文件遇到的问题与解决方式
在仿照教程项目19添加模型文件时,编译通过,但是运行时报错了添加的代码如下:首先在GameApp::InitResource方法中添加了如下代码再在GameApp::DrawScene中添加如下:点击运行后出现错误提示:不可以使用解引用终止列表迭代器原因:我理解的原因是可能是因为教程项目22中的BasicEffect类中的SetMaterial方法比教程项目19多了获取物体材质反射效果参数(reflect)的语句,而导入的模型没有反射效果的参数,导致赋值无效,在释放内存时出现了问题。(如果不是还请指正
2023-04-22 22:14:17 175
原创 DX11实现四棱锥的缩放和平移
在文章https://blog.csdn.net/hnbxs/article/details/129786077中,我已经配置好了键鼠的一些基本操作,本文我将继续说明如何用键鼠实现四棱锥的移动和缩放功能。
2023-04-04 15:19:55 105
原创 在DX11项目中初始化imgui
首先生成imgui的库文件,可以在imgui官网下载相应的文件,然后找到头文件和源文件的位置。打开vs新建一个空项目,这里我将项目命名为ImGui。
2023-04-02 21:33:20 1008
原创 DX11绘制四棱锥并用键鼠对四棱锥进行旋转操作
首先将四棱锥顶点设置如下:按照左手坐标系,各索引对应的顶点为:索引0:(-1,-1,-1)索引1:(0,1,0)索引2:(1,-1,-1)索引3:(-1,-1,1)索引4:(1,-1,1)最后修改DrawIndexed函数的参数,就可以显示一个四棱锥了。
2023-03-27 10:42:05 245
原创 DX11用不同的图元类型渲染一个矩形
图元类型含义按一系列点进行装配按一系列线段进行装配,每相邻两个顶点(或索引数组相邻的两个索引对应的顶点)构成一条线段按一系列线段进行装配,每两个顶点(或索引数组每两个索引对应的顶点)构成一条线段按一系列三角形进行装配,每相邻三个顶点(或索引数组相邻的三个索引对应的顶点)构成一个三角形按一系列三角形进行装配,每三个顶点(或索引数组每三个索引对应的顶点)构成一个三角形每4个顶点为一组,只绘制第2个顶点与第3个顶点的连线(或索引数组每4个索引为一组,只绘制索引模4余数为2和3的连线)
2023-03-24 22:51:23 292 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人