木匣子

Web/Game/Programming/Life etc.

Jan 23, 2014

今天继续阅读 Joe’s Devblog 收获依然很多~

继续来自 Concerned Joe Devblog 的一些收获

Do you have friends? Well good for you. 多人游戏的魅力

That never happened though, because shortly thereafter, we started playing Little Big Planet with 4 player co-op, and I noticed something very bizarre. Within less than an hour, all social barriers melted away and everyone was having fun and laughing their hearts out. You couldn’t tell that anyone was an outcast to this group had you seen this scene. And so it got me thinking.

Jan 22, 2014

最近阅读了很多有趣的文章。独乐乐不如众乐乐,我决定把看到的有意思的东西整理出来。日积月累,或许会有不少收获。大部分文章是英文的,我英文水平一般,只有CET4,我阅读它们只是因为它们真的太有趣了!十分可惜的是,有一部分非常精彩的文章或视频需要翻墙才可以观看,请自便。

圆内均匀分布的点

在以前的日志里,我曾经记录了如何在一个单位圆里取随机数。使用了这样的公式:

float rad = random(TWO_PI);
float dist = sqrt(random(1))*radius;
point(cos(rad)*dist, sin(rad)*dist);

用到了神奇的开平方。但是如果你有100个点,想要均匀的分布到一个圆里,有什么简单的办法呢?

利萨茹曲线

这两天翻腾以前收录的博客,又发现了很多干货。Steven Wittens 的博客又更新了,读完他写的 Animate Your Way to Glory 收获非常大。他几乎把他所知道的关于动画计算的一切都娓娓道来。而且非常深入地剖析了欧拉方法、Verlet积分、RK4的原理,他用他的 Mathbox 以交互的形式展示了每一个过程,真是太牛逼了。另外他的两个讲座 Making things with maths 和 Makine WebGL dance 也给了我很大的启发,数学是如此有爱的。

Chaikin 曲线

贝塞尔曲线是一种通过点构造曲线的的插值方法,想要绘制一个90度的圆弧,需要精确计算起点和终点以及数个控制点的位置。圆弧这样的特定形状至少还有可靠的表达式来计算,但是想要一此更随意而优美的曲线,就不容易办到了。(Neither is a superset of the other — Bezier curves cannot produce circular arcs and circular arcs cannot produce Bezier curves.——Curved Paths)

好再还有其它的方法可以绘制曲线。一个叫 Chaikin 的人提出了一种通过已知折线段构造曲线的方法 Chaikins-Algorithm,其原理有点像木工打磨家具,把锐利的角磨掉,一次又一次,直到家具看起来圆滑为止。在工业上类似的术语叫倒角(corner cutting)。

贝塞尔曲线

贝塞尔曲线是一个很牛X的东西。如果你玩过 Flash 或者 Photoshop,那么你肯定知道里面的钢笔工具,其实钢笔工具画出来的曲线就是贝塞尔曲线。

在数学的数值分析领域中,贝兹曲线,又称贝赛尔曲线(Bézier curve)是电脑图形学中相当重要的参数曲线。
贝塞尔曲线于1962年,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由Paul de Casteljau于1959年运用de Casteljau算法开发,以稳定数值的方法求出贝塞尔曲线。
详细的公式请参考维基百科。

异或与加法

异或(xor),是计算机中一个很普遍的运算。虽然没有他的兄弟与、或、非那样在生活中被人们熟知,也很少有人在谈论事情的时候直接使用它,但你可能偶尔听到这样的对话(通常都不是那么友好):

这件事情,要么你来做,要么我来做,不然就这么搁着。

是的,这就是异或。但我们不会说这件事情我*异或*你来做,除非对方是一个GEEK。不过它们的意思确实是一样的。

正则替换冲突

需要将一篇日志中的超链接自动转换成 A-tag,可以使用正则表达式查询URL并替换成<a href="URL">URL</a>;

同样的,要把图像链接自动转换成 IMG-tag,可以使用正则表达查询IMG并替换成<img src="IMG"/>;

但是如果希望将文章中的超链接和图片分别变成 A-tag 和 IMG-tag,能否分步执行上面两个过程?显然是不行的,因为图像链接是超链接的一个子集。如果先将URL替换成<a href="URL">URL</a>;再将IMG并替换成<img src="IMG"/>;可能会发生一部分的<a href="URL">URL</a>变成了<a href="<img src="IMG"/>"><img src="IMG"/></a>,出现了冲突。

如何解决这个问题呢?

键盘快捷键

全局

?
快捷键帮助
/或⌘K
搜索
gh
首页
ga
归档
gt
标签
gc
分类
gg
回到顶部
G
跳到底部
h
较新一篇 / 上一页
l
较旧一篇 / 下一页
Esc
关闭弹窗

文章列表首页、归档、标签、分类

j
选中下一篇
k
选中上一篇
o或Enter
打开选中的文章

阅读文章和其他页面

j
向下滚动
k
向上滚动
yy
复制本页链接
c
跳到留言