自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Alfeim的博客

一只烤鱼的博客

  • 博客(16)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 游戏开发-利用射线交点实现镜头延迟跟随

在一些多人竞技手游中,以荒野乱斗为代表,其镜头视角具有“延迟跟随”的性质,即玩家控制角色在屏幕可视范围的一定空间内移动时,镜头保持静止。而当玩家移动具有“超出镜头范围”的趋势时,镜头将相应地沿着玩家方向偏移,实现延迟跟随的效果。实时跟随实时跟随是一种常见的镜头跟随方式,比如典型的第一人称视角游戏,或是一些第三人称视角游戏中,镜头与玩家角色间的位置保持相对静止。这种跟随模式实现非常简单,一种手段是:在帧更新时,镜头本身在世界坐标系内保持与玩家一直的移动向量。在Unity中,可以直接将镜头作为子

2021-07-03 21:11:47 405

原创 阻塞、非阻塞、同步、异步与I/O编程

在涉及到网络编程方面时,似乎总会接触到这些概念:阻塞式I/O,非阻塞式I/O,I/O复用,信号驱动式I/O,异步式I/O;他们之间的差异往往容易被混淆,因此也很有必要从本质上认清这些概念.阻塞与非阻塞阻塞与非阻塞是相对的,通俗而言二者的区分主要在于“在接收到有效数据前是否返回”。通常而言,一个输入操作主要包含两步:(1)等待数据就绪(2)从内核空间拷贝数据到用户空间,如果采用阻塞的方式...

2019-07-26 14:50:32 164

原创 浅谈回文串问题

回文串问题是字符串类型的题目中常见的一类。在绝大多数情况下,但凡涉及字符串问题都对“暴力算法”以及dfs等形式不太友好,常见的解决思路有动态规划,而除此之外,利用自动匹配机的性质,大牛们又发明了巧妙而高效的算法。本文在涉及“回文串类型问题”的解法之上,主要罗列一些常见的解决思路。最粗暴的解法:暴力法O(N^3)首先,可能大多数人都会想到利用回文串的性质,即S = reverse(S)...

2019-07-04 17:27:32 1447

原创 浅谈动态规划问题的优化

动态规划(Dynamic programming)是一种常见而具备很大开发潜力的算法,若要追奔朔源,所谓的动态规划其实就是“借助表格”来记录过去的“状态”,以减小探索未来状态过程中不必要的重复求解步骤(实际上programming在这里就是指表格,而不是编程...).至于该在什么时候用动态规划,这里推荐LeetCode123. 买卖股票的最佳时机 III的题解 “一个通用方法团灭 6 道股票问...

2019-07-03 15:14:30 848

原创 [数据结构与编程]-链表

链表(List)在计算机编程中,是一种常见且十分重要的数据结构。相比数组等连续式内存布局,链表在内存空间中的布局是离散的,通过指针来进行索引,因此具有更强的灵活性。在对程序员能力的考查中,链表也是数据结构方面的重点内容之一,这种数据结构相对简单,具有很好的逻辑性,只需要掌握其本质,那么,基本上大多涉及链表的Problem都能够迎刃而解。一、链表的空间布局若要细分,链表的种类大致可以分...

2019-07-02 14:49:55 212

原创 [回溯与约束编程] : N-皇后问题 与 填数独 等问题的通用解法

一、问题描述在刷LeetCode的时候,有时候会遇到一些"约束条件"的问题,比如填数独:其约束条件正如题中的1、2、3点所示,作为一道难度为hard的题目,乍一看好像没有思绪-------在空的位置应该填什么?比如上图中第一个九宫格中3的右侧,其所在的列已经有8,所在的行已经有3,5,7,也就是说,还剩下1、2、4、6、9可以填,那么到底填多少?如果填了1,能保证后序的空格满足约束...

2019-06-29 14:51:41 451

原创 [算法导论笔记]--字符串匹配与KMP算法

字符串匹配的形式化定义:假设文本是一个长度为n的数组T[1,2…n],而模式是一个长度为m的数组P[1,2…m],其中m<=n,进一步假设P和T的元素都来自一个有限的字母集Σ的字符,例如Σ={0,1}或者Σ={a,b…z},字符数组P和T通常称为字符串。如下图所示,如果0<=s<=n-m,并且T[s+1…s+m]=P[1…m],那么称模式P在文本T中出现,并且偏移为s。如果P...

2019-05-14 11:05:07 434

原创 [算法导论笔记]--所有结点对的最短路径问题

