自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

oRbIt 的专栏

从明天起,做一个幸福的人,喂马、劈柴、周游世界。。。

原创 TabSiPlus 终于更新了

就在几分钟前,我更新了 TabSiPlus,是的,距离最近一次更新已经过去 7 年了,小伙伴们是不是觉得有种诈尸的感觉? 这次更新的内容之一是完善了从别的编辑器学来的 power mode 模式,解决了闪烁的问题。当然,最主要的是支持Source Insight 4了。Source Insigh...

2019-08-25 16:16:54 551 0

原创 移植 lwip,在 windows 内核构建一个 TCPIP 协议栈

移植 lwip,在 windows 内核构建一个 TCPIP 协议栈 亲,当你点开看这篇文章,就说明你知道我想要干什么事情,或者说,你知道在 Windows 的内核种绕开它的网络协议,再独立构建一个网络协议栈的意义。如果你要问我有 windows 系统的网络协议栈不用,移植 lwip 有什么意义...

2019-04-07 17:30:51 1098 3

原创 把《算法的乐趣》随书源码放在GitHub上了

最近发现某源代码付费的网站上还有人摆出了本书的随书代码,本来是免费发布的东西,却有人想凭这个发点小财。还有就是总有人问这书的源代码在哪里,可是书的《前言》明明就有下载的链接啊,读者可以到图灵社区下载本书的随书源码。 后来我终于知道原因了,原来网上有本书的电子版下载,只是这个电子版去掉了前言部分,...

2018-11-28 23:01:35 3568 14

原创 关于输入法,想说点什么了

输入法几乎是装机必备的软件,和浏览器一样,当年也是一片混战,不过能笑到最后的就那几个。输入法而已,又不能展示广告,而其都是免费的,有啥搞头?其实,这里面猫腻还是很多的,因为输入法模块可以用合法方式注入到任何用户进程中,而且是Windows系统许可的方式,用户的进程有什么权限,输入法就能得到什么权限...

2017-12-27 22:49:17 2121 0

原创 TabSiPlus开源代码如何使用

先回答几个问题1、为什么不出64位版本的TabSiPlus?有一些朋友问我,现在很多人都用64位的操作系统了,TabSiPlus什么时候出64位的外挂版本?这里统一回答一下,目前没有出64位外挂的计划,因为没有必要。目前最新的Source Insight仍然只支持32位版本,TabSiPlus也只...

2016-04-21 21:02:16 7535 4

原创 关于《算法的乐趣》历法一章演示程序错误的说明

最近有网友在微博上向我反映,《算法的乐趣》随书的例子代码中关于农历历法的演示程序出了BUG,并截了图给我,我开始以为是算法中的某些部分不兼容64位系统,后来发现在32位系统上一样有问题,什么问题呢?先看看截图:看到了吧,“三十月大”,走查代码,发现是处理农历闰月的时候重拍月序关系,导致越界访问了。...

2016-04-13 00:37:13 6426 9

原创 TabSiPlus 发布到 Github了

TabSiPlus 发布到 Github了代码在这里:https://github.com/inte2000/TabSiPlus.git有任何感觉不爽的地方都可以自己动手了,想要Frok这个项目的,清关注随后发布的todo列表,或者提交bug修改的patch,我审核通过了就可以成为开发成员了。

2015-10-31 22:46:25 12587 0

原创 关于《算法的乐趣》傅立叶变换一章的补充

一些热心读者反馈在介绍快速傅立叶变换(FFT)部分的描述和代码不一致,比如某位读者反馈前面正文介绍的是DIT-FFT,但是给出的代码实现确是DIF-FFT,让人困惑,本文准备补充一下相关的内容。DIT-FFT和DIF-FFT,一个是按时间抽取计算(Decimation-In-Time),一个是按频...

2015-09-09 14:06:19 6555 2

原创 研究了一下CSDN 私信的排序,我也是醉了

一直感觉CSDN的通知和私信总是看起来怪怪的,主页提示有私信,打开却看不到,有时候向后翻几页有能看到。今天又遇到这种情况了,于是研究可以下,刚开始还是没找到规律,知道看到“3天前”的消息排在最后一个“3年前”的消息之后,突然就明白了,于是翻到最开始,发现“11个月前”排在第一个,紧跟着是“1年前”...

2015-05-18 23:04:21 7829 13

原创 算法系列之二十四:离散傅立叶变换之音频播放与均衡器

导语 在算法系列的第二十二篇,我们介绍了离散傅立叶变换算法的实现,将时域的音频信号转换到频域进行分析,获取拨号音频的频率特征。这一篇我们将介绍一种频域均衡器的实现方法,所谓的频域均衡器,就是在频域信号的基础上对音频数据进行调整,然后再将频域信号转换成时域信号在回放设备上播放,从而达到音色调节的...

