- 博客(93)
- 资源 (17)
- 收藏
- 关注
原创 关于正则表达式里面的一个重要知识点
C# 的正则表达式里面要匹配非指定字符串的时候可以这样写:(?:(?!exp).)* 匹配后面不是exp的任意其他数
2015-11-19 15:35:48 686
转载 两个小球碰撞速度计算方法
一 . 碰撞的特点和简化处理 : ①碰撞时间短,相互作用强,可不考虑外界的影响; ②碰撞前后状态变化突然且明显,可以认为:速度发生变化,但位置不发生变化。 二 . 对心碰撞 : 1. 对心碰撞 :碰撞前后的速度都沿两球的连心线,也叫 一维碰撞 。2. 碰撞过程 : ① 压缩过程 :从两小球开始接触到两小球达到共同速度。( b )和( c )图,特点: ② 恢
2014-01-23 17:43:45 26347 2
转载 Hermite曲线公式
该曲线的具体求法也是通过四个控制点,不过通过前面两个控制点确定了起点切线,通过后面两个控制点确定了终点切线,最终通过起点、起点切线、终点切线、终点四个量来确定一条三次Hermite曲线。转化到三次Hermite曲线的转化过程如下:t的值是介于0与1之间
2013-05-28 23:22:51 4402
转载 游戏里随机概率选择算法
有时候当我们的游戏人物遇敌时,我们需我怪物随机根据概率选择处理方式,如下:1、50%的机会友好的问候 2、25%的几率走开 3、20%的机会立即攻击 4、5%的机会提供金钱作为礼物 下面的这个算法就是跟据概率数组,返回选择的概率索引号。 int Choose(float[] 概率数组){ float total=0; //首先计算出概率的总值,
2012-08-30 11:31:45 7592
翻译 Irrlicht引擎手册示例(三):CustomSceneNode!
教程 3.CustomSceneNode 本教程的难度将会提高,所以如果你还没有相关的知识的话,请先阅读前面的教程。本教程将演示如何创建一个自定义的场景节点,以及如何在引擎中使用它。如果你想实现Irrlicht引擎目前不支持的渲染技术的话,自定义场景节点是必要的。例如,你可以自己写一个基于室内的的渲染器或一个先进的地形场景节点。创建自定义场景节点,你可以很容易
2012-01-14 11:58:09 4282 3
翻译 Irrlicht引擎手册示例(二):Quake3Map!
本教程演示了如何把一个引擎加载雷神之锤3地图进引擎,创建一个用来优化渲染速度的SceneNode和如何创建一个用户控制的摄像机。请注意,在开始本教程之前你应该先了解该引擎的基础知识,如果你还没有了解的话,请先查看第一个教程,1.HelloWorld。这个例子的结果会是这样的: 让我们开始吧 首先让我们像helloworld的例
2012-01-12 15:04:12 3933 3
转载 Irrlicht引擎手册示例(一):Hello,World!
本例讲述如何为Irrlicht引擎设置您的IDE、如何用它写一个简单的HelloWorld程序。程序代码将展示如何使用引擎里的最基本的东西:VideoDriver(视频驱动),GUIEnviroment(GUI环境)和SceneManager(场景管理器)。示例程序运行结果如下: 配置IDE 要使用引擎,得包含头文件(见引擎SDK中的include目录)。为了让编译器找到我们
2012-01-12 09:58:06 2856
转载 iframe自适应高度
<br />关于iframe的自适应高度问题网上有很多,不过太多都是一些复杂的.<br />要找个支持多浏览器的有的就更杂了,不过这几天看到了一段简单有实用的,用了下感觉还不错.<br />下面共享下让大家不必在为这个问题而困扰了<br /><script type="text/
2011-02-03 18:10:00 859 1
转载 正则表达式之平衡组/递归匹配(嵌套匹配)
有时我们需要匹配像( 100 * ( 50 + 15 ) )这样的可嵌套的层次性结构,这时简单地使用/(.+/)则只会匹配到最左边的左括号和最右边的右括号之间的内容(这里我们讨论的是贪婪模式,懒惰模式也有下面的问题)。假如原来的字符串里的左括号和右括号出现的次数不相等,比如( 5 / ( 3 + 2 ) ) ),那我们的匹配结果里两者的个数也不会相等。有没有办法在这样的字符串里匹配到最长的,配对的括号之间的内容呢?为了避免(和/(把你的大脑彻底搞糊涂,我们还是用尖括号代替圆括号吧。现在我们的问题变成了如何把
2011-01-15 16:03:00 10450
原创 javascript实现改变图片指定区域的颜色
javascript本身无法改变图片的颜色,不过我们可以通过一些技巧来实现一样的效果.1、首先我们要知道图片哪些区域需要改变颜色,这里我们可以用执点地图的方法来弄例1:
2010-12-02 09:46:00 17472 2
原创 关于把原范围内的值转换成指定范围内的值
<br />有时候我们会想把原范围内的一组数据转成指定范围内的数据。<br />如:C里面的rand()函数,一般它得到的值范围是0~RAND_MAX,<br />但如果我们想把它的范围定在0~100要怎么办了。<br />这时我们就要使用以下的公式了:<br />((输入值-原最小值)/(float)(原最大值-原最小值))*(现最大值-现最小值)+现最小值<br /> <br />上面的解就是:rand()/RAND_MAX*100
2010-10-15 18:18:00 1689
原创 圆运动和椭圆运动公式
<br />圆运动公式:<br />x = centerX +sin(angle) * R;<br />y = centerY + cos(angle) * R;<br />椭圆运动公式:<br />x = centerX + sin(angle) * RX;<br />y = centerY + cos(angle) * RY;
2010-07-04 23:53:00 5386
原创 C++反射方法
众所周知C++语言本身是没有反射这个东东的,但C++的强大之处在于它把不能的化为可能。要实现反射主要就几点问题:1、每个要反射的类里定义一个回调函数(用来创建这个类实例)2、在程序开始时把每个要反射的类的回调函数以类名为键存入全局哈希表第一个问题我们使用继承就可以为每个类添加回调了第二个问题我们知道程序开始时都会先初始化类的静态成员现在看看我们要有一个类用来注册和获取类
2010-05-18 10:55:00 15405 4
原创 asp.net 服务端的文件管理器
http://www.cnblogs.com/wyforumid/archive/2008/05/14/1196155.html首先对以上的原创者说对不起下,未经同意就改了他的源码,还把改后的源码发出来。主要改的地方就是地址栏里的东东了,原文可以看以上的,我贴上自己改后的源码吧Default.aspx文件http://www.w3.org/TR/xhtml1/DTD/xhtml
2010-04-28 11:52:00 3340
原创 关于OGRE配置CEGUI系统出现的问题
新版的OGRE是同CEGUI分开的,为此我们得自己配置CEGUI,本来只要下载CEGUI 0.71的SDK包,然后配置好就可以使用的,但是这里有个奇怪的地方就是0.71版的SDK听说只能Release编译。Debug编译了出现。。。。函数 OgreMain_d.dll的错误,这个具体原因不明白。不过我使用了源码编译的方法就可以使用了。这个是编译的方法http://www.ogre3d.
2010-04-23 14:52:00 925
原创 创建OGRE的第一个例子
OGRE作为一个图形渲染引擎,要学习它的话首先就得学习它如何显示了.下面是一个在屏幕上显示出一个立方体的例子这里需要一个cube.mesh的模型文件,可以在OGRESDK/media/models中找到.不过我们不需要移动它,我们要把工作目录设置成OGRESDK/Bin/debug就成了.在它里面有个resources.cfg文件,它的作用就是来设置一些资源文件的路径的,我们可以看
2010-03-14 17:29:00 2336
原创 矢量叉积
1、P(x1,y1),Q(x2,y2)的叉积为:P×Q=(x1*y2-x2*y1);如果结果>0则P在Q的顺时针方向如果结果等于则共线判断一点是否在三角形内int IsInTriangle(int x1,int y1,int x2,int y2,int x3,int y3,int pedx,int pedy){int sz1,sz2,sz3;sz1=(x2-x1)*(pedy-y1)-(pedx-
2010-03-14 16:16:00 2481
原创 正交矩阵
n阶实矩阵 A称为正交矩阵,如果:A×A′=I则下列诸条件是等价的:1) A 是正交矩阵2) A×A′=I 为单位矩阵3) A′是正交矩阵4) A的各行是单位向量且两两正交5) A的各列是单位向量且两两正交6) (Ax,Ay)=(x,y) x,y∈R 举例:A=[r11 r12 r13;r21 r22 r23;r31 r32 r33]则有:r11^2+r12^2+r13^2=r21^2+r22^2
2010-03-14 16:15:00 1139
原创 OGRE的安装与配置
话说万事开头难还真没错,我弄这个OGRE的安装竟然浪费我2天时间,好几次差点就砸机了.不过弄完后有种说不出的成就感,好了废话不多说了.一. 安装VS 2008二.安装VS 2008的SP1补丁注意:这里就会提示错了,这个错主要是因为SP1补丁安装程序没法判定你已经装了Framework 3.5的中文语言包,所以才出错.这里我们需要跳过这个语言包的安装.一种方法是复制安装文件
2010-03-12 20:49:00 5871 6
原创 OGRE学习引言
对于OGRE我也是个初学者,能学习的时间也就业余的一点时间而已。本人只是以兴趣爱好去学习,所以学习时间将不是个固定数字。说到对事物的认识,通常都会先从表面开始,然后内在,这样的认识方法。对于OGRE我也会使用这种方法去学习的,OGRE有源代码版和无源代码版的。首先就是先从学习使用OGRE引擎,这个阶段不包含它的一些渲染、模型处理、材质、内存管理等一些内核源代码的学习,而是学习它提供
2010-03-09 14:07:00 874
转载 线性和非线性
线性的可以认为是1次曲线,比如y=ax+b ,即成一条直线,非线性的可以认为是2次以上的曲线,比如y=ax^2+bx+c (x^2是x的2次方),即不为直线的即可 。两个变量之间的关系是一次函数关系的——图象是直线,这样的两个变量之间的关系就是“线性关系”;如果不是一次函数关系的——图象不是直线,就是“非线性关系。“线性”与“非线性”,常用于区别函数y = f (x)对
2010-03-03 09:18:00 699
转载 SQL分页查询
分页sql查询在编程的应用很多,主要有存储过程分页和sql分页两种,我比较喜欢用sql分页,主要是很方便。为了提高查询效率,应在排序字段上加索引。sql分页查询的原理很简单,比如你要查100条数据中的30-40条,你先查询出前40条,再把这30条倒序,再查出这倒序后的前十条,最后把这十条倒序就是你想要的结果。 下面把sql分页查询的原理用sql语句表现一下: -- 分页 升序(
2010-03-01 21:05:00 596
原创 Web大文件上传
通常上传大文件都是把大的文件分割成几个小的组成部分来进行上传的。客户端:分割分件成几个单独的数据包并上传服务端:把单独的数据包组合成文件这样可以使上传大的文件时不会一直占用网络资源,并且如可以的话还可以实现断点续传。 要想实现这种方法,这就要求客户端可以对文件进行二进制流的操作,但是Javascript出于安全方面的并没有提供对二进制文件的操作。不过,还好有Ax
2010-02-28 16:41:00 1695
原创 五类CSS选择器
CSS选择器可以准确的查找到指定的标签,使用CSS选择器可以使我们方便为标签定义CSS样式,而不用为每个标签都定义CSS样式。下面我们讲一下最常用的五种CSS选择器:一、标签选择器:通常用它来查找HTML中的某一种标签。例如:要为HTML中的所有P标签设计样式,可以使用下面的方法p { font:12px;} 二、id选择器: 通常用它来查找标签中ID为指定值。例如:
2010-02-21 16:21:00 577
原创 操作系统学习笔记
主篇:开机后计算机会先进行加电自检,然后选择启动盘。然后计算机会检查启动盘的0面0磁道1扇区,如果这个扇区以0xAA55结尾的话。它将被当成一个引导扇区(它应当少于512字节),BIOS发现这个引导扇区后,就会把它加载到内存的0000:7c00处。最后跳转到0000:7c00处把控制转给这个引导扇区。 然而这个引导扇区被限制在512字节内,所以这里就需要一个Loader。引导扇区从磁盘
2010-02-12 18:11:00 712
原创 串行化技术
串行化(serialization)是指将一个对象的当前状态转换成字节流(a stream of bytes)的过程,而反串行化(deserialization)则指串行化过程的逆过程。串行化也叫持久化。原因是串行化后的字节流可以保存在文件中,使其不会发生数据丢失。而且它的读取也很容易,只要进行反串行化就可以恢复原来的数据。在.net上有个专门的用来串行化对象的方法下面引用MSDN
2010-02-07 17:06:00 742
原创 原型设计模式
一、应用场景在一个特定的场景中经常需要出现多个相同但状态各异的对象,通常的解决方法是通过new创建这些对象之后分别去设置这些对象的状态。原型设计模式提供了更快捷、更有效的解决方法。二、意图通过复制(克隆、拷贝)一个指定类型的对象来创建更多同类型的对象。这个指定的对象可被称为“原型”对象,也就是通过复制原型对象来得到更多同类型的对象。三、说明原型设计模式的拷贝可以被分为深拷贝与浅
2010-02-07 16:21:00 491
转载 C++类对象的复制-拷贝构造函数
对于普通类型的对象来说,他们之间的复制是很简单的,例如:int a = 10; int b =a; 自己定义的类的对象同样是对象,谁也不能阻止我们用以下的方式进行复制,例如:#include iostream> using namespace std; class Test { public: Test(int temp) { p1=temp; } protecte
2010-02-07 16:18:00 674 1
转载 内聚与耦合
最近越来越喜欢软件的设计,而不是想到什么就把代码写上去。这样做十分不合理,望初学者们不要像我一样,走了许多弯路,才发现软件设计很重要。以下是转载一编网上关于设计中的内聚和耦合的文章。内聚(Cohesion)是一个模块内部各成分之间相关联程度的度量。耦合(Coupling)是模块之间依赖程度的度量。内聚和耦合是密切相关的,与其它模块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其它
2010-02-05 16:57:00 571
原创 Asp.net的postback机制
Asp.net的postback机制我们知道Asp.net输出到客户端时都会被转化为HTML,页面Render到Client后,Client的HTML代码将包含如下代码:input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />input type="hidden" name="__EVENTARGUMEN
2010-01-15 22:24:00 1267
原创 设计模式之组合模式
组合模式:以“整体-部分”的层次结构,将对象以树型结构组合起来。如下图所示:组合模式首先得定义一个用来管理和访问部件们的抽象类。public abstract class Equipment{//价格 public abstract double netPrice(); //增加部件方法 public abstract bool add(Equipment equip
2010-01-10 16:26:00 518
原创 STL学习笔记
STL( Standard Template Library)标准模板库一、STL有两个特点:1、它使算法和数据结构分离。2、它使用了C++里面的模板。这两特点都有一个目的就是使得它的通用性更强。如STL里的sort函数,它可以用来操作数组、链表等数据结构。二、STL有三个基本组件:1、迭代器:提供访问容器对象的方法2、容器:是一种数据结构,如list、vector等。
2010-01-10 10:39:00 1381 1
翻译 合并WAVE文件
WAVE文件格式是微软RIFF规范的一个实例(用来存储多媒体文件),RIFF文件头由连续的chunk组成。WAVE文件是由一个大的"WAVE" chunk组成,这个大的chunk由一个”fmt”chunk和一个”data”chunk组成。标准WAVE文件格式 这篇的目的是把多个WAVE文件合成为一个只有一个文件头,并把每个数据合并起来的文件。 W
2010-01-09 16:46:00 1213
原创 几种邮件组件的使用
1、.net自带的using System.Net.Mail;string smtp = "发信人所用邮箱的服务器";//发信人所用邮箱的服务器 string mailForm = "发件人的邮箱";//发件人的邮箱 string mailPwd = "发件人的密码";//发件人的密码 string mailTo = "收件人email";//收件人信息stri
2010-01-09 10:55:00 899
原创 三层架构
1、用户界面表示层(USL)2、业务逻辑层(BLL)3、数据访问层(DAL) 用户界面表示层:主要表示为web方式,主要用来处理用户的请求,以及数据返回,为用户提供可视数据操作。业务逻辑层:主要是操作数据访问层,把一些数据层的操作进行组合数据访问层:主要用来对数据库的访问操作。以下是一幅BS标准三层架构图:微软有一个很好的学习三层架构模式的源码:Pet Shop
2010-01-07 12:07:00 497
原创 ajax技术原理
众所周知ajax的意思是异步JavaScript和XML(Asynchronous JavaScript and XML)。这项技术的核心就是通过浏览器发出一个异步的HTTP请求来调用服务端的网页或服务。 要使用ajax技术,得创建一个XMLHttpRequest对象。Internet Explorer把XMLHttpRequest实现为一个ActiveX对象,其他浏览器(如Fir
2010-01-05 22:31:00 810
转载 设计模式之外观模式
一个良好的面向对象应用程序应该是一个最小的类,这个类能够把其他可重用类的行为有效的组织起来。对一个子系统的类进行重构,直到每个类都有一个进行良好定义功能目标,所以代码易于维护。外观模式(Facade)的目的是提供一个接口,通过这个接口可以使一个子系统更容易使用。它(Facade)将客户的请求代理给适合的子系统对象。客户通过发送请求给(Facade)的方式与子系统通信。使用(Facade
2010-01-04 19:36:00 506
原创 visual studio的注释规范
大多数人都知道Visual Studio使用/*代码块*/和//代码行来注释代码,但是却没有规范的对代码中的函数、类等进行注释。 Visual Studio提供了创建代码报告的功能。其中用到的注释方法可以很好的规范我们的注释,使代码可读性更好。下面是其中的一些注释标记先要用///注释然后加上下面的这些标记 概括说明。 备注。 在方法声明的注释中
2010-01-04 12:01:00 3604
原创 C# 连接池
原由:许多用户可能在查询相同的数据库以获取相同的数据。在这些情况下,可以通过使应用程序共享到数据源的连接来提高应用程序的性能。否则,让每个用户打开和关闭单独的连接的开销会对应用程序性能产生不利影响。这样就有了连接池。实现:C#在连接字符串中设置连接池。 如果使用的是 OleDbConnection、OdbcConnection 或 OracleConnection 类,则连接池将
2010-01-03 19:46:00 6149 2
QQ2015协议和AIML自动聊天程序源码
2016-12-02
实现改变图片指定区域的颜色的例子
2010-12-02
论坛源码和ORM源码
2010-01-31
.net写的论坛源码(数据库使用access)
2009-11-02
DirectX的DxTex工具
2009-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人