本文所贴示的伪代码均来源《算法导论》,本文只是对其中《所有结点对的最短路径问题》章节的简单总结,许多数学证明过程已忽略。对于给定有向图G=(V,E)理论上,我们可以使用|V|次单源最短路径算法来解决所有结点对之间的最短路径问。但除此之外,我们可以利用动态规划来解决此问题(因为一条最短路径的子结构也包含了最短路径).一、基础解法最短路径的结构:对于有向图G=(V,E)的所有结点对的最...

2019-05-10 13:09:05 2075

原创 深度探索C++对象模型笔记 [3] 函数语意学

本文主要参考Stanley B.Lippman所著《Inside the C++ Object Model》,侯捷译。一、函数成员的各自调用方式Nonstatic Member Functions(非静态成员函数):C++的设计准则之一是,nonstatic member function至少必须和一般的nonmember function有相同的效率。实际上,为此,member func...

2019-05-09 16:41:35 161

原创 [算法导论笔记]--单源最短路径

本文所贴示的伪代码均来源《算法导论》,本文只是对其中《单源最短路径》章节的简单总结,许多数学证明过程已忽略。前言最短路径的定义:给定一个图G=(V,E),希望找到从给定源节点s∈V 到每个结点v∈V 的最短路径。单源最短路径可以用来解决许多其他问题,包括:1、单目的地最短路径问题:找到从每个结点v到给定目的结点t的最短路径,如果将图的每条边的方向翻转过来,就可以将这个问题转换为单源...

2019-05-09 13:23:21 1217

原创 深度探索C++对象模型笔记 [2] 数据(Data)语意学

本文主要参考Stanley B.Lippman所著《Inside the C++ Object Model》,侯捷译。前言一个表面看上去是空的类,其实并不是空的!因为编译器为它安插了一个隐藏的char,这样使得这个类被实例化后,每个对象都有独一无二的地址(即这个char的地址)。一个class的data members,一般而言,可以表现出class在程序执行时的某种状态。Nonsta...

2019-05-08 20:16:16 322

原创 [算法导论笔记]--最小生成树

最小生成树的定义假定有一个连通无向图,其中是节点集合,表示节点间的边的集合,对于每条边,具有权重.这里希望找到一个无环子集,既能够将所有节点连接起来,又具有最小的权重和。我们就称之为一个最小生成树。解决最小生成树问题的算法,常见的为Kruskal算法和Prim算法。如果使用普通的二叉堆,那么可以很容易地把这两个算法的时间复杂度限制在O(ElogV)数量级内。但是如果使用斐波那契堆,则Pri...

2019-05-08 16:22:28 655

原创 深度探索C++对象模型笔记 [1] 关于对象

本文主要基于Stanley.B.Lippman的《Inside the C++ Object Model》(侯捷译)而做的一些归纳(文字大多按照译文,进行了适当精简)前言在C中,“数据”和“处理数据的操作(函数)”是分开声明的,也就是说,语言本身并没有支持“数据和函数之间”的关联性。这种程序写法称作“程序性的(procedural)”,即所谓面向过程。 抽象数据...

2019-05-07 17:01:32 357

原创 [算法导论笔记]--红黑树

一.什么是红黑树红黑树是一棵二叉搜索树,其在每个结点上增加了一个存储位来表示颜色,可以是红(red)或者黑(black)。通过任何一条从"根到叶子的简单路径"上的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2倍,因而是近似于平衡的。红黑树是一种平衡二叉树。红黑树的基本性质(1)每个结点要么是红色的,要么是黑色的(废话..)(2)根结点是黑色的(3)叶子结点是黑色的(也可...

2019-04-27 19:50:41 215

原创 [算法导论笔记]--二叉搜索树

定义所谓二叉树。字如其名,就是这样的一棵树。对于任何结点,它最多只能有两个孩子。我们称作left和right.对于每个结点而言,其内部存储三个指针,分别指向parent(后文以p代替)、left child、right child.如下所示,即为二叉树的基本单元一棵二叉搜索树具有的性质是,对于任意节点x,其left child和right child满足以下关系 (a)...

2019-04-26 17:15:25 328

原创 利用CRONTAB自动定时执行任务(ARM-LINUX)

本人的项目中,应为系统的需要,需要在嵌入式环境下,实现开机自启动定时运行脚本/程序,以实现自动化。一开始是利用while 循环与 sleep 实现定时执行命令,而在了解到crond这一机制后,发现自己的嵌入式平台所搭载的Angstrom系统中也支持crontab功能,于是对其进行探究。首先,关于什么是crontab?crond是linux下用来周期性的执行某种任务或等待处理某些

2018-01-09 16:29:33 2362

Novatel板卡原始dat数据及转换后Rinex格式数据文件

包含了原始观测数据、GPS导航信息以及北斗信息。Rinex格式为3.02版本。

2017-11-23

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

TA关注的人

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