2015-05-04 20:06:37 18784 9

原创 《算法的乐趣》终于出版了

经过一年多的编写和准备,《算法的乐趣》终于出版了,4月中旬开始可以在京东、当当等网店购买,实体书店上架可能会慢一点。感谢图灵社区的各位老师的辛勤耕耘,也感谢《啊哈!算法》作者纪磊先生(啊哈磊),LinkedIn高级主任分析师王益先生,极光推送首席科学家黄鑫先生(飞林沙)为本书热情作序并给予充分的肯...

2015-04-22 23:23:33 17368 34

原创 算法系列之二十三:离散傅立叶变换之音频播放与频谱显示

算法系列之二十三:离散傅立叶变换之音频播放与频谱显示算法系列之二十三离散傅立叶变换之音频播放与频谱显示 导语 什么是频谱 1 频谱的原理 2 频谱的选择 3 频谱的计算 显示动态频谱 1 实现方法 2 杂项说明 结果展示 导语 频谱和均衡器,几乎是媒体播放程序的必备物件,没有这两个功能的媒体播...

2015-03-29 22:12:56 7763 3

原创 算法系列之二十三:离散傅立叶变换之音频播放与频谱显示

频谱和均衡器,几乎是媒体播放程序的必备物件,没有这两个功能的媒体播放程序会被认为不够专业,现在主流的播放器都具备这两个功能,foobar 2000的十八段均衡器就曾经让很多人着迷。我用Winamp播放音乐(AOL已经在2013年12月20日停止了Winamp的支持),最早吸引我的原因就是播放界面上...

2015-03-17 21:59:39 15299 5

原创 递归和Windows系统的栈保护

对于使用默认栈空间大小的线程来说,调用算法系列文章第7篇提到的递归版本的IsEvenNumber()函数时,当n的值大于10000时就会导致栈溢出。在Windows系统上栈溢出会导致线程的意外终止,这种线程的意外终止通常都会导致整个软件无法正常工作。如果在递归计算的过程中能够提前预知到这种情况的堆...

2014-01-13 10:05:43 7776 0

原创 算法系列之二十二:离散傅立叶变换之听声音破解电话号码

利用离散傅立叶变换,将电话拨号音从时域信号转换成频域信号,然后通过频率分析找出对应的双音频频率组合,从而确定是哪个按键的拨号音

2013-12-09 00:43:55 25473 33

原创 算法系列之二十一:实验数据与曲线拟合

曲线拟合(Curve Fitting)的数学定义是指用连续曲线近似地刻画或比拟平面上一组离散点所表示的坐标之间的函数关系,是一种用解析表达式逼近离散数据的方法。曲线拟合通俗的说法就是“拉曲线”,也就是将现有数据透过数学方法来代入一条数学方程式的表示方法。科学和工程遇到的很多问题,往往只能通过诸如采...

2013-10-16 22:17:15 86577 20

原创 基于文件过滤驱动的透明加密那点事儿

文件透明加密这点事儿,从2001年开始出现基于API HOOK的方式开始到现在,已经十几年了,有细心人按技术实现的方式将其细分为4代,分别是基于API HOOK的第一代技术、基于文件过滤驱动(加清缓存)的第二代技术、使用Layerfsd的双缓冲第三代技术和基于微软新一代minifilter框架的L...

2013-08-11 23:22:16 17277 8

原创 算法系列之二十:计算中国农历(二)

(接上篇)        所谓的“天文算法”,就是利用经典力学定律推导行星运转轨道,对任意时刻的行星位置进行精确计算,从而获得某种天文现象发生时的时间,比如日月合朔这一天文现象就是太阳和月亮的地心黄经(视黄经)差为0的那一瞬间。能够计算任意时刻行星位置的一套理论就被称为星历表,比较著名的星历表有美...

2013-07-15 23:36:56 32693 17

原创 算法系列之二十:计算中国农历(一)

世界各国的日历都是以天为最小单位,但是关于年和月的算法却各不相同,大致可以分为三类: 阳历--以天文年作为日历的主要周期,例如:中国公历(格里历)阴历--以天文月作为日历的主要周期,例如:伊斯兰历阴阳历--以天文年和天文月作为日历的主要周期,例如:中国农历 我国古人很早就开始关注天象,定昼夜交替为...

2013-07-01 00:18:50 67309 42

原创 算法系列之十九:用天文方法计算日月合朔(新月)

中国农历的朔望月是农历历法的基础,而朔望月又是严格以日月合朔发生的那一天作为月首,因此日月合朔时间的计算是制定农历历法的关键。本文将介绍ELP-2000/82月球运行理论,以及如何用ELP-2000/82月球运行理论计算日月合朔时间。        要计算日月合朔时间,首先要对日月合朔这一天文现象...

2012-11-25 22:56:41 26992 14

原创 算法系列之十八:用天文方法计算二十四节气(下)

