自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【刘炼前瞻活动】精金百炼

至诚至性,剑由心发。浑金璞玉,百炼锋成。

2024-05-02 10:45:33 320

原创 【笔试】03

具体来说,透视投影通过将物体的每个顶点(或每个像素)从三维空间映射到二维平面,然后根据其在视点处的距离进行缩放,使得远处的物体映射得更小,近处的物体映射得更大,从而产生近大远小的视觉效果。在程序运行时,栈自底向上分别存放着先进入的数据,比如函数调用相关信息(如上下文寄存器的值、旧的栈指针值)、参数,然后是局部变量(栈帧(Stack Frame)的数据结构),最后是最近进入的数据,如返回地址等。在渲染三维场景时,对于每个像素,都会计算其在视野中的深度值(Z值),即该像素对应的物体距离观察者的距离。

2024-04-23 17:22:41 578 1

原创 【笔试】02

TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议它能够提供以下服务:不能提供的服务:指定大小赋值数组的大小必须足够大,以存储所有字符和末尾的\0。逐字符填充逐字符初始化时,必须包括字符串的结束符\0。如果你指定的大小大于实际初始化的字符数(包括必需的终止符\0),剩余的部分将自动用\0填充。二维数组也要注意/0unsigned int 范围int 在大多数系统上占用 4 个字节(32 位),其取值范围是从 -2147483648 到 2147483

2024-04-10 22:08:20 1027

原创 【UEC++】学习日志day1

虚幻4是一套为游戏开发者设计和构建游戏、模拟和可视化的集成工具。功能实时逼真渲染包含完整的C++源代码蓝图:创作,无需代码稳健的多人框架VFX与粒子系统电影级后期处理效果灵活的材质编辑器包罗万象的动画套件Sequence:专业动画专为VR、AR及MR而生地形与植被先进的人工智能学习途径虚幻引擎官方文档在线学习平台虚幻4公众号CSDN虚幻4官方论坛reddit论坛网https://www.reddit.com(科学上网)

2024-04-05 00:53:14 626

原创 【笔试】01

当前游戏可做任务列表列表中的每一项为一个长度为 3的 vector表示一个任务的 3 个属性:[消耗活力值,任务奖励,其依赖的前置任务序号(序号-1表示无依赖前置任务)]2)当一个格子中的炸弹爆炸时,其周围的8个格子(上,下,左,右,左上,左下,右上,右下)里如果有炸弹则会发生连锁反应一起爆炸。1)假如有A,B两个任务,如果要完成任务B必须先完成任务A,我们称A为B的 前置 任务, B为A的 后置 任务.1:[20,60,4]// 任务1,需要活力值20,完成任务可获得奖励60,依赖任务4。

2024-04-03 16:39:19 877

原创 【ROS】小车机器视觉巡线行驶

运行效果如下图所示,图像左边是通过cv_bridge将ROS图像转换成OpenCV图像数据之后的显示效果,使用OpenCV库在图像的左上角绘制了一个红色的圆;该例程中,一个ROS节点订阅摄像头驱动发布的图像消息,然后将其转换成OpenCV的图像格式进行显示,然后再将该OpenCV格式的图像转换成ROS图像消息进行发布并显示。USB摄像头是最普遍的摄像头,如笔记本内置的摄像头,在ROS中使用这类设备很简单,可以直接使用usb_cam功能包驱动,USB摄像头输出的是二维图像数据。报错:core dumped。

2024-01-09 15:03:52 1910 3

原创 【shell】shell脚本编程作业

编写bash脚本,可以从位置参数读取3个[10,20]之间的整数到变量a,b,c,,并且计算出(a+b)*c的值,当输入值不满足要求时,要给用户相应的错误提示(不在范围或者不是数值)。(提交源代码和运行截图)编写bash脚本,要求用户输入源目录和目标目录(绝对路径),然后列出源目录下所有的文件,并将这些文件拷贝到目标目录,并在文件名后面加上时间戳。(提交源代码和运行截图)

