木匣子

Web/Game/Programming/Life etc.

在圆内平均分布的点

要想在一个圆内随机取一个点不难,通常可以分成两个步聚:

  1. 随机选一个角度(0~360);
  2. 随机选一个小于半径的长度。

代码(processing):

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

这样可以确保点落在以原点为中心,半径为radius的圆内。 但是如果不断地重复这样取点,最终会发现在圆心的点更容易被取到,也就是说圆内的点被取到的概率不平均!最终会出现如图最左边这样的分布:

circle

Lua> io.write("\27[2J")

Programming in Lua 第六章 More About Function 开头有一个例子。它在终端屏幕上输出一个用*号组成的正弦曲线:

function eraseTerminal()
	io.write("\27\[2J")
end
-- writes an `*' at column \`x' , row \`y'
function mark (x,y)
	io.write(string.format(**"\\27\[%d;%dH*"**, y, x))
end
-- Terminal size
TermSize = {w = 80, h = 24}

-- plot a function
-- (assume that domain and image are in the range \[-1,1\])
function plot (f)
	eraseTerminal()
	for i=1,TermSize.w do
		local x = (i/TermSize.w)*2 - 1
		local y = (f(x) + 1)/2 * TermSize.h
		mark(i, y)
	end
	io.read() -- wait before spoiling the screen
end

plot(function (x) return math.sin(x\*2\*math.pi) end)

列出 cocos2d-x Android 项目中的 cpp 文件

将 cocos2d-x 的项目移植到 android 平台时,需要用 build_native.sh 来编译 cpp 文件。而在此之前,还要将项目用到的所有 ../../Classes/*.cpp 增加到 proj.android/jni/Android.mk 文件的 LOCAL_SRC_FILES := hellocpp/main.cpp \ 这行下面。

通常一个大项目会有数十甚至数百个cpp文件,如果逐一手工添加的话,必定累死。基于 DRY原则(don’t repeat yourself),必须要有一个脚本来快速完成这件事。对于强大的 shell 只要这样一句就 ok 了。

find ../../Classes/. -name "*.cpp" | xargs

鼠须管之五笔配置

实习生涯过去半个多月了,公司给配的 iMac 昨天到了。充裕的硬盘和内存,使用起来就是爽快,不用像折腾 Macbook Air 那样小心翼翼。新机子到手后,当然有很多事要做。装上各种开发工具和常用软件,当然少不了输入法! 小时候接触电脑比较早,99年当时五笔输入法很火热,学电脑都会先学打五笔。当时的拼音没有像今天这么智能,超级难用。所以五笔在大陆地区中文输入法的地位还是挺高的。没学多久就能比较流利地打字了……后来,随着年龄的增长,我的拼音水平是越来越差,所以更加依赖五笔。

USB 网卡 for MacBook Air

用了 Air 有那么一段时间了,有爱也有恨,不过还是爱更多一点,hah。Air 的轻薄注定它容不下一个小小的 RJ42 以太网接口(可见它有多薄!),所以在一到晚上就断电断网的校园环境,很有必要配备一个 USB 网卡。

至今我买了两块 USB 网卡,前一块不知道怎么地就坏了。还好这东西不贵,十几二十块就能淘到。但是选购的时候要注意一些事项:

Vimium 中文版 - 像黑客一样使用浏览器

很久以前申请了 Chrome 开发者,一直也没做些什么扩展。最近给同学介绍扩展的时候推荐了 Vimium ——这是一个我非常喜欢的工具,可以让我以 Vim Editor 的方式来浏览网页。特别是看漫画的时候,我可以手不离键地操作甚至换页(双击“]”键)。 但是很多网友抱怨它的英文键盘说明看不懂,所以我决定借助开源的力量将它做一次简单的汉化,于是就有了:

Vimium 中文版

Vimium 是一个 Google Chrome 浏览器扩展程序。受到伟大的 Vim 编辑器的启示,它向浏览器提供了一系列用于快速浏览网页的快捷键。 本项目是基于 philc/vimium 的汉化版本. 项目地址: https://github.com/mutoo/vimium Chrome 扩展地址: https://chrome.google.com/webstore/detail/vimium-中文版/bedaaeieijphebekbfnkpllociojglip?hl=zh-CN

图书馆入馆考试自动答题(2012)

今年课业很闲,在新生群里认识了很多学弟学妹,其中不乏对技术很有兴趣的同学。于是打算找几个志同道合的一起做些小项目。 正好他们军训过后要参加图书馆入馆培训,培训之后需要参加一个在线测试,分数高于80分的才可以从图书馆借阅书籍。于是我把去年写的代码翻了出来,重新运行了一下,发现很多题目已经过期了,正确率已经不足40%。这是一个不错的信号——就拿这个小项目动手吧。 这次的目标是制作一个可以自动完成入馆考试的脚本,并提供一个网页供他人使用。

键盘快捷键

全局

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

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

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

阅读文章和其他页面

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