今天抽时间专门研究了一番仿真器(emulator)和模拟器(simulator),分析过程就不写了,下面直接给出结论;有不明白的地方,可以再看参考文献和网络词典及维基的释义。

仿真器,指的是几乎能够百分之百地模拟某硬件或软件系统的全部特性、行为的装置或程序。
模拟器,指的是仿照真实的硬件、软件、环境、条件,能够在某种程度上再现这些硬件、软件、环境、条件的装置或程序。

仿真是尽可能做到全方位的模拟,而且力求逼真,有点欲将原型或模仿对象取而代之的味道。仿真更具体,接近实物(也有说接近硬件的,但肯定不局限于硬件)。
模拟只是表面上做做样子,不会有真实的过程发生;但能够给出反馈,多用于研究和培训。模拟更抽象,侧重建模

当然,也会存在模拟器与原型的近似程度堪与仿真器媲美的情况,但它们的区别还是十分明显的,那就是模拟不够“真实”,而仿真非常接近“真实”。

在参考文献中“记性不好,所以写写”的原话基础上稍作修改,可以说:

如果原型是一个人,那么仿真就是克隆一个新人(这个人的言行举止与原型几乎一模一样),模拟就是把这个人生活中的某一段录成视频(能够据以建模)。

参考文献

1.海之雁 《仿真专业词义辨析之一——模拟与仿真
2.记性不好,所以写写《Simulation & Emulation
3. 丁刚 《详述软件开发中模拟器与仿真器的区别查看全文 »

原文地址:http://weblogs.mozillazine.org/roadmap/archives/2008/04/popularity.html

看来(根据一位专家的说法是这样,不过还是感觉有点言不由衷),JavaScript最后真的流行起来了

[此处是youtub.com中一段视频,可惜被"墙"了]

对我这个从小就呆头呆脑的人来说,这段视频像是咒语又像是玩笑。(这要看你是否跟我站在了相同的立场上:绿壳鸡蛋不就流行过吗?)

布兰登·艾奇深得他那尖脑壳老板的信任,Navigator浏览器应该有自己的脚本语言,只有开发一门新语言才可行,必须在短时间内设计和实现这门语言,现有的任何语言都不能充当该角色。

我搞不清楚为什么道格(Doug)要编故事。他并不在网景公司。他亲耳听到过我回忆JavaScript诞生的经过,我在Ajax大会的发言中也讲过了。难道是想混淆视听,想在Web开发人员中掀起一股提前讨论MicroHoo C#语言的风潮?

谁知道呢,要计较这些就没完了。不过,鉴于本周是我参与创立的mozilla.org 10周年,我打算讲一点历史。

正如我多次重申过的,而且Netscape的其他人也可以证明,我是因为Netscape要在浏览器中“实现Scheme”才被招聘进公司的。当时,至少负责客户端技术的汤姆·帕坎(Tom Paguin)迈克尔·托伊(Michael Toy)瑞克·谢尔(Rick Schell),以及一个叫马克·安德森(Marc Andreessen)的家伙认为Netscape应该在HTML中嵌入一种语言,一种源程序式的编程语言。而我这个新人要去说服“尖脑壳”的老板几乎是不可能的——实际上更多的则是他们在向我解释问题。

到底是不是要基于Scheme并没有定论,但Scheme确实是吸引我加入Netscape的一个原因。在此之前,我在SGI公司期间,尼克·汤普森(Nick Thompson)引导我学习了SICP(Structure and Interpretation of Computer Programs《计算机程序的构造和解释》)。

当时真正需要的是一种有说服力的概念验证,也就是一个演示程序。在我交付演示程序之后,这个程序在极短的时间内就变为了既成事实。

没错,在加入Netscape后不久,我被调出服务器团队——由于人员不足,我在这个团队干了一段时间,在那里与麦库尔·吐温斯(McCool Twins)阿瑞·卢奥托嫩(Ari Luotonen)有了一段时间不长但很快乐的合作;1995年下半年,阿瑞和我创建了PAC(Proxy Auto Config,代理自动配置)——的时候,Oak语言已经改名为Java,而Netscape正与Sun协商将该语言包含在Navigator中。