2023-11-30 22:51:13 116

原创 【力扣】哈希set

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。一开始以为这样就是两层循环复杂度n^2,但其实内层哈希索引时间复杂度O(1)解释:最长数字连续序列是 [1, 2, 3, 4]。输入:nums = [0,3,7,2,5,8,4,6,0,1]请你设计并实现时间复杂度为 O(n) 的算法解决此问题。输入:nums = [100,4,200,1,3,2]还要额外考虑nums为空或者一个元素的问题。迭代很容易出边界问题。

2023-11-27 18:52:09 98

原创 【Unity】Blender场景导入

不那么平滑的表面,在更宽的角度范围内反射光照(由于光照碰到微小表面的隆起),因此反射的细节更少,被表面以更散漫的方式所传播。平滑的表面有非常低的微表面细节,或者根本没有,所以光线以统一的方式反弹,形成清晰的反射。粗糙的表面在它微表面细节存在高峰和低谷,所以光线在宽的角度范围反弹——均匀后的输出形成了漫射的颜色,没有清晰的反射。材质球默认在prefeb文件中,我们选择所有材质球从预制件中提取至该目录下的新文件夹,此时可以看到预制件中材质球被绑定好了。一个材质的微表面细节理论在平滑度低、中、高时对比的示意图。

2023-11-26 23:49:25 538

原创 【Unity】模型导入和动画

打开Blender-编辑-偏好设置-插件-安装-选中.zip插件-勾选后选择右侧CATS-Import导入.pmx文件-Fix Model-Export。不开启rootmotion,如果动画本身是一个带位移的动作的话,人物会脱离胶囊体,进而没有碰撞,会产生穿墙的效果,并且动画播完后,人物会回到胶囊体的位置。1、当我们的动画是原地跑的时候,这时候使用Apply Rootmotion的时候,人物还是在原地跑,就不需要用了,需要代码手动控制人。动画控制用move = animatordeltaPosition;

2023-11-25 23:51:37 346

原创 【ROS】控制小车走矩形框

这里并不建议将我们自行编写的scout_control_demo1节点添加到scout_robot_base.launch文件中,但是我们可以新建一个新的launch文件。我们需要在scout_base功能包的src目录下新建一个名为scout_control_demo1.cpp的文件,然后在功能包下的CMakeLists.txt文件中加入对应内容以包含该文件。之后,我们就可以进入ugv_sdk/bulid文件夹下,运行对应的scout_mini_omni_demo。[4] 四元数转欧拉角。

2023-11-17 16:53:03 338

原创 【笔试】4399

自己总结,答案不一定对,代码也没验证。

2023-11-07 00:25:58 112

原创 【ROS】测试CANABLE硬件和CAN通信+连接基础节点

添加环境变量:source ./devel/setup.bash。打开两个窗口,分别添加环境变量,启动基础节点和键盘远程操作节点。报错是因为文件名不一致或者需要添加环境变量。都连接成功后可以用键盘控制小车移动。

2023-11-03 16:32:44 106

原创 SQL查询语言及实践(使用navicat工具)

双击数据库,右键表,导入xlsx文件。打开cmd,登录mysql。双击连接,右键新建数据库。

2023-10-29 23:39:22 26

原创 【Unity】10.20修复《黑白跳跃》2D平台跳跃游戏Bug篇

可能是使用蓝牙代码的特殊性,不清楚原因,该脚本不能使用Start,所以将获取audioController的代码放在蓝牙更新调用中。由于Instantiate实例化平板并设为隐藏,当产生随机位置平板时再改变平台位置并激活,但是此时不一定执行Start()或者已经执行完之前位置的Start()导致错误的的PosA,PosB位置。一开始以为是延时的问题导致音效播放不出来,但是加上延时函数,虽然延时出现结算页面了还是没有音效,并且分数也获取不到了。更改层级,提高Order in Layer的值。

2023-10-20 22:01:36 35

原创 【Unity】学习入门03

