- 博客(121)
- 资源 (25)
- 收藏
- 关注
原创 2D跟踪弹算法
最近在写一个手机游戏,其中涉及到一个跟踪弹的算法,成果如下:/*子弹到目标的向量分量*/int vx=target.getPosition().x-this.position.x;int vy=target.getPosition().y-this.position.y;/*使用内积判断向量的夹角[0,180]*/double dot=Util.dot(dx,dy...
2010-10-20 10:25:16
1064
原创 A星算法
import java.util.Collections;import java.util.LinkedList;import java.util.List;/** * A星算法 * @author Micheal Hong * @email babala_234@163.com * @version 2010-9-26 下午03:14:42 * */...
2010-09-26 18:32:08
270
原创 卡马克算法
卡马克卷轴算法的引入 上面的算法虽然在一定程度上解决了地图绘制的效率问题,但对于某些资源严重不足的手机,或者由于地图块比较小、循环次数过多的情况,仍然会造成画图时屏幕闪烁。因此,在这种情况下,仍然需要对上述算法做进一步的优化。 不论采用哪种优化算法,一个基本的思路就是尽量减少绘制的次数,从而减少对系统资源的消耗。卡马克卷轴算法就是这样算法的一个经典例子。单方向卷轴 ...
2010-09-25 11:35:46
889
原创 谈-面对工作
将近五年的工作,最近一年也开始接触带新人和招聘工作。四年之前,我在设计工作做设计主管的时候,也带过新人。然而目前的心态和那时候是截然不同的。四年前,我面对新人,只能说:“你把这个做了”“做完了吗?”“不好看,换个风格吧”……那时候,我从来没有从他的角度去引导,去帮助他理解工作。所 以,往往会招来抵触情绪。而今在目前这家公司参加了很多管理类培训,理解了很多东西。对于项目和人力的把握有...
2010-09-21 17:25:45
140
原创 你第一要做的是开始去做
很多人都问我,“我想做web设计,如何入手?”或“我要开发web应用程序,需要学哪些技术?”,当然,推荐他们一摞书籍或十几篇关于55条超越竞争对手115%的技巧文章是最简单的,但问题的实际情况是,如果你想开始做某件事,你并不需要先去学会什么新知识。对你来说,最重要的却是立即着手去做。 行动起来,着手去做。如果你想学web设计,那就去做个网站。如果你想成为企业家、在网上买你...
2010-09-17 14:59:44
142
原创 Base64编码
Base64编码其实是将3个8位字节转换为4个6位字节,( 3*8 = 4*6 = 24 ) 这4个六位字节 其实仍然是8位,只不过高两位被设置为0. 当一个字节只有6位有效时,它的取值空间为0 到 2的6次方减1 即63,也就是说被转换的Base64编码的每一个编码的取值空间为(0~63) 。 事实上,0~63之间的ASCII码有许多不可见字符,所以应该再做一个映射,映射表为 ‘A‘ ~ ‘Z‘...
2010-09-14 10:07:50
101
原创 KMP算法详解
个人觉得这篇文章是网上的介绍有关KMP算法更让人容易理解的文章了,确实说得很“详细”,耐心地把它看完肯定会有所收获的~~,另外有关模式函数值next[i]确实有很多版本啊,在另外一些面向对象的算法描述书中也有失效函数 f(j)的说法,其实是一个意思,即next[j]=f(j-1)+1,不过还是next[j]这种表示法好理解啊: ...
2010-09-10 09:57:44
130
原创 RSA算法介绍
RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。 RSA也是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。 RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NP...
2010-09-03 16:42:30
777
原创 DOOM启世录的启示
“游戏分两种,一种是生活中玩的,另一种是生活在其中的”这是DOOM启世录的第一句话。 “约翰。罗梅洛,王牌程序员”罗梅洛的第一个称号,虽然是他自封的,但绝不过誉。当然,在他遇上卡马克后他也会变得谦虚起来。 卡马克,一个进过少管所,也呆过天才班的神奇小子兼只上过两个学期大学的火箭科学家。天才程序员: 罗梅洛在他还是孩子时,就给自己的公司取好了名字:顶级思想软件 Capital ...
2010-09-02 16:00:14
162
原创 网络游戏程序员须知 基于UDP的虚拟连接
本文为作者原创翻译并且加入了一些自己的思路和观点,转载请注明。作者:rellikt@gmail.com首发链接:http://blog.youkuaiyun.com/rellikt/archive/2010/08/28/5846647.aspx原文链接:http://gafferongames.wordpress.com/networking-for-game-programmers/virtual-co...
2010-09-01 11:28:08
309
原创 网络游戏程序员须知 收包与发包
本文为作者原创翻译并且加入了一些自己的思路和观点,转载请注明。作者:rellikt@gmail.com首发链接:http://blog.youkuaiyun.com/rellikt/archive/2010/08/23/5833233.aspx原文链接:http://gafferongames.com/networking-for-game-programmers/sending-and-receivin...
2010-08-26 16:44:17
193
原创 网络游戏程序员须知 UDP vs TCP
这篇教程让我们就从最基本的网络数据收发开始谈起吧。其实这部分才是网络程序员应该做的最基础最简单的部分,但是这部分如果想要做好相对来说还是很有技巧和困难的。而且如果这部分你没做好,在多人对战类游戏中它带来的影响是极其恶劣的。 你可能听说过端口这个概念,也可能知道TCP和UDP这两个概念。在做网络开发的的时候,我们首先要做的就是选择合适的协议。到底是TCP,还是UDP,或者是两者混合来用呢?这是一个问...
2010-08-26 16:37:35
151
原创 HTTP POST GET 本质区别详解
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT...
2010-08-24 09:50:44
115
原创 学习的正确心态
前几天和一些以前的同事聊起搜狗输入法之父马占凯的一些事(详见百度百科http://baike.baidu.com/view/1383812.htm),当时也是把这个网页发给他们看,结果有一个同事来了一句:"太能吹了,紫光最少的时候只有三五个人,这哥们把搜狗输入法的成功能挂在自己脑袋上了",由此引发了我的一些关于学习心态的思考,并且有了这篇文章。 子曾经曰过:三人行,必有我师焉。...
2010-08-23 17:32:29
143
原创 OpenGL中半球形天空的绘制
不解释,看代码:public class Dome { private static final double DTOR=Math.PI/180; private int horizonalSteps,portraitSteps; private float radius; //半径 private Point3f[][][] vertex; //顶点坐标...
2010-08-23 16:43:19
1448
原创 快速开方算法比较
快速开方算法比较:public class Test { private static int a,b,c,p=0x80; private static int K,A,B,C,R=0x4000,D=60000; public static float sqt1(){ if(D>50176){A=0; a=0; C=50176;c=224;} /...
2010-08-18 17:34:10
530
原创 ROAM实时动态LOD地形渲染
作者:Bryan Turner翻译:Dreams Woo译者注:翻译这篇文章的目的是国内关于这方面内容的东西太少了,而ROAM做为现今最流行的地形渲染技术已经在国外的游戏中大行其道,只有不断的学习才能不断的进步,希望通过这篇文章能使大家得到进步,我就已经满足了,这篇文章你可以转载,但必须署上我的名字,并发到我的邮箱告知我,我的EMAIL是:dreams_wu@sina.com,有什么交流或...
2010-07-20 22:17:50
636
原创 Linux的SMTP 命令
HELO 向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。EHLO 向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到。MAIL FROM 命令中指定的地址是发件人地址RCPT TO 标识单个的邮件接收人;可有多个 RCPT TO;常在 MAIL 命令后面。DATA 在单个或多个 RCPT 命令后,表示所有的邮件接收人已标识,并初始化数据传输,以 CRL...
2010-07-12 17:54:47
1191
原创 游戏引擎十大核心竞争力 之 (一)场景分割(alpha纯预览版、持续更新)
游戏引擎中最关键的问题之一,是场景管理技术;其中,最基础的部分,就是场景分割。场景分割要解决的几个问题如下:游戏场景是一次载入还是需要实时的流载入 游戏场景场景过大而无法一次载入的时候,怎样一次载入一部分 一次载入一个部分,这个部分怎样定义,根据什么原则 对于已经分割的场景,动态物体在移动的时候,在各个分割之间移动是如何处理的(尤其类似碰撞检测的功能) 编辑器怎样创建一个场景,怎样动态的管理场...
2010-07-01 18:54:54
458
原创 MS3D模型载入与演示(支持动画)
import java.io.InputStream;import java.nio.FloatBuffer;import java.util.Hashtable;import java.util.Vector;import org.lwjgl.BufferUtils;import org.lwjgl.Sys;import org.lwjgl.opengl.GL11;...
2010-07-01 14:07:19
512
原创 常见异常解决方法
【异常】com.caucho.config.LineConfigException: WEB-INF/web.xml:......is not a known servlet.Servlets belong in the classpath, often in WEB-INF/classes【解决】Preference->Java->Compiler下将版本1.6改为1.5...
2010-06-30 09:49:24
231
原创 在servlet中获取web.xml中设置的初始化参数信息的方法
HttpServlet的父类GenericServlet类中实现了下列方法,用于获取web.xml文件中的初始化参数信息、Servlet名称、ServletContext对象引用。1.getServletConfig() 获取由Servlet容器初始化servlet时(即调用Servlet.init(ServletConfig config)) 传递进来的那个ServletConfig...
2010-06-29 17:31:35
1100
原创 servlet中init()和service()方法的区别
首先你要明确servlet的生命周期和HTTP协议. Serlvet接口只定义了一个服务方法就是service,而HttpServlet类实现了该方法并且要求调用下列的方法之一: doGet:处理GET请求 doPost:处理POST请求 当发出客户端请求的时候,调用service 方法并传递一个请求和响应对象。Servlet首先判断该请求是GET 操作还是POST 操作。然后它调用下面的一个方法...
2010-06-29 16:49:17
364
原创 JSTL1.0和JSTL1.1的区别
这要从一个异常说起According to TLD or attribute directive in tag file, attribute value does not accept any expressions产生异常的代码是<c:set var="customerid" value="${1+2}"/>如果使用jstl1.0会产生异常,因为1.0不支持attrib...
2010-06-24 11:51:14
140
原创 ms3d 文件格式
最近实验室接了一个项目,开发一个虚拟现实平台,用来展示海底场景,能够对海洋各种环境进行实时渲染,并对以鱼类为主的生物进行形态和行为仿真,设计并实现其基本动作.主要内容有用三维建模,雾化,粒子系统等模拟海底空间效果,对光,影,雾,浪,水流等进行实时渲染.技术关键问题及解决途径:1) 虚拟海底场景实时生成:通过借助图形处理器(GPU),利用NVIDIA推出的Cg语言编程对海底场景相关的水体...
2010-06-24 10:38:48
775
原创 三维图形显示流程
运用相机模拟的方式比较通俗地讲解了三维图形显示的基本过程,但在具体应用OpenGL函数库编程时,还必须了解三维图形世界中的几个特殊坐标系的概念,以及用这些概念表达的三维图形显示流程。 计算机本身只能处理数字,图形在计算机内也是以数字的形式进行加工和处理的。大家都知道,坐标建立了图形和数字之间的联系。为了使被显示的物体数字化,要在被显示的物体所在的空间中定义一个坐标系。这个坐标系的长度单位和坐标轴...
2010-06-23 12:44:45
1936
原创 spring中配置二级缓存
spring中配置二级缓存 关键字: spring hibernate ehcache 1.首先,在spring的hibernate配置里(我的是applicationContext-hibernate.xml) 加上如下属性:<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSe...
2010-06-23 11:09:00
118
原创 unicode中文范围
在网上搜索了一下汉字的Unicode范围,普遍给出了“U+4E00..U+9FA5”。但事实上这个范围是不完整的,甚至连基本的全角(中文)标点也未包含在内。根据最新的Unicode 5.0版整理如下:注:在绝大多数应用场合中,我们可以仅用(1)、(2)、(3)、(4)、(5)的集合作为CJK判断的依据。1)标准CJK文字http://www.unicode.org/Public/UNI...
2010-06-23 09:33:41
144
原创 Java父线程与子线程
问:在父线程中New了一个子线程,想在停止父线程时也停止子线程,应该怎么做? 答:从某种程度上讲,做不到。 不管是父线程还是子线程,这只不过是在运行时谁建了谁时用的,一旦所谓的字线程被启动,这两个线程是没有先后贵贱区分的。 任何线程是没有办法把另外一个线程终止的。 如果你一定想你说的那样是线的话,下面是唯一个可行方案。在"父线程"建立“子线程”时,...
2010-06-12 12:49:14
471
DetachedCriteria分页记录重复解决方案
尝试了criterion.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY)方法发现Hibernate其实只是针对结果集再过滤,得到的记录总数仍然是含有重复的经过一番尝试,决定使用子查询来解决这个问题,以下代码已经测试通过:Payment payment=new Payment();User user=new...
2010-06-08 16:21:02
373
原创 反射在设计模式中的应用
利用设计模式可以使我们的代码更灵活,更容易扩展,更容易维护。各种面向对象的程序设计语言都提供了基本相同的机制:比如类、继承、派生、多态等等。但是又有各自的特色,c# 中的反射机制便是一个很重要的工具,好好地利用就可以在实际中发挥很大的作用。 我们来看一个例子: 我的程序中有需要一系列的对象,比如apple,orange…, 要想利用他们,我们就必须在程序中根据用户要求,然后一个...
2010-06-08 10:52:28
422
原创 Reader和InputStream的区别
Reader支持16位的Unicode字符输出,InputStream支持8位的字符输出。 Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,InputStream、OutputStream是用来处理8位元的流,Reader、Writer是用来处理16位元的流。 而在JAVA语言中,byte类型是8位的,char类型是16位的,所以在处理中文的时候需要用Reade...
2010-05-28 13:21:13
130
原创 Linux之VI命令详解
功能最强在的编辑器——vivi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。...
2010-05-21 16:15:09
119
原创 让进程在后台可靠运行的几种方法
& 这里还有一个关于 subshell 的小技巧。我们知道,将一个或多个命名包含在“()”中就能让这些命令在子 shell 中运行中,从而扩展出很多有趣的功能,我们现在要讨论的就是其中之一。当我们将"&"也放入“()”内之后,我们就会发现所提交的作业并不在作业列表中,也就是说,是无法通过jobs来查看的。让我们来看看为什么这样就能躲过 HUP 信号的影响吧。[root@pv...
2010-05-21 16:09:19
147
原创 sh脚本执行syntax error near unexpected token `in 错误
今天 在装linux、的时候为了图方便,直接用Dreamweaver来编辑配置文件,结果就一直报这个错误。在vi下打开加上-b参数 发现在每段文字结尾的时候都会自动加上^M 历史 long long ago..... 老式的电传打字机使用两个字符来另起新行。一个字符把滑动架移回首位 (称为回车,<CR>,ASCII码为0D),另一个字符把纸上移一行 (称为换行, <LF>...
2010-05-21 13:49:06
434
原创 从不同架构的角度进行web项目的需求分析和系统设计
有不少web项目经理同时兼任架构师的角色,包括我。一般而言,我们指的架构,多指技术上的架构,硬件上的架构。最近在豆瓣上看书评时,看到一个概念:web项目,从不同的角度,可以分为三种架构:业务架构,信息架构,技术架构。业务架构以赚钱为中心,信息架构以用户为中心,技术架构以稳定为中心。架构的目标,是要建立一个坚实的、经得起时间考验的体系。过度强调哪一方,都会不同程度的对整体造成影响。最...
2010-05-20 09:59:09
353
[原创]多线程之队列式执行任务
前言:最近做的一个项目正好要用到多线程,而且要实现队列式处理,即外界可向线程添加任务,同时一旦队列中有任务时,线程自动启动对之进行处理。要求任务的添加与执行要同步处理。最终结果如下:[TaskThread.java]import java.util.HashMap;import java.util.Vector;/*** Task Processing Thre...
2010-04-29 10:24:22
154
内积与外积
电脑做运算时,常会有浮点数误差的问题。为避免浮点数误差的问题,用电脑计算几何问题时,会採用不同于一般数学运算时所用的公式和定理。 内积(inner product、dot product)、外积(outer product、cross product)这两个运算只用了加法和乘法,而不包括除法,故能有效的避免除法所產生的浮点数误差。内积与外积有许多很有用的特性。大部分的几何问题...
2010-04-24 20:55:41
1737
Oracle自用指令
【修改列】alter table table_name add [constraint 约束名] 约束条件(column); 如not null: alter table table_name modify(col type not null); 【删除列】alter table emp01 drop column dno; 【增加列】alter tab...
2010-04-21 15:49:04
100
Advanced Dynamic Shaders v2.1
2019-04-02
Amplify Impostors [BETA] 0.8.4
2018-11-13
Learning C# by Developing Games with Unity 5.x(2nd)
2017-12-07
besthttp1.7.8.rar 修改IL2CPP版本
2015-11-23
手机版飞鸽传书(2):PC版
2010-01-30
手机版飞鸽传书(1):PC端
2010-01-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人