自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (1)
  • 收藏
  • 关注

原创 计算机组成原理:运算方法和运算器

本文内容:定点运算,浮点运算,定点运算器和浮点运算器。

2017-11-26 21:18:11 18334 3

转载 在大学期间更应该学习什么?

大学期间应该学习什么?

2017-11-09 13:04:51 2850

原创 计算机组成原理:数据与文字的表示方法

本文内容:进制转换,有符号数和无符号数,定点数和浮点数,机器码(原码、反码、补码、移码),字符与字符串的表示方法,汉字的表示方法,校验码 。

2017-10-15 16:52:37 5858

转载 Markdown 添加 Latex 数学公式

Markdown 添加 Latex 数学公式

2017-10-14 21:15:13 1953 1

原创 Matlab 快速入门

介绍 Matlab 的下载与安装,作图功能,线性代数,Matlab 程序设计相关内容。

2017-10-06 20:45:18 34280 5

原创 Matlab_R2016a 中文破解版 安装教程

Matlab_R2016a 安装与破解

2017-10-04 20:11:17 10791 1

原创 编译原理(3):词法分析

本文内容:介绍正则定义,正则表达式,有穷自动机(确定的有穷自动机 DFA,不确定的有穷自动机 NFA), NFA 转换为等价的 DFA,DFA 的化简,识别单词的 DFA ,典型例题及详细解答。

2017-09-18 17:40:25 8828 2

原创 编译原理(2):文法和语言

介绍文法和语言的定义,字母表(符号集)和字符串上的操作,文法的类型,上下文无关文法及其语法树,提供典型例题和详细解答。

2017-09-17 19:35:30 7833 1

原创 编译原理(1):绪论

本文内容:介绍什么是编译程序,编译过程和编译程序的结构,解释程序和一些软件工具,程序设计语言范型。

2017-09-17 11:33:10 2949

原创 Windows 程序设计(1):起步

本系列文章基于 《Windows程序设计(第5版 珍藏版)》(美国)佩措尔德,译者是方敏、张胜、梁路平,清华大学出版社,存在自行增删部分。从Windows 底层的 API 开始学习,涵盖基础知识和中高级主题,全面地介绍了Windows 程序设计所涉及的细枝末节。

2017-08-14 15:29:49 2298

原创 游戏开发中的人工智能(完):遗传算法

接上文 http://blog.csdn.net/jurbo/article/details/76526683本文内容:遗传算法提供游戏软件 AI 演化的可能。虽然遗传算法不是经常被应用于游戏中,但是它们在某些特定应用方面的潜力是值得令人期待的,尤其是结合其他方法使用的时候。遗传算法在真实世界中,物种会不断进化,使其能更好的适应环境,这些物种也是最适宜继续存活下去的生物。遗传算法(Genetic A

2017-08-02 14:53:46 6279

原创 游戏开发中的人工智能(十四):神经网络

接上文 游戏开发中的人工智能(十三):不确定状态下的决策:贝叶斯技术本文内容:“神经网络”技术让游戏具有学习和适应的能力。事实上,从决策判断到预测玩家的行为,都可以应用。我们会详谈最广泛使用的神经网络结构(三层前馈神经网络)。神经网络人工神经网络(artificial neural network,即ANN),简称神经网络(neural network,即NN),是一种模仿生物神经网络的结构和功能的

2017-08-01 22:15:37 8432 3

原创 游戏开发中的人工智能(十三):不确定状态下的决策:贝叶斯技术

接上文 游戏开发中的人工智能(十二):概率概论本文内容:贝叶斯技术是概率技术,本章解释如何运用,以便在游戏中做决策并适应游戏。不确定状态下的决策:贝叶斯技术本章要介绍贝叶斯推论和贝叶斯网络,教你怎么把这些技术应用在游戏中。准确的说,是使用这些技术让 NPC 在游戏世界处于不确定状态下做决策,也会讲解简单的贝叶斯模型,让你的 NPC 可以适应变动的情况。我们会用到大量的概率,如果你不熟悉概率,可以先读

2017-07-29 13:26:28 3421

原创 游戏开发中的人工智能(十二):概率概论

