Microsoft Visio save as EPS

February 8, 2008 2:04 pm GMT-0700 | In Tech | 6 Comments | hide

I wrote the following procedure on 2008.02.08:

To convert a Microsoft Visio document to EPS without losing scalable vector format (and without installing 3rd-party software…):

  1. Install Microsoft Save as PDF or XPS Add-in for 2007 Microsoft Office programs (only available for Office 2007?).
  2. Save Visio document as PDF in Visio 2007.
  3. Convert PDF to Postscript (.ps) with pdf2ps utility.
  4. Open .ps file with gsview, and select File -> PS to EPS, be sure to check “Automatically calculate Bounding Box”.

Now you have an EPS file to be embedded into your LaTeX document. Many other converting methods exist, see also Visio and EPS.

Here are some updates (edited on 2009.01.30):

  1. In theory, you should be able to open that saved PDF directly in gsview and convert to EPS, but gsview either crashes or refuses to accept the PDF.
  2. In some cases, e.g. when you compile LaTeX directly to PDF using pdflatex, you just need a PDF figure with correct size. In that case, you can set the document size in Visio: File -> Page Setup -> Page Size (tab) -> Size to fit drawing contents, and then save the Visio document to PDF, which will then be in correct size ready to be embedded into LaTeX.
  3. To create a Postscript file, you don’t necessarily need to save as PDF and convert to .ps using pdf2ps. All you need to do is to use a postscript printer (most modern printers are, including most PDF writers) and print to file. That would create a postscript file which can then be passed to gsview and converted to EPS by adding a bounding box. Note: this is in fact a generic way of converting anything to (vector-format) EPS/PDF with bounding box.

Tags: , , , ,

夕阳的倒影为什么这么长?

February 6, 2008 8:50 pm GMT-0700 | In Study | 2 Comments | hide

mysunset.jpg

(以上是我 10 年前拍的胶卷照片扫描的,别的网站的照片:1 2 3)夕阳的倒影为什么这么长?这么常见的现象显然是有人研究过的。这种倒影叫 glitter,主要是水面的小波纹形成的(如果是完全平静的水面,倒影自然只有镜面反射的太阳,不会拉长)。简单的模型如下图所示,我们用 α 表示太阳高度角,β 表示水面波波的最大倾角。

4b.png

对于一个小局域因为有很多不同角度的水面,所以水面反射的阳光被撒在一个 4β 的视角内;反过来,对于固定不动的人(右上图),他也可以在 4β 视角内接收到水面反射的阳光,因为小波浪足够随机,每一个局域都经常会正好有小水波面反射阳光到人眼睛里,所以人就会在 4β 视角内看到波光粼粼的水面。4β 视角是个什么概念呢?一般有微风的水面,β 大概是 5 度左右,所以 glitter 会铺开 20 度的视角,而天上太阳本身的视角只有 0.5 度,相比起来,glitter 要长很多。如果太阳高度足够低(α < 2β),glitter 将会延展到远方地平线。

上面只说了 glitter 的纵向长度,理想模型下 glitter 大概是一个椭圆,其长宽比是 1 : sin α,夕阳西下时 α 很小,所以 glitter 也会显得很长。实际的波浪分布并不会很均匀,glitter 也不会有很明确的边缘。下面这张图片是我在太平洋边拍的,大概还能看出椭圆的形状,长宽比大概是 2 : 1,所以 α 应该在 30 度左右;而根据当地经纬度和拍摄时间算出当时太阳高度是 35 度,非常接近。另外,还可以看出这张照片里近处 β 大概是 10 度左右。

img_5865.JPG

事实上,最早研究 glitter 的几篇论文也正是想从 glitter 来估计水面波涛的汹涌程度,实际模型需要考虑偏振、浪花统计分布、反射率以及照相机镜头补偿等各种复杂的因素。另外,湿路面上汽车前灯的倒影也会被拉得很长,道理是差不多的。材料学里也有人用类似的原理来估计材质表面的粗糙程度。

资料:

Tags: , , , ,

美国经济真的衰退了

February 1, 2008 11:57 pm GMT-0700 | In Life | 3 Comments | hide

