关闭

RGB颜色转灰度的算法公式

方法一:     对于彩色转灰度,有一个很著名的心理学公式:                           Gray = R*0.299 + G*0.587 + B*0.114      方法二:      而实际应用时,希望避免低速的浮点运算,所以需要整数算法。      注意到系数都是3位精度的没有,我们可以将它们缩放1000倍来实现整数运算算法: ...
阅读(3162) 评论(0)

高效判断点是否在正六边形蜂窝内的方法

设计中,用到需要判断点是否在正六边形内,先是在网上搜了好几篇文章,发现都搞的挺复杂的,往往要使用向量运算计算面积夹角距离方向等,或者是射线法算交点,或者是切分三角形。我考虑到正六边形的特殊性,发现这个问题其实可以很讨巧的超简单解决,而且算法简单到连小学生都能理解,核心只要比较两个线段的长度。...
阅读(4370) 评论(2)

SVG中以任意直线为对称轴的镜像变换及其矩阵

直线一般方程为 A x + B y + C = 0 则以该直线为对称轴,做镜像变换的矩阵为: 任意点P(x,y)变换后的新坐标Q(x',y')的坐标为: SVG中的直线通常是以坐标轴形式或者是两点形式表示的。 如果是以两点线段形式表示的,需要先求出直线方程的系数。 两点(x1,y1),(x2,y2)确定的直线方程为: (y1-y2)*x + (x2-x1)*y...
阅读(4514) 评论(0)

点关于直线的距离、垂足、对称点公式

下面通过两种直线方程的形式,求解点关于直线的距离、垂足、对称点公式。 问题描述1:已知点的坐标(x0,y0),直线的方程为Ax+By+C = 0;求点到直线上的距离d、点在直线上的垂足(x, y)、点关于直线的对称点(x’, y‘)。 解决方法: (1)距离:          d = ( Ax0 + By0 + C ) / sqrt ( A*A + B*B );  ...
阅读(2382) 评论(0)

麻将游戏数据结构和AI算法

用休息时间零零散散写完了网络麻将游戏,感觉其中有不少值得记录的东西。 基础数据结构     数据结构确定决定了程序的开发难易程度,就像是游戏的骨架,对于电脑AI难度设定和玩家的游戏体验起着决定性的作用。 0、麻将ID构架     用一维数组PAICAPTION(143)来记录每张牌的ID和文字信息,数组内容为文字描述,下标用作ID(0-143,共144张牌) 1、胡牌判断基本构架...
阅读(18595) 评论(0)

杯子倒水问题自动求解程序(Javascript实现)

智力测试题经常遇到类似的逻辑题,给几个容量不等的杯子,让你倒出多少的水。 安卓上有一款专门玩这个题的游戏叫做Water Logic. 我安装这个游戏把几十个关卡通了一遍,感觉这个游戏的关卡设计很不好,关卡的难度并不是递增的,有很多后面的关卡相当的弱智,并且缺乏高难度的关卡。 做为程序员的我们,玩这类题目应该都没问题,10步以内的都可以轻松搞定,10步以上的也可以搞定但未必能够轻松达到...
阅读(4917) 评论(0)

一个在浏览器运行的华容道、"移十五"之类的滑块游戏自动求解与演示的GWT源码

先科普一下GWT的概念。 GWT: Google Web Toolkit的缩写,有了 GWT可以使用 Java 编程语言编写 AJAX 前端,然后 GWT 会交叉编译到优化的JavaScript 中,而 JavaScript 可以自动在所有主要浏览器上运行。 (可以简单理解为用Java来写程序,编译成Javascript,运行到浏览器。) 华容道、"移十五"之类的滑块游戏,共同点是每...
阅读(2409) 评论(1)

多人扑克游戏:99分游戏规则介绍