接上文 游戏开发中的人工智能(十一):规则式 AI本文内容:游戏开发人员时常使用简单的概率,使游戏较难预测。这种简单的不可预测性让游戏开发人员可以拥有对游戏的实质性控制。本章要谈这种用途的基本概率,顺便作为更高级方法的基石。概率概论开发人员在游戏中使用的概率可分为:击中概率、损害概率以及性格概率(比如攻击或逃跑倾向)等。游戏使用概率可以增加一些不确定性。本章我们要学习概率的基本原理,讨论如何把这些原

2017-07-25 17:42:36 2734

原创 游戏开发中的人工智能(十一):规则式 AI

接上文 游戏开发中的人工智能(十):模糊逻辑本文内容:技术上而言,有限状态机和模糊逻辑都落在基于规则的方法这个大伞之下。本章将谈这些方法,以及其他变化的方法。规则式 AI本章我们要研讨基于规则的 AI 系统。基于规则的 AI 系统可能是真实世界和游戏软件 AI 中最为广泛使用的 AI 系统了。规则系统最简单的形式由一连串的 if-then 规则组成,用来推论或行动决策。从形式上来说,在第九章的有限状

2017-07-25 14:40:02 5012

原创 游戏开发中的人工智能(十):模糊逻辑

接上文 游戏开发中的人工智能(九):有限状态机本文内容:开发人员经常把模糊逻辑和有限状态机结合起来使用,甚至取代有限状态机。本章将会学到模糊逻辑为什么优于传统的逻辑技术。模糊逻辑在生活中,我们经常会用“有一点”“差不多”“几乎没有”“接近于”这样的描述词,会模糊边界。在传统逻辑中,非黑即白,就是0或者1,不是0,就是1,不存在其他的情况。而模糊逻辑,可以存在0到1之间的其他情况即灰色地带。比如高矮

2017-07-23 23:20:18 7789 3

原创 游戏开发中的人工智能(九):有限状态机

接上文 游戏开发中的人工智能(八):描述式 AI 及描述引擎本文内容:有限状态机是游戏软件 AI 的基本要素。本章探讨有限状态机的基础,以及如何予以实现。有限状态机有限状态机是一种抽象机制,是处在各种不同的预定状态下的其中一种状态。有限状态机也可以定义一组条件,以确认何时应该改变状态。实际的状态会决定状态机的行为。本章我们要讨论有限状态机的基础,教你如何实现它。状态机的基本模型有限状态机模型,如图9

2017-07-23 11:49:46 4241 1

原创 游戏开发中的人工智能(八):描述式 AI 及描述引擎

接上文 游戏开发中的人工智能(七):A* 路径寻找算法本文内容:程序员通常只写描述引擎,而由设计者使用工具创建内容和定义 AI。本章探讨一些开发人员把描述系统应用在游戏中的技巧,以及他们所得到的益处。描述式 AI 及描述引擎本章讨论某些技巧,让你把描述系统应用到游戏软件 AI 的问题上,以及这样做以后所能获得的好处。从最基本的层次上来看,你可以把描述机制想象成非常简单的程序语言,专门为与游戏问题相关

2017-07-20 19:39:59 4886

原创 游戏开发中的人工智能(七):A* 路径寻找算法

接上文 游戏开发中的人工智能(六):基本路径寻找及航点应用本文内容:介绍路径寻找算法的主力——A* 路径寻找方法。A* 路径寻找算法路径寻找是游戏软件AI 最基本的问题之一。A* 算法是当今游戏软件开中,相当常用的一种。A* 算法之所以会如此吸引人,是因为它可以保证在任何起点及任何终点间找到最佳的路径。我们可以尽量使用 A* 算法,除了某些特殊情况的场景。例如,如果起点和终点之间没有障碍物,有明确的

2017-07-20 15:53:45 6063 1

原创 游戏开发中的人工智能(六):基本路径寻找及航点应用

接上文:游戏开发中的人工智能(五):以势函数实现移动本文内容:游戏开发人员使用很多技术在游戏环境中寻找路径。本章要谈几种方法,包括航点应用。基本路径寻找及航点应用寻找路径的问题有很多不同类型。没有一种解决方法可以适用各种类型的路径寻找问题。解决办法和每个游戏特定的路径寻找的需求细节有关。例如,目的地会移动还是静止不动?有没有障碍物?障碍物是否会移动?地形是什么样的?最短路径解决办法是不是一定是最佳解

2017-07-19 20:01:22 4405

原创 游戏开发中的人工智能(五):以势函数实现移动