隔壁实验组十来号人,每次有人离开他们都要撮饭欢送一下。上个月有个家伙毕业,他们老板对他说,你走之前吃个饭吧,于是全实验组都欢天喜地的等着撮饭。

结果今天中午该老板请这个家伙单独吃了个盒饭,囧。

年关难过啊,经济衰退波及我们学校了呢……

康神小事两件

February 1, 2008 6:51 pm GMT-0700 | In Life | 4 Comments | hide

话说丙戌年间,康神到北美湾区视察,并邀我撮饭。本着和神吃饭需要低调的原则,我们驱车半小时赶到一个偏远的小饭馆,进门一看,不过聊聊数桌,却有人朝康神挥手,后又和康神耳语良久。我在湾区待了也有几个年头,出去吃饭极少见得到熟人,实在惊叹于康神的火爆程度。

之后不久康神又邀我撮饭,实在受宠若惊,为表敬意,我开车前去接康神。当时正是晚饭时间,天已半黑,康神公司楼下川流不息,黑人白人几百个人头在我面前涌动,康神在哪里?正当我掏出手机想拨康神号码的时候,就听见人群中响起一个女声:咦?康神您也来吃饭啊?我抬头一看,康神正憨厚的对着 mm 们傻笑……认识康神不稀奇,稀奇的是在跨国大公司数百人的人流中,随时都有人能认出康神。

Tags:

TeraStation does not auto-mount USB disk

January 31, 2008 4:32 pm GMT-0700 | In Tech | 1 Comment | hide

