2011年9月28日

摘要: 在城市中,我们估算两点之间的距离时,往往不会直接去测量两点之间的直线距离,而会去考虑它们相距多少个街区。在理想模型中,假设每条道路都是水平或者竖直的,那么只要你朝着目标走(不故意绕远路),不管你怎样走,花费的路程都是一样的。今天,我看到了一个非常有意思的名词——出租车几何学 (taxicab geometry) ,其名称就来源于这样的想法。 在出租车几何学中,点还是形如 (x, y) 的有序实数对,直线还是满足 a x + b y + c = 0 的所有 (x, y) 组成的图形,角度大小的定义也和原来一样。只是,(x1, y1) 和 (x2, y2) 的距离重新定义为了 |x1- x2| + 阅读全文
posted @ 2011-09-28 22:48 Hibernate4 阅读(239) 评论(0) 推荐(0)
摘要: 1 doxygen是大名鼎鼎代码文档工具。下载地址:www.doxygen.org安装它。http://www.stack.nl/~dimitri/doxygen/download.html可下载.2 Graphviz这个工具配合doxygen使用,可以提取函数,模块之间的调用关,非常清晰。下载地址:http://www.graphviz.org/Download..php下面是Graphviz提取出来的一些关系图:3 htmlhelp这个工具把doxygen生成的html文件,转化为一个CHM文件,看起来方便些。下载地址:http://www.microsoft.com/downloads/ 阅读全文
posted @ 2011-09-28 17:57 Hibernate4 阅读(293) 评论(0) 推荐(0)
摘要: 矢量的概念: 如果一条线段的端点是有次序之分的,我们把这种线段成为有向线段(directed segment)。如果有向线段p1p2的起点p1在坐标原点,我们可以把它称为矢量(vector)p2。矢量加减法: 设二维矢量P = ( x1, y1 ),Q = ( x2 , y2 ),则矢量加法定义为: P + Q = ( x1 + x2 , y1 + y2 ),同样的,矢量减法定义为: P - Q = ( x1 - x2 , y1 - y2 )。显然有性质 P + Q = Q + P,P - Q = - ( Q - P )。 矢量叉积: 计算矢量叉积是与直线和线段相关算法的核心部分。设矢... 阅读全文
posted @ 2011-09-28 17:49 Hibernate4 阅读(218) 评论(0) 推荐(0)
摘要: 1. Textures and Data Resource Formats 一个2D纹理,就是一组数据的矩阵。一个典型的2D纹理就是一张2D图片。在2D图片中,每一个元素保存着像素的颜色。1D 纹理可以认为是1为数组, 3D纹理可以认为是3维数组。一个纹理,它是不能存储任何格式的数据的,它只能存储一个类型的格式的数据。这些类型在DXGI_FORMAT中列出来。 如:DXGI_FORMAT_R32G32B32_FLOAT:每一个元素有3个32位的浮点型点。DXGI_FORMAT_R16G16B16A16_UNORM:: 每一个元素有4个16位的数组成, 这些数在[0, 1] 范围内浮动。2. d 阅读全文
posted @ 2011-09-28 17:47 Hibernate4 阅读(249) 评论(0) 推荐(0)
摘要: 在windows系列上做编程,gdi是一个很重要的技术点,有很多程序在运行多次后出现异常,除了众所周知的内存泄露以外,gdi资源泄露也是一个很直接的原因.今天就把我自己在编程中总结的一些经验给大家分享,欢迎高手补充.1.Create出来的gdi对象,一定要用DeleteObject来释放,释放顺序是先Create的后释放,后Create的先释放.这里的Create指的是以它为开头的gdi函数,比如,CreateDIBitmap,CreateFont等等,最后都要调用DeleteObject来释放.2.Create出来的dc要用DeleteDC来释放,Get到的要用ReleaseDC释放.3.确 阅读全文
posted @ 2011-09-28 16:58 Hibernate4 阅读(172) 评论(0) 推荐(0)
摘要: 三、递推法递推法是利用问题本身所具有的一种递推关系求问题解的一种方法。设要求问题规模为N的解,当N=1时,解或为已知,或能非常方便地得到解。能采用递推法构造算法的问题有重要的递推性质,即当得到问题规模为i-1的解后,由问题的递推性质,能从已求得的规模为1,2,…,i-1的一系列解,构造出问题规模为I的解。这样,程序可从i=0或i=1出发,重复地,由已知至i-1规模的解,通过递推,获得规模为i的解,直至得到规模为N的解。【问题】阶乘计算问题描述:编写程序,对给定的n(n≤100),计算并输出k的阶乘k!(k=1,2,…,n)的全部有效数字。由于要求的整数可能大大超出一般整数的位数,程序用一维数组 阅读全文
posted @ 2011-09-28 14:27 Hibernate4 阅读(215) 评论(0) 推荐(0)
摘要: 给大伙介绍一个开源工具 AStyle,支持C/C++、C#、JAVA等语言,按照不同的风格格式化代码,也可以称为美化代码。用这个工具美化出来的代码与我自已的风格几乎一样,我很喜欢这个小工具,也可以很方便的集成到VS里面去。用法:AStyle.exe --style=ansi --indent=spaces=4 -M80 -k1 -p -j -D -H -c -w test.cpp--style=ansiansi C风格代码void Foo(bool isFoo){ if (isFoo) { bar(); } else { anotherBar(); }}--indent=spaces=4 缩进 阅读全文
posted @ 2011-09-28 14:00 Hibernate4 阅读(526) 评论(0) 推荐(0)
摘要: The ability to customize the summary information for a type in the Watch and Variable windows in the Visual C++ debugger has existed for a long time, and for this reason, the feature doesn't receive a lot of coverage in new articles and books on the Visual C++ debugger. Even though the display i 阅读全文
posted @ 2011-09-28 13:52 Hibernate4 阅读(178) 评论(0) 推荐(0)
摘要: 用Ogre实现中文显示是很久远的话题了,网上最为流行的是使用CEGUI来实现,但是我用的是MYGUI。上一代2D引擎绘制中文一般采用点阵字库,文字轮廓用位(bit)保存,可以将字库做的非常小,用3D加速的2D引擎和3D引擎一般采用贴图的方式,因为多次锁定缓存再在上面画点就得不偿失了,当然也可以使用D3DXSprite,实际上使用D3DXSprite画UI效率是最高的,因为DX都替你实现了,游戏启动时注册一些字体,退出时反注册,这样就可以直接让DX画指定的TTF字体,效果非常好,唯一的缺点是提交的次数很多,在分析瓶颈时那个曲线不太好看(但是绘制的速度非常快,这个有点囧),另外D3DXSprite 阅读全文
posted @ 2011-09-28 11:17 Hibernate4 阅读(421) 评论(0) 推荐(0)
摘要: 转载请注明出自http://www.mobilegamebase.com/如下截图,是使用MyGUI实现的游戏界面,资源采用鹿鼎记的。无论效果还是效率都相当令人满意,而且除了中文显示外,我几乎没有修改MyGUI的代码,仅仅是通过修改skin配置文件就可以实现了。解释下做法:1.动画分两种,贴图动画和位置移动,Alpha渐变等动画,这两种MyGUI都已经已经实现好了,可以通过StaticImage和Controller来使用。贴图动画没啥好说的。Controller可以做任意扩展(指定路径的移动,按钮闪烁等),而且扩展起来非常方便又不至于修改MyGUI。2.自动拼接比如说做一个图片拼成的Dial 阅读全文
posted @ 2011-09-28 11:16 Hibernate4 阅读(317) 评论(0) 推荐(0)
摘要: 译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为学习人工智能的开始。这篇文章非常知名,国内应该有不少人翻译过它,我没有查找,觉得翻译本身也是对自身英文水平的锻炼。经过努力,终于完成了文档,也明白的A*算法的原理。毫无疑问,作者用形象的描述,简洁诙谐的语言由浅入深的讲述了这一神奇的算法,相信每个读过的人都会对此有所认识(如果没有,那就是偶的翻译太差了--b)。现在是2005年7月19日的版本,应原作者要求,对文中的某些算法细节做了修改。原文链接:http://www.gamedev. 阅读全文
posted @ 2011-09-28 11:12 Hibernate4 阅读(125) 评论(0) 推荐(0)

导航