【接上篇】         经过上述计算转换得到坐标值是理论值,或者说是天体的几何位置,但是FK5系统是一个目视系统,也就是说体现的是人眼睛观察效果(光学位置),这就需要根据地球的物理环境、大气环境等信息做进一步的修正,使其和人类从地球上观察星体的观测结果一致。        首先需要进行章动修正...

2012-09-04 23:20:27 23424 33

原创 算法系列之十八:用天文方法计算二十四节气(上)

二十四节气在中国古代历法中扮演着非常重要的角色,本文将介绍二十四节气的基本知识,以及如何使用VSOP82/87行星运行理论计算二十四节气发生的准确时间。        中国古代历法都是以月亮运行规律为主,严格按照朔望月长度定义月,但是由于朔望月长度和地球回归年长度无法协调,会导致农历季节和天气的实...

2012-08-26 22:59:31 43099 37

原创 算法系列之十七:日历生成算法-中国公历(格里历)(下)

【接上篇】         上述计算星期的方法虽然步骤简单,但是每次都要计算两个日期的时间差,不是非常方便。如果能够有一个公式可以直接根据日期计算出对应的星期岂不是更好?幸运的是,这样的公式是存在的。此类公式的推导原理仍然是通过两个日期的时间差来计算星期,只是通过选择一个特殊的日期来简化公式的推导...

2012-08-02 22:55:11 20630 19

原创 算法系列之十七:日历生成算法-中国公历(格里历)(上)

日历在我们的生活中扮演着十分重要的角色,上班、上学、约会都离不开日历。每年新年开始,人们都要更换新的日历,你想知道未来一年的这么多天是怎么被确定下来的吗?为什么去年的国庆节是星期五而今年的国庆节是星期三?那就来研究一下日历算法吧。本文将介绍日历的编排规则,确定某日是星期几的计算方法,以及如何在计算...

2012-07-15 23:08:58 26527 34

原创 TabSiPlus发布1749版本

拖了几天,终于可以发布了,下载地址如下: http://www.winmsg.com/download/TabSiPlus_0_99b2_1749.rar 这个包里没有附带VC的运行库,考虑到大多数人的机器上都有这个东东了,就没有包含在这个包里。如果在你的系统上无法运行,请至微软网站呢下载VS20...

2012-06-29 14:56:55 19186 25

原创 算法系列之十六:使用穷举法解猜结果游戏

一、 引言         穷举是解决问题的一种常用思路,当对一个问题无从下手的时候,可以考虑在问题域允许的范围内将所有可能的结果穷举出来,然后根据正确结果的判断规则对这些结果逐个验证,从而找出正确的结果。采用穷举的方法求解问题的答案比较适合计算机做,对这种体力活它们没有怨言,本文就以常见的两个猜...

2012-05-27 23:01:37 12776 12

原创 算法系列之十五:循环和递归在算法中的应用

一、递归和循环的关系 1、 递归的定义         顺序执行、循环和跳转是冯·诺依曼计算机体系中程序设计语言的三大基本控制结构,这三种控制结构构成了千姿百态的算法,程序,乃至整个软件世界。递归也算是一种程序控制结构,但是普遍被认为不是基本控制结构,因为递归结构在一般情况下都可以用精心设计的循环...

2012-05-20 23:11:36 18405 17

原创 tabsiplus即将发布新版本

tabsiplus的下一个版,也就是原计划1月份推出的“水玉石”被推迟到6月份发布,原计划是要继续推迟到12月份发布的,但是这期间一个会导致Source Insight崩溃的严重问题被确认(我在BLOG评论的回复中确认这是一个可复现的问题),此后不断有人发邮件询问6月份的版本中是否会修复这个BUG...

2012-05-20 21:53:37 8596 2

原创 算法系列之十四:狼、羊、菜和农夫过河问题

题目描述:农夫需要把狼、羊、菜和自己运到河对岸去,只有农夫能够划船,而且船比较小,除农夫之外每次只能运一种东西,还有一个棘手问题,就是如果没有农夫看着,羊会偷吃菜,狼会吃羊。请考虑一种方法,让农夫能够安全地安排这些东西和他自己过河。         这个题目考察人的快速逻辑运算和短期记忆力。分析一...

2012-05-13 22:56:56 90932 25

原创 算法系列之十三:椭圆的生成算法