原文链接:https://blog.csdn.net/SerenaHaven/article/details/78976628。2、timeScale为1.0时,时间是正常速度。timeScale为0.5时,时间流逝速度会降为正常速度的一半。在AudioManager下添加Bgm和Sfx两个空物体,对这两个空物体添加组件Audio Source。5、修改timeScale时,推荐同时以相同比例修改Time.fixedDeltaTime。3、timeScale为0时,所有基于帧率的功能都将被暂停。

2023-10-18 22:58:21 22

原创 【ROS】catkin_make一系列报错和解决

如果安装了ASIO,您将看到有关软件包的信息,包括其版本和说明。如果没有安装,您会收到一条消息,说找不到包。要检查ASIO库是否已安装在Ubuntu系统上,可以使用dpkg包管理器。在include前那个目录更改CMakeList.txt,重复上述步骤安装缺少的东西。如果未安装ASIO,则可以使用软件包管理器进行安装。这将在您的系统上下载并安装ASIO库及其开发文件。在/src文件夹下载ugv_sdk。

2023-10-13 16:21:26 702

原创 【ROS】概念和安装配置

ROS设计者将ROS表述为“ROS = Plumbing + Tools + Capabilities + Ecosystem”,即ROS是通讯机制、工具软件包、机器人高层技能以及机器人生态系统的集合体。还提供了用于在多台计算机上获取,构建,编写和运行代码的工具和库,ROS在某些方面类似于“机器人框架”ROS集成了大量的工具,库,协议,提供类似OS所提供的功能,简化对机器人的控制。VMware虚拟机安装Ubuntu16.04.7。src目录下载scout_ros和ugv_sdk。4、下载ROS依赖包。

2023-10-13 16:20:23 62

原创 【Unity】安卓打包失败Exception in thread “main“ java.lang.UnsupportedClassVersionError

Java .lang. unsupportedclassversionerror: com/android/sdklib/tool/sdkmanager/SdkManagerCli已被最新版本的Java运行时(类文件版本61.0)编译,此版本的Java运行时仅识别类文件版本高达52.0。解决:在Android Studio设置里勾选8.0版本的SDK,重新在External Tools勾选-取消勾选,重启编辑器。错误原因大概就是SDK版本兼容什么的出了问题。

2023-10-12 23:09:23 1647

原创 【Unity】2D入门01

参考视频教程:https://www.bilibili.com/video/BV1rX4y1j7kN/?

2023-10-09 16:25:48 38

原创 【力扣】广度优先搜索BFS+N叉树

为了确认是否所有新鲜橘子都被腐烂,可以记录一个变量 cnt 表示当前网格中的新鲜橘子数,广度优先搜索的时候如果有新鲜橘子被腐烂,则 cnt-=1 ,最后搜索结束时如果 cnt 大于 0 ,说明有新鲜橘子没被腐烂,返回 −1 ,否则返回所有新鲜橘子被腐烂的时间的最大值即可,也可以在广度优先搜索的过程中把已腐烂的新鲜橘子的值由 1改为 2,最后看网格中是否由值为 1 即新鲜的橘子即可。返回 直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。

2023-09-25 17:02:46 18

原创 【代码随想录】【二叉树】基础知识和DFS的递归和迭代算法

int val;

2023-09-06 16:44:42 84

原创 【代码随想录】【二叉树】层序遍历BSP

在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在 O(1)时间内计算出当前二叉树的最大深度。给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。判断为叶子结点则结束遍历返回最小深度,广度优先搜索的性质保证了最先搜索到的叶子节点的深度一定最小。在单层遍历的时候记录一下本层的头部节点,然后在遍历的时候让前一个节点指向本节点。(即从左到右,逐层遍历)。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。

2023-09-06 11:20:28 22

原创 【代码随想录】【栈与队列】

在每一步操作中,我们根据当前元素的大小以及队列中已有的索引,选择移除不再需要的索引,以保持队列的递减有序性。使用队列作为滑动窗口。每次窗口移动的时候,调用que.pop(滑动窗口中移除元素的数值),que.push(滑动窗口添加元素的数值),然后que.front()就返回我们要的最大值。队列没有必要维护窗口里的所有元素,只需要维护有可能成为窗口里最大值的元素就可以了,同时保证队列里的元素数值是由大到小的。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。