关于这个游戏,网上搜到的资料很少,不过百度百科里倒是有,规则说的也还算全面,我就抄下来。而且正在计划与xiaole,jerrod用HTML5/Javascript制作出这个游戏. 将会尝试使用websocket来实现通讯。应该说这个游戏的逻辑相当简单,不过还是有很多琐碎的工作要做。 99分   99分是一种多人对抗性纸牌游戏,适合于家庭、同事与朋友间娱乐。游戏道具为常见扑克牌...
阅读(3103) 评论(0)

Javascript输出1到100的整数,不用循环,不用递归

曾在CSDN看到一个讨论如何不用循环输出1到100的整数的帖子标题上了论坛头版,于是进去掺和,也跟帖发表了几个算法。 我觉得这个题目很有意思,对程序员的思维是个很好的考验,看看我们是不是只会定向思维了。 我在帖子里回复了好几次,把我想到的主要的几种解决代码贴在这里。 这几种...
阅读(2882) 评论(2)

贝塞尔曲线算法的Javascript实现

如果在HTML5支持好的浏览器中,可以看到用svg绘制的路径线。 在所有浏览器中,均可以看到一个小方块沿着贝塞尔曲线路径来回运动。 效果图: 主要代码: svg /* 参考维基百科 http://zh.wikipedia.org/wiki/%E8...
阅读(8685) 评论(2)

SVG动画演示贝塞尔曲线(1-4阶)绘制过程

贝塞尔曲线是我们大陆的叫法,英文名是Bézier Curve,港澳台称为貝茲曲線,新加坡马来西亚称为贝济埃曲线。 先看一下效果图: 点击这里查看动画效果 维基百科中的贝塞尔曲线条目中的几个GIF动画很漂亮,顺路贴上来。 核心Javscript...
阅读(7731) 评论(0)

彩色转灰度的优化计算

对于彩色转灰度,有一个很著名的心理学公式: Gray = R*0.299 + G*0.587 + B*0.114 而实际应用时,希望避免低速的浮点运算,所以需要整数算法。我们可以将它们缩放1000倍来实现整数运算算法: Gray = (R*299 + G*587 + B*114 + 500) / 1000 注意后面那个除法是整数除法,所以需要加上500来实现四舍五入。 上面的整数算法已经很快了,但是有一点仍制约速度,就是最后的那个除法。移位比除法快多了,所以可以将系数缩放成 2的整数幂。 Gra...
阅读(969) 评论(0)

使用贝塞尔曲线拟合圆

有些看上去很简单的曲线,例如圆,是无法用贝塞尔曲线或分段贝塞尔曲线精确描述的。可以用四段三次贝塞尔曲线模拟圆,每一段是一个四分之一圆。更一般地,我们可以用n段三次贝塞尔曲线模拟圆。...
阅读(5984) 评论(0)

发布一款javascript版矩形消除游戏RectWiper

我是山寨一个exe版的界面,一些统计功能没有加上,但易操作性方面改进了些. 之前写的游戏都没有搞音效,这次试验一下,用SoundManager2,声音也纠结了很久,本地文件file:///打开的时候,因为flash的安全沙盒导致不能加载声音,需要到flash安全面板去设置。 有图有真相:  玩法: 找到四个角的颜色都相同的矩形,点击矩形对角的两个球,就会消除并得分,同时奖励时间值...
阅读(1581) 评论(5)

How to build a good Sokoban level (如何设计高质量的推箱子关卡)

国内这样的文章不好找,碰到老外写的一篇,录下来备忘。http://www.games4brains.de/sokoban-leveldesign.htm How to build a good Sokoban level?<img src="http://www.games4brains.de/G4Bbutton.gif" border="0" alt="S...
阅读(2014) 评论(0)
18条 共2页1 2 下一页 尾页
    个人资料
    • 访问:1126543次
    • 积分:12248
    • 等级:
    • 排名:第1318名
    • 原创:166篇
    • 转载:74篇
    • 译文:4篇
    • 评论:263条
    最新评论