椭圆和直线、圆一样,是图形学领域中的一种常见图元,椭圆的生成算法(光栅转换算法)也是图形学软件中最常见的生成算法之一。在平面解析几何中,椭圆的方程可以描述为(x – x0)2 / a2+ (y – y0)2 / b2 = 1,其中(x0, y0)是圆心坐标,a和b是椭圆的长短轴,特别的,当(x0,...

2012-04-24 23:38:18 41357 6

原创 算法系列之十二:多边形区域填充算法--几种边标志填充算法

四、边界标志填充算法        在光栅显示平面上,多边形是封闭的,它是用某一边界色围成的一个闭合区域,填充是逐行进行的,即用扫描线逐行对多边形求交,在交点对之间填充。边界标志填充算法就是在逐行处理时,利用边界或边界颜色作为标志来进行填充的。准确地说,边界标志填充算法不是指某种具体的填充算法,而...

2012-04-16 22:20:51 25851 15

原创 算法系列之十二:多边形区域填充算法--改进的扫描线填充算法

三、改进的扫描线填充算法        扫描线填充算法的原理和实现都很简单,但是因为要同时维护“活动边表(AET)”和“新边表(NET)”,对存储空间的要求比较高。这两张表的部分内容是重复的,而且“新边表”在很多情况下都是一张稀疏表,如果能对其进行改进,避免出现两张表,就可以节省存储空间,同时省去...

2012-03-25 21:45:31 18563 6

原创 算法系列之十二:多边形区域填充算法--扫描线填充算法(有序边表法)

二、扫描线算法(Scan-Line Filling)        扫描线算法适合对矢量图形进行区域填充,只需要直到多边形区域的几何位置,不需要指定种子点,适合计算机自动进行图形处理的场合使用,比如电脑游戏和三维CAD软件的渲染等等。        对矢量多边形区域填充,算法核心还是求交。《计算几...

2012-03-19 14:57:34 80374 25

原创 算法系列之十二:多边形区域填充算法--扫描线种子填充算法

1.3扫描线种子填充算法        1.1和1.2节介绍的两种种子填充算法的优点是非常简单,缺点是使用了递归算法,这不但需要大量栈空间来存储相邻的点,而且效率不高。为了减少算法中的递归调用,节省栈空间的使用,人们提出了很多改进算法,其中一种就是扫描线种子填充算法。扫描线种子填充算法不再采用递归...

2012-03-11 23:47:04 43638 26

原创 算法系列之十二:多边形区域填充算法--递归种子填充算法

平面区域填充算法是计算机图形学领域的一个很重要的算法,区域填充即给出一个区域的边界(也可以是没有边界,只是给出指定颜色),要求将边界范围内的所有象素单元都修改成指定的颜色(也可能是图案填充)。区域填充中最常用的是多边形填色,本文中我们就讨论几种多边形区域填充算法。一、种子填充算法(Seed Fil...

2012-03-06 00:10:00 59011 14

原创 算法系列之十一:圆生成算法

输入您的搜索字词 提交搜索表单         在平面解析几何中,圆的方程可以描述为(x – x0)2 + (y – y0)2 = R2,其中(x0, y0)是圆心坐标,R是圆的半径,特别的,当(x0, y0)就是坐标中心点时,圆方程可以简化为x2 + y2 = R2。在计算机图形...

2012-02-12 21:45:51 44354 34

原创 算法系列之十:直线生成算法

在欧氏几何空间中,平面方程就是一个三元一次方程,直线就是两个非平行平面的交线,所以直线方程就是两个三元一次方程组联立。但是在平面解析几何中,直线的方程就简单的多了。平面几何中直线方程有多种形式,一般式直线方程可用于描述所有直线: Ax+By+C = 0  (A、B不同时为0) 当知道直线上一点坐标...

2012-01-08 23:41:01 29199 13

原创 TabSiPlus 的新版本发布可能要延期了

距离TabSiPlus的上一个 版本发布已经快两年了,本来计划在2012年1月11日发布一个TabSiPlus的新版本,但是由于近期时间安排太紧张,版本计划只完成了一部分,新版本的发布可能要推迟到2012年的6月份了(暂定)。        不过可以先晒晒新版本的版本计划,呵呵,新版本的内部代号是...

2011-12-28 22:34:43 8464 6

原创 算法系列之九:计算几何与图形学有关的几种常用算法(二)

3.6 用矢量的叉积判断直线段是否有交                矢量叉积计算的另一个常用用途是直线段求交。求交算法是计算机图形学的核心算法,也是体现速度和稳定性的重要标志,高效并且稳定的求交算法是任何一个CAD软件都必需要重点关注的。求交包含两层概念,一个是判断是否相交,另一个是求出交点。直...

2011-12-25 23:04:39 24262 12

原创 算法系列之九:计算几何与图形学有关的几种常用算法(一)

我的专业是计算机辅助设计(CAD),算是一半机械一半软件,《计算机图形学》是必修课,也是我最喜欢的课程。热衷于用代码摆平一切的我几乎将这本教科书上的每种算法都实现了一遍,这种重复劳动虽然意义不大,但是收获很多,特别是丢弃了多年的数学又重新回到了脑袋中,算是最大的收获吧。尽管已经毕业多年了,但是每次...

2011-12-18 23:13:29 45886 36

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