Netscape公司内部争论的最大焦点变成了:“为什么要包含两种语言?为什么不只用Java?”得到的回答是:必须有两种语言分别面向编程圣殿中的两类最不可能走到一块的开发人员:组件开发人员——这类人使用C++或(我们希望的)Java和脚本开发人员(爱好者或专业人员)——这类人编写直接嵌入在HTML中的代码。

至于是否使用已有的语言,而不发明一门新语言,也不是我说了算的。上峰的“军令”就是这门语言必须“看起来像Java”。这样,不仅排除了Perl、Python和Tcl,也排除了Scheme。后来,1996年,约翰·奥斯特豪特(John Ousterhout)前来推广TK时,还曾因Tcl错过机会而惋惜过。

谈不上自鸣得意,但我确实为自己吸收了Scheme式的一类函数和Self式的原型(尽管不那么主流)而感到高兴。至于Java的影响,特别是Date的Y2K bug和原始类型与对象类型(如string与String)差异的影响则是非常不幸的。

时光倒转回1995年春天:我记得在此期间见到了比尔·乔伊(Bill Joy),我和他讨论了垃圾收集的细节(card marking for efficient write barriers)。比尔一上来就完全理解了我们所说的一门易用的“脚本语言”与Java的关系,他还拿微软平台的VB与C++之间的关系作类比。据我所知,比尔是我们在Sun公司的支持者。

基普·希克曼(Kipp Hickman)和我在1995年4到5月间研究了Java,基普也开始写他自己的JVM。他和我编写了NSPR的第一个版本,作为他的JVM之下的可移植层。而我在5月中上旬创建Mocha的原型时,也将该版本用作了相同的目的。

比尔说服我们放弃基普的JVM,因为它会导致与Sun的JVM中的bug无法兼容(在那个时候可谓智慧的预言)。而此时此刻,Mocha已经通过在Netscapte Navigator 2.0(的初期测试版)中的快速原型和嵌入证明它自己。

除此之外,应该说都是对历史的歪曲和调侃。JS在客户端打败了Java,只有Flash能与其竞争,而Flash又支持JS的一个衍生品——ActionScript

现在再回到流行的问题上。其实谈不谈这个问题都无所谓。然而,那些散布于互联网的流行的Ajax库,却经常以被掰碎了、压扁了,然后再以链接形式挑出来的纯文本的形式存在。难道不可以共享吗?

有一种想法——受到了不少人的质疑,最近一次发出质疑声音的人是道格——在可能将会非常长寿的script标签属性中嵌入“神秘的散列码”(crypto-hashes)。这是个好主意吗?

恐怕不是。一方面因为“神秘的散列码”理论上的完备性问题,另一方面则因为其广为人知的药饵攻击(poisoning attacks)。

还有一个主意倒是不错,这个主意我是先从罗布·塞尔(Rob Sayre)那里听说的:通过HTML5中script标签的share属性支持一种可选的“公认的URL”:
<script src=”http://my.edge.cached.startup.com/dojo-1.0.0.js”
shared=”http://o.aolcdn.com/dojo/1.0.0/dojo/dojo.xd.js”>
</script>

如果浏览器首先下载了共享的URL,而且根据HTTP的缓存规则它依然有效,那么就可以使用缓存(及预编译)的脚本,而不必从src属性指定的URL中下载。

这就避免了散列药饵的问题。这个方案只要求内容作者保证src属性指向的文件与share属性指定的这个库的公认(或流行)的版本相同即可。不过当然,我们必须信得过相应的DNS。(Ulp.)

这个方案可以避免在script标签属性值中嵌入不可预测的散列码。

欢迎大家就此问题给我留言。