2023-08-30 16:42:27 46

原创 【代码随想录】【字符串】

当然,我们在判断 s + s 拼接的字符串里是否出现一个s的的时候,要刨除 s + s 的首字符和尾字符,这样避免在s+s中搜索出原来的s,我们要搜索的是中间拼接出来的s。令n为文本串长度,m为模式串长度,因为在匹配的过程中,根据前缀表不断调整匹配的位置,可以看出匹配的过程是O(n),之前还要单独生成next数组,时间复杂度是O(m)。因为字符串s的最长相同前后缀的长度一定是不包含s本身,所以 最长相同前后缀长度必然是m * x,而且 n - m = 1,(这里如果不懂,看上面的推理)

2023-08-28 21:29:20 43

原创 【Unity】学习笔记02

5、游戏物体上增加组件(带加号)-可选择应用到预制体(不带加号)或 覆盖-应用所有。3、游戏物体-打开 或 双击预制体文件 可以改变界面单独修改预制体。2、改变预设体,游戏物体发生响应更改;但更改游戏物体不影响预制体。先执行的脚本功能放awake,后执行的放start;图层:可以用来做碰撞判断,设置摄像机拍摄范围。1、将设计好的游戏物体拖到项目处(变蓝)组件激活后调用,在awake后调用一次。编辑-项目设置-时间-固定时间步进。4、游戏物体-选择 跳转到预制文件。编辑-项目设置-脚本执行顺序。

2023-08-25 17:11:37 31

原创 【代码随想录】【哈希表】数组结构2

