自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (7)
  • 收藏
  • 关注

原创 动态规划算法使用特点与例题

动态规划动态规划题目的特点:计数-有多少种方式走到右下角-有多少方式选出k个数使得和是Sum求最大最小值-从左上角走到右下角路径的最大数字和-最长上升的子序列长度求存在性-取石子游戏,先手是否必胜-能不能选出k个数使得和是Sum例题:有三种硬币,分别面值2元,5元和7元,每种硬币都有足够多。若需要买一本书,如何用最少的硬币组合正好付清,不需要对方找钱?拼出x所需要的最少硬币数为:F[x]=min(F[x−2]+1,F[x−5]+1,f[x−7]+1)F[x]

2020-07-30 16:27:12 319

原创 基于CUDA的并行计算技术+opencv完成图像高斯滤波和双边滤波,开发版本为VS2019+openCV3.4

实验三-基于CUDA的并行计算技术及其应用CUDA基础知识GPU并不是一个独立运行的计算平台,而需要与CPU协同工作,可以看成是CPU的协处理器,因此当我们在说GPU并行计算时,其实是指的基于CPU+GPU的异构计算架构。在异构计算架构中,GPU与CPU通过PCIe总线连接在一起来协同工作,CPU所在位置称为为主机端(host),而GPU所在位置称为设备端(device),如下图所示。CUDA程序中既包含host程序,又包含device程序,它们分别在CPU和GPU上运行。同时,host与devic

2020-05-22 10:32:36 2530

原创 stl、obj、3DS三种3D模型加载,使用OpenGl+GLSL框架并添加双层纹理,并完成逐顶点光照和逐像素光照(GouraudShading+PhongS)

搭建自己的OpenGl+GLSL框架并添加第二张纹理前言在第一个实验中,我发现使用glut的一些不方便之处,同时意识到实验一中的不足,对**于OBJ文件并没有读取出其中的纹理信息,**因此,在查阅相关的文档后发现,GLFW代培GLAD是目前较为流行的方案,相对于glut来说,glad更新更流行,因此换用了次框架,同时使用了Assimp库。一个非常流行的模型导入库是Assimp,它是Open Asset Import Library(开放的资产导入库)的缩写。Assimp能够导入很多种不同的模型文件格式

2020-05-22 10:18:44 1838

原创 【isaacgym】isaacgym安装后提示gymtorch.cpp文件缺失问题

拷贝目录

2023-11-30 10:14:19 233 2

原创 读取Honolulu地形的txt文件,并为其添加上天空盒和模型反光效果

读取Honolulu地形的txt文件,并为其添加上天空盒和模型反光效果实现效果如下所示:Honolulu地形读取完成地形读取的思想路线:由于txt文本中的前两个是矩阵的行列值,因此我们读取地形矩阵的大小,之后按照对应位置遍历得到相应位置的高度,这样我们便能获取真个地形图。完成过程可以有一下几步:1.我们读取txt文件的信息。我们读取前两个获取地形矩阵的大小,然后我们使用vector方法将地形的高度值记录下来。这里我们用到了c++的ifstream类的方法,并且向右移位操作,当遇见空格的时候

2021-08-16 16:42:27 203

原创 opengl--圆锥和圆柱光照和纹理

圆锥和圆柱光照和纹理由于在圆锥的侧面中和底面圆中,重合的底面圆上的点的法向量是不同的,同时在纹理贴图时候,必有在同一个圆上位置,此处有两个顶点,其中一个的纹理索引是起始点,另一个是终点。若将底面圆类在实现时,等同于被分为m个线段,则圆锥总的顶底需要一个底面圆心+底面圆周的点+侧面扇形上顶点+等同于m的圆锥顶点。即共需要顶点(m+1)*3+1个。法向量和纹理:在圆锥中:顶点数组中,索引为1到m+1个的底面圆上的点、索引为0的底面圆心组成底面圆,法向量为垂直于圆平面单位向量。侧面上的法向量,例如对于索

2021-07-27 14:51:26 987 1

原创 使用python脚本自动验证校园网的网关