好了,这次真的回到JavaScript流行的问题上了。我们都知道有些Ajax库的确流行。那JavaScript流行吗?很难说。有些Ajax开发人员表示(也证明)了对它的喜爱。但也有很多人骂它,也骂我。我依然认为JavaScript是C和Self草草结合的结果(或一个私生子)。我又想起了约翰逊博士(http://en.wikipedia.org/wiki/Dr._Samuel_Johnson)的那句话:“好的不是原创的,而原创的都不好。”

不过,这没什么。Web总要发展,否则只有死路一条。JS也一样,要不就不会有ES4了。说到ES4,很快将有下文。

Firefox 3好像也会流行的, 它的空间与时间性能测试预示了这一点。相关内容呢,我以后还会陆续地谈到。

觉道庄

2009年11月27日 原创

觉道庄村北门

青云观位于河北青县城东觉道庄村,距天津市七十五公里,观内有15座殿堂,供奉十尊神像,总占地面积一方平万米,是华北平原上历史最悠久的道观。相传春秋战国时期,老子李耳弃周守藏室史官而走,云游四方至此地隐居,德高望重的老子传经布道,救苦救难,民众相聚而居,逐渐形成村落,起名为道德庄。沧桑变迁,元初.老子分神化气,重降此庄,名为张核,道号觉道,村更名为觉道庄,觉道大师积功德,四处化缘,在原老者君讲经道场营造起一座颇有影响的道观青云观,从此,觉道庄就成了道教圣地,村周围先后建起了碧霞庵、五龙圣母庙等道观,历史上曾在此涌现出颇有道诣的道师和法师。

昨天,儿子下载了一款名叫“主题医院”的游戏,在安装了该游戏之后,电脑中的Chrome和IE就被1188.com劫持了:
1、桌面上多出来两个IE快捷方式图标,无法删除;
2、快速启动区IE和Chrome快捷方式的目标被篡改,追加了http://www.1188.com/?8后缀(见下图),无法修改;
3、注册表中多了一些带有1188.com的键值。
经过搜索并试验广大受害网友克敌方法,我总结出了比较简单易行的“反劫持”作战方案:
1、“开始>运行”,输入regedit,打开注册表编辑器,Ctrl+F,搜索“1188.com”,对搜索到的键一律格杀勿论——全都删掉;
2、由于无法修改快速启动区被篡改的IE和Chrome快捷方式,因此需要把它们先拖到桌面上,然后删除;
3、桌面上多出来的IE快捷方式也不能删除,但可以通过Windows自带的“桌面清理”工具将它们删掉,具体步骤如下:
在桌面上右键单击,然后“属性>桌面>自定义桌面>现在清理桌面”,在打开的“清理桌面向导”中点“下一步”,然后在“快捷方式”区域选中桌面上多出来的那两个IE快捷方式,然后“下一步>完成”(见下图)。
4、由于删除了快速启动区的浏览器快捷方式,所以需要自己找到浏览器的安装目录,重新创建——这个不用说都会吧。
事实上,如果这个1188.com只是劫持浏览器,建俩快捷方式,那除了恶心恶心人,让自己臭名远扬以外,也没有什么大不了的,顶多用上述方法“反劫持”罢了。但令人担心的是,如果除此之外,1188.com还会做一些不为人知的事,比如给电脑植入木马病毒,盗窃账号密码等信息,那么用户就会面临着巨大的危险——在网上也看到有人说这个网站不能访问,更能不从中下载任何东西。

昨天,儿子下载了一款名叫“主题医院”的游戏,在安装了该游戏之后,电脑中的Chrome和IE就被1188.com劫持了:

1、桌面上多出来两个IE快捷方式图标,无法删除;

2、快速启动区IE和Chrome快捷方式的目标被篡改,追加了http://www.1188.com/?8后缀(见下图),无法修改;

3、注册表中多了一些带有1188.com的键值。

经过搜索并试验广大受害网友克敌方法,我总结出了比较简单易行的“反劫持”作战方案:

1、“开始>运行”,输入regedit,打开注册表编辑器,Ctrl+F,搜索“1188.com”,对搜索到的键一律格杀勿论——全都删掉;

2、由于无法修改快速启动区被篡改的IE和Chrome快捷方式,因此需要把它们先拖到桌面上,然后删除;

3、桌面上多出来的IE快捷方式也不能删除,但可以通过Windows自带的“桌面清理”工具将它们删掉,具体步骤如下:

在桌面上右键单击,然后“属性>桌面>自定义桌面>现在清理桌面”,在打开的“清理桌面向导”中点“下一步”,然后在“快捷方式”区域选中桌面上多出来的那两个IE快捷方式,然后“下一步>完成”(见下图)。

4、由于删除了快速启动区的浏览器快捷方式,所以需要自己找到浏览器的安装目录,重新创建——这个不用说都会吧。

事实上,如果这个1188.com只是劫持浏览器,建俩快捷方式,那除了恶心恶心人,让自己臭名远扬以外,也没有什么大不了的,顶多用上述方法“反劫持”罢了。但令人担心的是,如果除此之外,1188.com还会做一些不为人知的事,比如给电脑植入木马病毒,盗窃账号密码等信息,那么用户就会面临着巨大的危险——在网上也看到有人说这个网站不能访问,更能不从中下载任何东西。

来自“首届中国动漫艺术大展”(中国美术馆2009.10.26~11.18)

中国原创漫画产业化创作流程

总体流程
剧本创作
美术设计
模型塑造
镜头设计
动画创作
特效渲染
后期输出

总体流程

  1. 剧本创作
  2. 美术设计进行造型设计和制作。通过场景、道具、角色等的设计,来创建富有感染力的画面造型和动画形象,是动画创意的重要组成部分。
  3. 模型塑造:(1)三维建模——使用特定软件制作数学的、线框表示的三维物体的过程。根据美术设计原画手工建立几何体数据模型,其过程类似于造型艺术中的雕塑;(2)场景建模——是指对环境、道具等模型的塑造,当前潮流是追求场景的高度仿真;(3)骨骼蒙皮——在三维动画中添加骨骼和蒙皮,使模型可以按照设计要求进行运动。运用运动生物力学对人或动物模型的骨骼进行控制,可以为人或动物模型产生各种符合物理特性、真实可信的动作效果;(4)肌肉系统——应用生物运动仿生力学,在三维角色模型上建造运行协调机构,实现三维模型肌肉质感的协调联动。
  4. 镜头设计是将文学剧本转化为二维或三维图像表现的分镜头脚本,用以说明叙事顺序和镜头运用。
  5. 动画创作:(1)表情口形——通过对角色面部表情和口形动画的调制,刻画角色的内心感情以及与对白相吻合的口形变化。最新的表情捕捉技术和口形自动生成系统,进一步提高了表情、口形动画调制的效果和准确性;(2)动作表演——动作表演是对于角色动作的关键帧进行调制,使其产生连续性的动作,角色的动作表演既要协调流畅,又要符合动画运动规律。
  6. 特效渲染:(1)刚体和柔体——在三维动画中对刚体和柔体进行物理特性的精确模拟,达成重力、碰撞、弹力的效果,模拟出衣料、毛发等的逼真质感;(2)粒子与流体——在三维动画中对流体和粒子的运动规律和状态进行物理模拟,表现出逼真的水、火、雨雪、烟雾等自然效果;(3)群体和变形——在三维动画中模拟出大规模角色群体运行和物体形变效果的过程;(4)灯光和材质——在三维动画中通过对灯光和物体材质的调节,营造不同物体在各种环境氛围下的特殊效果,以达到逼真的视觉效果。
  7. 后期输出包括合成、校色、音乐、音效、配音、剪辑及最终的成片输出。至此,一部完整的三维动画作品就诞生了。
现代CG动画生产流程

现代CG动画生产流程

美术设计

美术设计——进行造型设计和制作。通过场景、道具、角色等的设计,来创建富有感染力的画面造型和动画形象,是动画创意的重要组成部分。

美术设计

美术设计——进行造型设计设计和制作。通过场景、道具、角色等的设计,来创建富有感染力的画面造型和动画形象,是动画创意的重要组成部分。

查看全文 »