接上文: 游戏开发中的人工智能(四):群聚本文内容:靠势能移动在游戏 AI 程序中还算相当新颖。这个方法的最优越的地方在于可以同时处理追逐、闪躲、成群结队和避免碰撞等行为。我们专门研究的这个势函数叫做 Lenard-Jones 势函数。以势函数实现移动势函数的优点:1、只用一个函数处理追逐和闪躲,不再需要先前介绍过的算法所牵涉到的其他条件和控制逻辑,也可以替我们处理避开障碍物的问题2、操作起来很简单

2017-07-19 15:38:18 4160 1

原创 游戏开发中的人工智能(四):群聚

接上文 游戏开发中的人工智能(三):移动模式本文内容:群聚方法是 A-life 算法的实例。 A-life 算法除了可以做出效果很好的群聚行为外,也是高级群体运动的基础。群聚通常在游戏中,有些非玩家角色必须群聚移动,而不是个别行动。举个例子,假设你在写角色扮演游戏,在主城镇外有一片绵羊的草地,如果你的绵羊是一整群的在吃草,而不是毫无目的的在闲逛,看起来会更真实些。这种群体行为的核心就是基本的群聚算法

2017-07-18 13:32:02 7542 1

原创 游戏开发中的人工智能(三):移动模式

接上文 游戏开发中的人工智能(二):追逐和闪躲本文内容:许多游戏中经常出现固定模式的移动,比如守卫的巡逻行为,宇宙飞船的降落等。开发者可以将移动模式技术应用于特定行为的程序的编写中。移动模式本章主题是移动模式。移动模式是制造智能行为幻觉的简单方式。基本上,计算机控制的角色会根据一些预先定义好的模式移动,使其看起来好像是在执行复杂而绞尽脑汁的策略。实现移动模式的标准做法是选取想要的模式,再将控制数据

2017-07-17 15:58:15 5203 1

原创 游戏开发中的人工智能(二):追逐和闪躲

接上文 游戏开发中的人工智能(一):游戏人工智能简介本文内容:讨论基本的追逐和闪躲技术,以及进级的拦截技术。我们也谈及这些技术在砖块环境和连续环境中的变化。追逐和闪躲本章的焦点是追逐和闪躲,这是一个十分常见的问题。无论你开发的是太空战机射击游戏,策略模拟游戏,还是角色扮演游戏,游戏中的非玩家角色都会试着追逐或者逃离玩家角色。追逐和闪躲由以下三部分组成:追或逃的决策判断(后文谈论到状态机和神经网络时

2017-07-17 15:47:08 8730 4

原创 游戏开发中的人工智能(一):游戏人工智能简介

本系列文章对《游戏开发中的人工智能》David M.Bourg / Glenn Seemann 一书进行解读。这本书谈了很多游戏软件 AI 的主题,内容深度适合初涉开发人员。所以,无论你是游戏开发新手还是资深游戏开发人员,如果需要尽快掌握 AI 技术,比如有限状态机、模糊逻辑、神经网络以及其他议题,这本书都非常适合。针对游戏软件 AI 的初学者,假定你没有任何 AI 背景知识,但是假定你知道怎么用

2017-07-15 20:44:59 21199 5

原创 计算机图形学 学习笔记(完):局部 / 整体 光照模型,光透射模型,纹理映射和阴影处理

接上文 计算机图形学 学习笔记(十二):颜色模型,简单 / 增量 光照模型9.4 局部光照模型和光透射模型什么是局部光照模型局部光照模型:仅处理光源直接照射物体表面的光照模型。简单光照模型是一个比较粗糙的经验模型,不足之处是:镜面反射项与物体表面的材质无关。从光电学知识和物体微平面假设出发,介绍镜面反射与物体材质有关的普遍局部光照模型。局部光照模型自然光反射系数可用 Fresnel 公式计算:微观

2017-07-15 12:53:01 10864

原创 计算机图形学 学习笔记(十二):颜色模型,简单 / 增量 光照模型

接上文 计算机图形学 学习笔记(十一):曲线曲面(三):B样条 曲线与曲面接下来将介绍真实感图形学的内容。真实感图形学包括:颜色模型,简单光照模型,增量光照模型,局部光照模型和投射模型,整体光照模型,纹理映射和阴影处理。真实感图形学真实感图形学研究的是什么?简单来说,就是希望用计算机生成像照相机拍的照片一样逼真地图形图像。要实现这个目标,需要三个步骤:建立三维场景(建模)消隐解决物体深度的显示及

2017-07-15 11:54:38 6694

原创 计算机图形学 学习笔记(十一):曲线曲面(三):B样条 曲线与曲面

接上文 计算机图形学 学习笔记(十):曲线曲面(二):Bezier 曲线与曲面8.4 B样条曲线产生背景及定义B样条产生的背景Bezier 曲线曲面有很多优点,比如说可以用鼠标拖动控制顶点以改变曲线的形状,非常直观,给设计人员很大的自由度。Bezier 曲线曲面是几何造型的主要方法和工具。但是Bezier 曲线有几点不足:(1)一旦确定了特征多边形的顶点数(n+1)个,也就决定了曲线的阶次(n次)

2017-07-14 16:54:12 14758

原创 计算机图形学 学习笔记(十):曲线曲面(二):Bezier 曲线与曲面

接上文 计算机图形学 学习笔记(九):曲线曲面(一):参数曲线、参数几何代数形式7.5 Bezier 曲线背景及定义Bezier 曲线背景给定 n+1个数据点,p0 ( x0 , y0 ) … pn ( xn , yn ),生成一条曲线,使得该曲线与这些点所描述的形状相符。如果要求曲线通过所有的数据点,则属于插值问题;如果只要曲线逼近这些数据点,则属于逼近问题。逼近在计算机图形学中主要用来设计美观的

2017-07-13 23:06:46 26094 2

原创 计算机图形学 学习笔记(九):曲线曲面(一):参数曲线、参数几何代数形式

接上文 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)计算机图形学三大块内容:光栅图形显示(前面已经介绍完了 1-8)、几何造型技术、真实感图形显示。光栅图形学是图形学的基础,有大量的思想和算法。接下来继续学习几何造型技术。几何造型技术是一项研究在计算机中,如何表达物体模型形状的技术。描述物体的三维模型有三种:线框模型:用顶点和边来表示物体曲面模型:只描