在研究院每次打开电脑都要用浏览器验证一下网关,感觉很麻烦,所以趁着空闲做了一个脚本,趁机学习python网络编程的知识。最后通过修改网上其他人的脚本(见参考文章),完成了自动验证。完成的过程中最重要的是设置自己的url和data,可以进入开发者模式查看完整的代码如下:import socketimport datetime,requests,base64import argparsedef arg_parse(): parser = argparse.ArgumentParser(

2021-07-21 23:14:09 377

原创 旋转矩阵到欧拉角的变换以及注意点(matlab的dcm2angle函数和网络常见的python函数对比分析)

欧拉角两种不同的定义方式外旋:在从一个坐标系旋转到另一个的过程中,以固定的最初的坐标系为依据,绕X、Y、Z三个轴的指向方向做旋转;**内旋:**在一个坐标系旋转到另一个过程中,例如旋转顺序为x-y-z,那么在最初绕x轴旋转后,Y、Z的轴发生变化,之后绕Y轴旋转时按照第一步旋转过后的Y’方向做旋转,以此类推, 完成Z轴的旋转。Tips:欧拉角表示的旋转方式必须要有对应的旋转顺序(如X-Y-Z、Y-X-Z等),不同的旋转顺序将导致不同的结果。计算过程验证通过维基百科的内旋表查看,不同的旋转方式也

2021-07-16 16:12:23 1366

原创 pytorch中gather函数的官方样例理解

在简书、csdn中的很多帖子中,都没有根据gather函数的官方解释进行理解的,很多同学们根据二维矩阵或三维矩阵的单例去理解后不具备通用性,这是因为不结合三维角度去解释是错误的。下边给出结合官方解释去理解gather函数的处理过程的思路。这里是官方文档的解释torch.gather(input, dim, index, out=None) → TensorGathers values along an axis specified by dim.For a 3-D tensor the outp

2021-04-07 17:03:56 328 5

原创 opengl画圆柱体、圆锥等并使用四元数旋转

opengl画圆锥和圆柱体具体资源欢迎下载:https://download.csdn.net/download/qq_32563773/13077923画圆锥如要画出想画的立方体,必须计算出来顶点数组对象,并且根据顶点定义的位置,简历索引关系,进而使用CreateGLResources函数完成绘画。第一步计算出顶点位置:我们可以将底面的圆看成是一条直线绕一个顶点旋转,这样旋转一定的角度后,另一个定点的位置即所要求的顶点坐标。若我们分的够多,即旋转角度设立的越小,越相似于圆形。(类似于古代割圆术的

2020-10-30 15:51:04 2802

原创 使用四元数完成控制三维物体旋转全过程(详解全流程)

使用四元数完成控制三维物体旋转全过程(详解全流程)在使用四元数的时候,查到晚上很多的文章要么是针对数学问题就行推导,要么就是胡乱复制粘贴乱写一起的文章,而没有详细解释在实践过程中,如何一步步完成计算的全部过程,对小白极度不友好。因此本人写出本文章,本文不讲数学原理,只专注于描述全部实现的过程,对数学感兴趣的可以自行百度,希望能够和大家沟通交流,同时减轻小白的理解压力。同时欢迎下载相应的资源:https://download.csdn.net/download/qq_32563773/13077923

2020-10-30 15:39:36 2757 1

原创 鼠标点击画出几何图(glad+glfw的方法进行opengl开发)

思路:点击窗口,获取窗口的位置后存储下来,以此完成所有点击点的信息。并在每一帧的渲染中渲染出全部的顶点,即可完成画三角形。在这里使用了如下两个函数,检测是否鼠标有移动或者点击动作:在鼠标点击后,在vector中添加顶点位置信息:同时,在glfwCursorPosCallback函数中,会得到当前帧鼠标的位置,但是鼠标位置需要计算在当前opengl窗口的位置,由于该函数会实时更新数据,因此可以在此函数中更新GPU中的缓存数据,完成实时显示的显示效果:最后设定好渲染器后,可显示画三角形:.

2020-10-30 15:03:42 1457 1

原创 画出koch snowflake(glad+glfw的方法进行opengl开发)

本文使用glad+glfw的方法进行opengl开发对于koch snowflake的画法有很多,我选择采用对三角形的线段进行划分的方法,取线段的中间1/3段,然后旋转60度得到第三个点的坐标,进而渲染出整个koch snowflake。计算原理:首先计算线段中的点的位置:根据两个点的坐标,乘以线段的比例位置,计算得到分割的点的坐标。根据两个坐标的点,计算第三个点的坐标,具体原理见上图.最后使用递归的方式得到所有的线段。glBufferData在把输出传到显存前,会先清空显存内容,只保留

2020-10-30 15:00:53 437

原创 疫情统计体温程序

初衷现在在学校每天都有三次体温要统计,但是核对每个同学们的体温再填表是非常辛苦的,因此简单写了个小程序,帮女朋友统计体温。原理在复制出微信的消息后,粘贴本地的txt文件中,保存下来的数据格式如下所示:观察发现,文本第一行为人名,并且跨行步长为3,可以读取全部名字。读取名字的同时可以在下一行的℃符号前,读取该同学的温度。自此,某同学的姓名和温度两个信息就获取到了。接下来使用python的openpyxl库,对excel表格中的名字读取,在匹配到了数据中的名字后,将温度填到对应位置的格子上,同时输出

2020-09-14 15:29:59 1759

原创 使用vs code作为unity脚本编辑器时命名空间无法引用(using UnityEngine出错)

使用vs code作为unity脚本编辑器时命名空间无法引用(using UnityEngine出错)在使用vscode时发现,using UnityEngine红线报错,紧接着就是一大推飘红。修改成VS2019就可以正常使用,怀疑是项目配置csproj文件出错,打开后发现是vscode引用了原项目的sln文件,由于unity版本和安装位置的不一致,所以相关的dll文件没找到导致的。解决方法1此时,我们可以选择配置相关的dll文件,找到自己安装unity的各个文件正确的位置,然后修改它的路径。但对

2020-09-14 11:59:42 9442 3

原创 Vzense的DCAM710深度相机使用

Vzense的DCAM710深度相机使用为了完成现实中人体和unity开发的虚拟世界实现联动,即现实中的人映射到虚拟环境中,以此实现人机交互。本人初始时希望选用kinect完成开发,但是由于采购问题,以及产品的便携性,最终转为选用tof相机完成本项目。在识别人体的关节点第一步,就是识别出人体的轮廓,以下为轮廓的识别效果:...

2020-08-25 20:21:00 1289 8

原创 递归详解及算法应用

本文来自B站郝斌老师的《数据结构》整理的来,若有侵权,欢迎私信我。课程来源:https://www.bilibili.com/video/av6159200?p=59递归定义:一个函数自己直接或间接调用自己递归满足三个条件递归必须得有一个明确的中止条件该函数所处理的数据规模必须在递减这个转化必须是可解的循环和递归递归易于理解速度慢存储空间大循环不易理解速度快存储空间小函数的调用:当在一个函数的运行期间调用另一个函数时,在运行被调函数之前,系统需要完成.

2020-08-25 19:58:59 172

原创 ++i和i++的区别详解

++i和i++有什么区别a = i++;a = i;i = i + 1;a = ++i;i = i + 1;a = i;i++和++i的 最重要的区别就是 +1和返回值顺序从效率上来说++i比i++来的更有效率,因为i++多声明了一个过渡的变量。如下所示:对于i++的实现是:int temp;temp = i;i = i+1;return temp;而++i的实现是:i = i+1;return i;比如printf("%d",i++);是先输出i值

2020-08-25 10:15:50 27275 6

原创 数据结构---堆栈的特点及C语言实践

堆栈定义:一种可以实现“先进后出”的存储结构分类:静态栈(基于数组)动态栈(基于链表)算法:压栈;出栈应用:函数调用;中断;表达式求值;内存分配;缓冲处理;迷宫C语言实现动态栈的创建、入栈、出栈、清除实例:# include <stdio.h># include <malloc.h># include <stdlib.h>typedef struct Node{ int data; struct Node* pN

2020-08-06 11:17:43 886

原创 形参和实参的特点和区别

形参和实参C语言函数的参数会出现在两个地方,分别是主函数处和自定义函数处。例如在main函数中声明的变量并使用它进行运算,此处的变量胃实参;在自写函数的传入参数中使用,此类参数只在本函数中有效,因此命名为形参。具体如下:形参(形式参数)新参在函数定义中出现的参数,可以看做是一个占位符、没有数据,只能等到函数被调用时接收传递进来的数据。实参(实际参数)主函数中声明并初始化时、或函数被调用时背传入的参数,它包含了有意义的数据,会被函数内部的代码使用。形参和实参的功能是传递数据,函数调用时实参的值

2020-08-06 09:34:13 1104

原创 链表的定义及概念(附c语言实现链表的初始化、长度计算、排序、插入、删除、显示的函数实现过程)

链表链表为离散存储的数据结构。由n个节点离散分配,彼此通过指针相连,每个节点只有一个前驱节点和后驱节点,首节点没有前驱节点,尾节点没有后驱节点。关键概念:首节点:第一个有效节点尾节点:最后一个有效节点头节点:第一个有效节点前的那个节点头节点不存放有效数据加头节点的目的主要是为了方便对链表的操作头指针:指向头节点的指针变量尾指针:指向尾节点的指针变量实现链表元素的插入和删除算法(伪代码):插入:r=p->pNext; p->pNex

2020-08-06 09:02:28 507

原创 c语言通过指针完成对数组的扩充、插值、删除、反转、排序等,实现java的ArrayList操作

c语言指针实现java的ArrayList操作在学习数据结构的同时进行实践,使用指针的方式对数组进行操作,最终完成java中类似ArrayList的操作方法。#include<stdio.h>#include <malloc.h>#include<stdlib.h>struct data{ int* pst; int lent; int cnt;};void ini_arr(struct data* pst,int length);bool i

2020-08-04 16:12:25 446

原创 数据结构预备知识---指针、指针与一维数组、指针与结构体

指针指针【int * p】表示int类型的,存放着地址的变量p。p表示一个地址,*p表示指向p地址的一个变量。例如:int main (void){ int i = 10; int j; int * p; p = &i;//使用i的地址为p初始化 j = *p; printf("i = %d\n j = %d \n *p = %d\n",i,j,*p); //输出为i = 10,j=10,*p=10 *p =

2020-08-03 21:16:41 167

原创 快速理解哈希表(散列表)另附leetcode两数之和题目解法

哈希表算法链表解决方式数组:寻址容易,插入和删除数组困难;链表:寻址困难,插入和删除数据容易;综合了两个的有点,哈希表使用了数组+链表(指针)的方式:开放地址线性探测法如果冲突,那么下标+1,知道找到空得位置。平方探测法如果冲突,那么下表+i平方。双哈希设置第二个哈希函数,如果冲突则使用这个函数,得到i,往后数i个位置。即新位置=原位置+i*hash2。例如:hash2(key)=R-(key mod R)保证R取值为比下标数组尺寸小的质数。注意事项哈希函数应该设置合理,使得

2020-07-28 17:47:40 193

原创 C++方式实现stl、obj、3DS三种3D模型加载,并实现Arcball方法控制旋转缩放平移(采用glut库等文件,具体可在项目文件中实现),开发软件为VS2019

获取建模得到的三维模型并解析STL****文件STL (STereoLithography, 立体光刻)是由3D Systems软件公司创立、原本用于立体光刻计算机辅助设计软件的文件格式。它有一些事后诸葛的字头语如“标准三角语言(Standard Triangle Language)”、“标准曲面细分语言(Standard Tessellation Language)”、“立体光刻语言(STereolithography Language)”和“(立体光刻曲面细分语言)”。许多套装软件支持这种格式,它.

2020-05-22 09:59:44 8978 15

kalibr_create_target_pdf

使用kalibr标定工具时,报错缺失此文件,将文件放在kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python 下即可

2021-09-03

opengl画圆柱体、圆锥、正方体等并使用四元数旋转

opengl画圆柱体、圆锥、正方体等并使用arcball+四元数旋转控制(vs2019+glut+glew实现)

2020-10-30

画出koch snowflake+鼠标点击画三角形(opengl实现)

画出koch snowflake+鼠标点击画三角形(opengl实现)vs2019版本+glad+glfw

2020-10-30

基于CUDA的并行计算技术+opencv完成图像高斯滤波和双边滤波

基于CUDA的并行计算技术+opencv完成图像高斯滤波和双边滤波,开发版本为VS2019+openCV3.4

2020-05-22

stl、obj、3DS三种3D模型加载,使用OpenGl+GLSL框架并添加双层纹理,并完成逐顶点光照和逐像素光照(GouraudShading+PhongS)

stl、obj、3DS三种3D模型加载,使用OpenGl+GLSL框架并添加双层纹理,并完成逐顶点光照和逐像素光照(GouraudShading+PhongS)

2020-05-22

maya-效果较好的狮子奔跑动画

maya-效果较好的狮子奔跑动画(带骨骼绑定+动画+纹理),项目文件条理清晰修改容易,适合初学maya人员

2020-05-22

stl_reader.h

读取STL文件:stl_reader是BSD许可的单头C ++库,提供将stl几何文件读入用户提供的容器的功能。将stl_reader集成到现有代码中应该很容易。除标准模板库外,它没有外部依赖性。

2020-03-26

空空如也

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

TA关注的人

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