Don’t know exactly why TeraStation does not automatically mount my external USB disk, but the fix is to manually fill in the USB disk GUID in /etc/melco/diskinfo. GUID can be obtained from /proc/scsi/usb-storage/*. Related script is possibly /etc/hotplug.d/scsi_device/usb-buffalo.hotplug.

Tags: ,

为什么签名档要拜康神

January 31, 2008 12:43 am GMT-0700 | In Misc | 6 Comments | hide

因为这样每发一篇文章,就可以自动跪拜康神一次。

从明天起,做一个虔诚的人,
学习,科研,博览群书。
从明天起,关心成绩和论文,
我有一个愿望,面朝西方,跪拜康神。

拜康神教,您心灵的港湾。

Tags: ,

音高和频率(续二)

January 30, 2008 11:59 pm GMT-0700 | In Study | 3 Comments | hide

为什么小整数频率比的两个音比较和谐?这个问题,要从乐音的谐波说起。

一般乐器发出的音都不是纯频率的音,而是由好多谐波(harmonic)组成的;其中频率最低的那个通常最强,叫做基音。比如小提琴发出音高 A4 的音,指的就是其基音是 440 Hz,而声波频谱里面同时有二次谐波 880 Hz、三次谐波 1320 Hz、四次谐波……等等。不同乐器发出的声音,其谐波强度分布往往完全不同,因此音色(timbre)也就不同(比如高谐波强的话听起来就亮一些)。乐音含有谐波这个特性和小整数比的和音规则有什么关系?以完全五度举例,A4 和 E5 的两个乐音,频率比为 2:3,而 A4 的三次谐波和 E5 的二次谐波刚好重合,都是 1320 Hz。相隔完全五度的两个乐音同时听起来比较好听,是不是因为它们大部分的谐波都重合了?

于是就有科学家做实验了。人们发现,把纯频率的音(不含谐波)A4 和 E5 同时发出来听并不怎么好听。还有人用电脑制作了扭曲的乐音,把 N 次谐波搞成 Nlog(2.1)/log(2) 倍(谐波从 2 倍拉宽到 2.1 倍,自然界是没有这种声音的),然后发现谐波重合的扭曲乐音同时听起来还比较和谐,而它们的基音却不是小整数比了。还有一些别的实验,但是结论都是差不多的,就是两个乐音和谐主要是因为他们的谐波重合,转换为数学语言,就是基音必须是小整数比。

为啥谐波重合就好听呢?这是因为,如果谐波不重合但是距离很近,它们就会干涉形成低频率的拍(beat),这种低频拍音嗡嗡作响,非常难听。两个频率距离多近才会形成不好听的拍?人们一般把这个临界距离叫做临界频宽(critical bandwidth),处于临界频宽之内的两个频率就会互相干涉。这个临界频宽本身是频率的函数,频率越高,临界频宽带也就越宽,如下图所示:

criticalband.png

可以看到,临界频宽在低频区是 100 Hz 左右;高频区大约是本身频率的 1/6。比如,900 Hz 的临界频宽是 150 Hz,这就是说,750 – 1050 Hz 频率范围内的音都会和 900 Hz 的音干涉。用音乐术语,1/6 频宽介于大二度和小三度之间(上图所示 2&3 semitones 之间),所以在高频区域里,间隔一个或者两个半音的音就会相互干涉形成不愉悦的拍。

乐音的高谐波排列非常紧密,比如 A4 的 10 次谐波和 11 次谐波分别是 4.4 kHz 4.84 kHz,间隔不到两个半音,所以高谐波之间就会相互干涉。如果对小提琴乐音做频谱分析,会发现它有很多谐波强度很弱,造成的结果是各个强谐波之间间隔都比较大,不在互相的临界频宽内,所以小提琴乐音本身极少有难听的拍,这也正是小提琴乐音很好听的原因之一。有些乐器音高很准,但是发出声音很难听,可能就是因为它自己有很多谐波互相打架,形成很多低频拍,听起来很难受。

那么为什么低频的拍听起来难听呢?有人认为这和人耳的解剖学结构有关。匈牙利生物物理学家 Georg von Békésy 发现人的耳蜗里有很多小毛毛,功能是把外界声波在内耳液体中产生的振动转换为神经电信号,而且耳蜗的特殊生理结构导致每根小毛毛只对一小段频率的振动敏感。也就是说,耳蜗就是一个频谱分析仪;而小毛毛的敏感频率段,差不多就是相应频率的临界频宽。好的乐音因为没有互相打架的拍频,小毛毛们都会做优美的简谐运动,人就会觉得很愉快;相反,如果临界频宽内有两个频率的声音,有一些小毛毛就会受到两种频率的影响,运动起来比较别扭,所以人也觉得不怎么愉快。Békésy 这个发现是得了诺贝尔医学奖的,不过后来进一步的研究发现虽然他的理论基本成立,但是数据并不正确,主要是因为 Békésy 是拿死人耳朵做实验的,因为尸体失水,耳朵的频率响应也非常不同。不过炸药奖发了就发了,也收不回了,Békésy 本人在晚年也否定了自己早期的一些研究。

如果还有人偏要问到底,为什么耳蜗里小毛毛运动别扭,人就觉得难受呢?有些问题呢,它就是没什么道理的。好不好听这本身就是个主观的问题,如果你偏要问为什么,那估计就只好把你的脑袋砸开来研究了……现代脑科学的研究已经越来越科学,越来越定量化,但是像乐音和谐度这类宏观问题上,基本上也只有一些假说,信仰假说的人多了,也就成了学派。有些哲学家对脑科学前景非常悲观,认为人自己的主观意志去研究自己的主观意志,是很难有结果的。这个说法倒是过于杞人忧天了,目前人类对脑子的了解还远远不够,可以研究的东西还多得很,不过也许在遥远的未来,人就真的要面对无法继续研究自己的问题了。

说了这么多,可千万不要以为知道了一个小整数比就可以谱曲了。翻开和声学,你会发现正统的和声规则要复杂得多,甚至用什么乐器来演奏,调起多高,是小型音乐厅还是露天演奏,等等都是需要考虑的因素。几百年前就有很多音乐家搞出各类奇奇怪怪的规则,而现代人类更是从胎教开始就逐渐接受正统的规则,作曲人即使没有受过专业训练也会在潜移默化中将这些规律继续发扬光大。事实上音乐制作已经在人类社会中形成了巨大的正反馈,某些和声规则逐渐被强化。原始部落的人们听到贝多芬的曲子,并不会神魂颠倒。所以说,可能也只有最朴素的小整数比和声规律还有一定的生理基础,现在复杂的和声学则基本上算是美学,没有道理可言。我曾经看到有人对着乐谱做傅立叶分析,研究为什么某些和声听起来好听。挺美好的音乐,偏偏硬要去扣个科学的帽子,我想说,你从小就是听这些和声规则长大的,能不觉得好听么……这个就跟我受了十多年政治教育就再也不会怀疑马克思列宁主义了是一个道理。

>> 序言 续一 续二 续三

Tags: , , ,

断词换行大战

January 22, 2008 3:57 pm GMT-0700 | In Tech | 12 Comments | hide

人物介绍:

  • 王强:网景(Netscape)公司老雇员,后成为 Mozilla 基金会骨干,主管外联;
  • 艾利:互联网世界警察 W3C 高层,负责协调 CSS3 进度;
  • 炮尔:微软(Microsoft)资深工程师,参与编写 CSS3 文字模块标准;
  • 盖兹:微软创始人之一,人称盖老板。

【第一幕】2001 年 5 月,艾利给炮尔打电话。

艾利:老炮啊,我,艾大妈。

炮尔:哎呦妈呀,好久不见嘞呀,你最近忙啥呢?

艾利:我还那样,我跟你说啊,我今天没空跟你扯。明天我们这儿有个会,要开始搞 CSS3 文字模块了,你来不来插一腿?

炮尔:啥?你们 CSS2 都没搞利落呢怎么就上 CSS3 了?我告诉你啊,上次你欠的债还没还呢,你让 Mozilla 把我们微软的 word-wrap 和 word-break 给实现了不就齐活了?还搞啥屁标准啊!

艾利:Mozilla 他们不干啊,他们非要个标准。我说,我私下早就说好让你们写标准了,你到底来不来?

炮尔:标准?啥标准?我们微软就是标准!你去外头看看多少人用我们的浏览器!

艾利:嘘,你们和网景打官司呢,别大声嚷嚷,小心 Mozilla 也告你!

炮尔:好好好,老大我服。明儿个几点开会?我今晚就飞过去。

【第二幕】第二天,W3C 会议室。

王强:炮工您好您好,很高兴见到您。听说你们 IE6 快发布了,恭喜恭喜啊!

炮尔:哪里哪里!不过我们是真的觉得这个版本很好很强大啊!

王强:听说一大批银行网站在 BETA 版上运行都有问题?嘿嘿,嘿嘿!

炮尔:这个……这个……

(艾利姗姗来迟,进入会议室)

艾利:欢迎来到 W3C,谢谢大家光临。我们 W3C 是世界上最大的互联网组织,技术实力雄厚……

炮尔:(打断)喂,你别打官腔行不行,我一会儿还要去看脱衣舞呢,难得老婆管不着我。

艾利:好那我们就直接进入正题,今天我们要协调开始 CSS3 文字模块的工作,最好下个星期就能发布一个草稿。

炮尔:大家都知道,微软早在 IE 5.5 就实现了伟大的 word-wrap 和 word-break 属性,大家只要照搬微软的文档,标准就出来了。我给大家举个例子,加了这个属性的 div,哪怕碰到再长的文字也不会把 div 撑破,比如:

ms.png

王强:首先,我赞赏微软在这方面先驱的工作,但是我并不觉得我们可以把微软这两个东西拿来直接作标准,比如同样属性的 div,可能会有这样的景象:

mz.png

王强:apart 一词被硬生生拆成了两行,这是不容许的。我觉得在这个断词换行领域,我们还有很长的路要走。

会议不欢而散,过了一个星期炮尔勉强拷贝了一下微软的文档发布了第一个 CSS3 文字模块草稿。

【第三幕】 一年后,2002 年 5 月,炮尔给王强打电话。

炮尔:小王啊,我去年请你看了脱衣舞秀,你怎么也不还个人情啊。这不 CSS3 文字模块二稿都快出了,你们 Mozilla 浏览器怎么在断词换行功能上连个动静都没有啊。

王强:这玩意儿不好搞啊。就上个月,我们才找中国佬谈过,各类标点符号能不能放行首行末的规则就快把我搞晕了。

炮尔:这个好办,我直接把我们的代码送给你们吧。我说,你还是给你们开发组施加一点压力,我这 CSS3 草稿发布出来就我们微软一个浏览器支持,我们律师怕人家告我们垄断那。

王强:还不光那一个操蛋的标点问题呢,这不我刚又收到一封中国佬的信,说他们新出了个规定,“毛主席”三个字中间也不能换行……

炮尔:我操,这都文革时候的事儿了,他们忽悠你呢。

王强:不光中文,别的语言也有问题。就说英语好了,一个词在什么地方断行,就是一个很技术的问题。比如 fucking,我是断成 fu-cking 呢,还是 fuck-ing,这很有讲究啊。

炮尔:你他妈骂我干嘛?

王强:我没骂您,我就是举个例子。再比方说了,德语 ss 中间不能断,阿拉伯语……

炮尔:行了,你们就不能随便先起个头,你们社区这么多免费劳动力,你起个头,大家自然就能贡献了。

王强:不瞒您说,这个断词换行我们开会认为是核心引擎功能,只能我们自己干。既然是核心,就不能随便乱搞,要搞就要搞个能用的。您看,光英文断词我们就得输进去整一个大英词典,工作量很大啊。

炮尔:好好,我理解。那你觉得啥时候能搞出来?

王强:今年吧,我们人都招好了,就等着写代码了。

【第四幕】镜头快速切换好几年的时光。

2003 年,Mozilla 基金会成立。断词换行功能毫无经济利益,被无限期搁置。

2004 到 2005 年,新版本 Firefox 连续发布,开发以短平快为宗旨,断词换行功能的呼声在 Bugzilla 上堆积如山,但 Mozilla 基金会视而不见。

2006 年,IE 7 开发组送给 Mozilla 一个蛋糕,祝贺 Firefox 2 发布。王强吃了一块蛋糕,感觉里面有异物,从嘴里拉出一张纸条:“你们他妈的怎么还不搞断词换行?”。

【第五幕】2008 年 1 月,盖兹在办公室找炮尔谈话。

盖兹:老炮啊,你看啊,我再过几个月就退休了,我这辈子就俩愿望,一个是把我发家的 BASIC 语言搞大,VB 搞得很成功,我很开心;还有一个我希望我们强大的 IE8 能成为 W3C 标准,你看,这只剩下没几个月了,你知道我退休前就这么一个心愿……

炮尔:盖老板,我很努力了,可是 W3C 一直不出 CSS3 标准,我也没办法啊。

盖兹:今年过年不是刚给他们送了一箱蚁力神吗?他们怎么不买帐。

炮尔:盖老板您有所不知啊,蚁力神出事儿了;而且 Mozilla 基金会刚给 W3C 送了一箱脑白金,恐怕 Firefox 还没钱开发断词换行功能,不让 CSS3 发布呢。

盖兹:好吧我知道了,你先出去吧。

盖兹给艾利打电话。

盖兹:艾大妈啊,我盖兹。

艾利:哎呦,您老还健在?

盖兹:我好得很,我问你啊,CSS3 咋还不发布呢,老子都快退休了。

艾利:这可不怪我啊,您给 Mozilla 基金会打个电话问问吧。对了啊,HTML 5 出草稿了,你们来不来插一腿?

盖兹:得,我不敢了,先这样吧,我还忙呢。

盖兹狠狠的拨了 Mozilla 基金会的号码。

“您好,这里是 Mozilla 基金会,捐钱请按 1,送钱请按 2,给钱请按 3,……和活人说话请按 0。”

盖兹按了 0,正好是王强接的。

“您好,这里是 Mozilla 基金会,我是王强,May I help you?”一口地道的伦敦腔。

“喂,我是盖老板,你大爷的你们到底什么时候搞他妈的断词换行?”

嘟……嘟……嘟……嘟……嘟……嘟……

(情节纯属虚构,如有雷同,实属巧合。)

路人甲:可是好像真事儿就是这样。

路人乙:笨!这叫艺术源于生活!

Tags: , , , , ,

« 上一页下一页 »

This weblog is licensed under a Creative Commons License.
Powered by WordPress. Theme based on Pool by Borja Fernandez.