2017-07-13 15:24:54 27335 2

原创 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)

接上文 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等通过三维图形变换,可由简单图形得到复杂图形,三维图形变化则分为三维几何变换和投影变换。6.1 三维图形几何变换三维物体的几何变换是在二维方法基础上增加了对 z 坐标的考虑得到的。有关二维图形几何变换的讨论,基本上都适合三维空间。从应用角度来看,三维空间几何变化直接与显示和造型有关,因此更为重要。同二维变换一样,三维基本变

2017-07-12 23:08:16 24120 7

原创 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等

接上文 计算机图形学 学习笔记(六):消隐算法:Z-buffer,区间扫描线,Warnock,光栅图形学小结在图形学中,有两大基本工具:向量分析,图形变换。本文将重点讲解向量和二维图形的变换。5.1 向量基础知识我们所使用的所有点和向量都是基于某一坐标系定义的,比如左手坐标系或者右手坐标系。从几何的角度来看,向量是具有长度和方向的实体,但是没有位置,而点是只有位置,没有长度和方向。在几何中,把向量看

2017-07-12 18:59:48 38885 1

原创 计算机图形学 学习笔记(六):消隐算法:Z-buffer,区间扫描线,Warnock,光栅图形学小结

接上文 计算机图形学 学习笔记(五):多边形裁剪,文字裁剪光栅图形学算法4.1 消隐算法简介和分类消隐当我们观察空间任何一个不透明的物体时,只能看到该物体朝向我们的那些表面,其余的表面由于被物体所遮挡我们看不到。如果把可见的和不可见的线都画出来,对视觉会造成多义性。 要消除这种二义性,就必须在绘制时消除被遮挡的不可见的线或面,习惯上称作消除隐藏线和隐藏面,简称为消隐。要绘制出意义明确地、富有真实感

2017-07-12 14:05:25 36844 3

原创 计算机图形学 学习笔记(五):多边形裁剪(Suther land-Hodgeman),文字裁剪

接上文 计算机图形学 学习笔记(四):直线裁剪算法:Cohen-Suther land,中点分割法,Liang-Barsky光栅图形学算法3.4 多边形裁剪之前上一篇文章中,我们介绍了直线段的裁剪算法。现在我们要对多边形进行裁剪,如果还是使用直线段的裁剪算法,我们会得到一系列不连续的直线段。如下所示:而我们想要得到的结果或者说应该得到的结果,如下所示:多边形裁剪算法的输出的应该是裁剪后的多边形边界