四数之和的双指针解法是两层for循环nums[k] + nums[i]为确定值,依然是循环内有left和right下标作为双指针,找出nums[k] + nums[i] + nums[left] + nums[right] == target的情况,三数之和的时间复杂度是O(n。接下来如何移动left 和right呢, 如果nums[i] + nums[left] + nums[right] > 0 就说明 此时三数之和大了,因为数组是排序后了,所以right下标就应该向左移动,这样才能让三数之和小一些。

2023-08-25 17:09:08 38 1

原创 【代码随想录】【哈希表】map结构

3、在遍历数组的时候,只需要向map去查询是否有和目前遍历元素匹配的数值,如果有,就找到的匹配对,如果没有,就把目前遍历的元素放进map中,因为map存放的就是我们访问过的元素。给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。遍历大A和大B数组,统计两个数组元素之和,和出现的次数,放到map中。

2023-08-24 23:48:36 41 1

原创 【代码随想录】【哈希表】set结构

如果哈希值比较少、特别分散、跨度非常大,使用数组就造成空间的极大浪费。c++ stl容器set成员函数:begin()–返回指向第一个元素的迭代器c++ stl容器set成员函数:clear()–清除所有元素c++ stl容器set成员函数:count()–返回某个值元素的个数c++ stl容器set成员函数:empty()–如果集合为空,返回truec++ stl容器set成员函数:end()–返回指向最后一个元素的迭代器。

2023-08-12 21:48:26 88 1

原创 【代码随想录】【哈希表】字母异位词(数组结构)

由于字符串只包含 26 个小写字母,因此我们可以维护一个长度为 26 的频次数组,初始化为0,先遍历记录 s 中字符出现的频次,再遍历 t 数组减去数组中对应数组出现的频次,若数组中某个字符频次小于0,则 t 包含不在 s 中的字符,返回false。由于互为字母异位词的两个字符串包含的字母相同,因此两个字符串中的相同字母出现的次数一定是相同的,故可以将每个字母出现的次数使用字符串表示,作为哈希表的键。给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。

2023-08-10 17:15:17 168 1

原创 【代码随想录】【链表】链表相交+环形链表

如果当前节点在哈希集合中,则后面的节点都在哈希集合中,即从当前节点开始的所有节点都在两个链表的相交部分,因此在链表 headB\textit{headB}headB 中遍历到的第一个在哈希集合中的节点就是两个链表相交的节点,返回该节点。相遇时: slow指针走过的节点数为: x + y, fast指针走过的节点数:x + y + n (y + z),n为fast指针在环内走了n圈才遇到slow指针, (y+z)为 一圈内节点的个数A。给定一个链表的头节点 head ,返回链表开始入环的第一个节点。

2023-08-07 23:21:27 46 1

原创 【代码随想录】【链表】交换节点+删除倒数节点

双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。遍历链表,每次处理三个节点间的指向变换。

2023-07-29 15:08:03 30

原创 【代码随想录】【链表】反转链表(全局和局部)

请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表。:永远指向 curr 的下一个节点,即待头插的节点。考虑从left为头结点的情况,要使用前一节点的next指针,所以一般情况下必须定义一个虚拟头结点。:指向待反转区域的第一个节点,也是待头插的节点的前一个节点,也是反转完毕后的最后一个节点;:永远指向待反转区域的第一个节点的前一个节点,用于连接新的头插结点,在循环过程中不变。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。改变链表的next指针的指向。

2023-07-28 14:06:57 51 1

原创 【Unity】学习笔记01

子物体可以随意更改位置,父物体更改位置会跟子物体一同移动。窗口-资源商店-添加至我的资源-下载-导入-直接使用prefeb文件。中心点扩展出来的坐标轴是否与世界坐标系方向一致。四边形和平面区别在于网格三角形面片多少的区别。新建-材质-修改-可以直接拖拽到物体上。点住滚轮移动场景(或右键+wsad)T:矩形工具,一般用于2DUI界面。选择不同的着色器(shader)左手坐标系(z轴朝向屏幕内部)3D对象-地形Terrain。左键选择物体或框选多个物体。最下面:编辑边界碰撞体积。Y:组合了WER的工具。

2023-07-28 00:04:01 32 1

原创 【代码随想录】【链表】设计链表

单链表中的节点应该具备两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果是双向链表,则还需要属性 prev 以指示链表中的上一个节点。假设链表中的所有节点下标从 0 开始。你可以选择使用单链表或者双链表,设计并实现自己的链表。重点是设置一个虚拟头结点再进行操作。

2023-07-27 13:03:33 36 1

原创 【代码随想录】【链表】理论基础+移除链表

/ 单链表int val;// 节点上存储的元素// 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的构造函数如果不定义构造函数,初始化时不能直接赋值。

2023-07-26 20:05:19 28 1

原创 【代码随想录】【数组】螺旋矩阵

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix。给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。注意会导致奇数n最后一个单独的位置构成的行要单独赋值。1.每次填充一个拐点和一行或一列(不包括下个拐点)坚持循环不变量原则。2、每次填充完一整行。

2023-07-25 23:54:16 35

原创 【代码随想录】【数组】滑动窗口

双指针和滑动窗口是有些许区别的。滑动窗口就是右指针先出发,左指针视情况追赶右指针。因此,右指针最多遍历一遍数组,左指针也最多遍历一次数组,时间复杂度不超过O(2N)。最小滑窗模板(如76,209):给定数组 nums,定义滑窗的左右边界 i, j,求满足某个条件的滑窗的最小长度。判断[i, j]是否满足条件while 满足条件:不断更新结果(注意在while内更新!i += 1 (最大程度的压缩i,使得滑窗尽可能的小)j += 1。

2023-07-24 00:28:09 141

原创 【代码随想录】【数组】移除元素

给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。同样地,我们可以使用两个指针分别指向位置 000 和 n−1n-1n−1,每次比较两个指针对应的数,选择较大的那个逆序放入答案并移动指针。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。元素的顺序可以改变。

2023-07-01 19:04:22 65

原创 【代码随想录】【数组】二分查找

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n)的算法解决此问题。

2023-05-10 17:27:36 88

空空如也

空空如也

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

TA关注的人

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