2017-07-11 22:44:19 8833

原创 计算机图形学 学习笔记(四):直线裁剪算法:Cohen-Suther land,中点分割法,Liang-Barsky

接上文 计算机图形学 学习笔记(三):多边形的区域填充算法,反走样算法光栅图形学算法本文主要讲解直线裁剪算法。裁剪使用计算机处理图形信息时,计算机内部存储的图形往往比较大,而屏幕显示的知识图形的一部分。因此需要确定图形哪些部分落在显示区内,哪些落在显示区外。这个选择的过程就称为裁剪。最简单的裁剪方法是把各种图形扫描转换为点之后,再判断点是否在窗口内。1、点的裁剪但判断图形中每个点是否在窗口内,太费

2017-07-11 20:29:16 22374 1

原创 计算机图形学 学习笔记(三):多边形的区域填充算法,反走样算法

接上文 计算机图形学 学习笔记(二):多边形扫描转换:X扫描线算法 和 改进的X扫描线算法光栅图形学算法2.6 多边形的区域填充算法区域:指已经表示成点阵样式的填充图形,是像素的集合区域填充:指将区域内的一点(常称种子点)赋予给定颜色,然后将这种颜色扩展到整个区域内的过程。区域可采用* 内点表示* 和 边界表示 两种表示形式。 内点表示:枚举出区域内部的所有像素,内部的所有像素着同一个颜色,边界像

2017-07-11 15:07:22 11849 1

原创 数据结构 学习笔记(完):散列查找:散列(哈希)表,散列函数的构造,冲突处理,性能分析

11.1 散列表(哈希表)11.1.1 散列的基本思路散列查找。先讲一个例子:比如说,C 语言编译的时候,C语言里有个规则就是变量名必须先定义(或声明)后再使用。当编译器碰到变量名的时候,它可能在两个位置,一个是在它定义(或声明)的地方,一个是在它使用的地方。当编译器碰到他使用的地方,它就要检查,该变量是否定义过,如果没有定义过,就会报错;如果定义过,还要知道这个变量是什么类型的,这种类型在这个语句

2017-07-11 10:55:10 2608

原创 数据结构 学习笔记(十一):排序(下):快速 / 表 / 桶 / 基数 排序,排序算法的比较

10.1 快速排序在大多数的情况下,快速排序的表现都非常好。10.1.1 算法概述和归并排序一样,都是使用了分而治之的思想。分而治之的例子:伪代码描述:10.1.2 选主元取头、中、尾的中位数。伪代码描述:C 语言实现:快速排序直接调用库函数/* 快速排序 - 直接调用库函数 */#include <stdlib.h>/*---------------简单整数排序-----------------

2017-07-10 19:53:11 1293

原创 数据结构 学习笔记(十):排序(上):简单排序(冒泡,插入),希尔 / 选择 / 堆 / 归并 排序

9.1 简单排序(冒泡,插入)9.1.1 概述后面介绍的所有排序算法,都默认为这样的格式:9.1.2 冒泡排序思路:从上到下比较相邻的元素,每次和下面那个元素作比较并交换。一共要完成N次排序。C 语言实现void Bubble_Sort(ElementType A[],int N){ int p,i,flag; for(p=N-1;p>=0;p--) { f

2017-07-10 18:51:47 1079

原创 数据结构 学习笔记(九):图(下):最小生成树(Prim,Kruskal 算法),拓扑排序 AOV,关键路径 AOE

最小生成树什么是最小生成树解决最小生成树有很多算法,但是归结起来都是贪心算法。贪心算法:什么是“贪”:每一步都要最好的什么是“好”:权重最小的边但是因为是最小生成树,所以这个贪心算法还需要约束: 只能用图里有的边只能正好用掉 | V | - 1 条边不能有回路贪心算法由两个著名的算法:Prim 算法 和 Kruskal 算法。Prim 算法Prim 算法–选一个结点,让一棵小树“长大”

2017-07-10 15:43:09 2275

游戏编程入门2-7代码

是我游戏编程入门专栏(http://blog.csdn.net/column/details/16156.html)里第2~7篇博文的源代码。放出来,方便大家调试学习。开发环境:C++ Win7 VC6++

2017-07-01

空空如也

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

TA关注的人

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