<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2237971340623882821</id><updated>2024-10-05T10:58:26.269+09:00</updated><category term="Linux"/><category term="生活"/><category term="python"/><category term="Howto"/><category term="ubuntu"/><category term="涂鸦"/><category term="mayavi2"/><category term="hiweed"/><category term="Commandline"/><category term="Deepin"/><category term="幽默"/><category term="社会"/><category term="视频"/><category term="贺岁"/><category term="blogger"/><category term="firefox"/><category term="geek"/><category term="google"/><category term="icon"/><category term="日语"/><category term="colinux"/><category term="vim"/><category term="vpython"/><category term="xfce"/><category term="健康"/><category term="日本"/><category term="网络工具"/><category term="Canon"/><category term="Openbox"/><category term="bash"/><category term="emacs"/><category term="english"/><category term="favicon"/><category term="greasemonkey"/><category term="iappli"/><category term="java"/><category term="tpb"/><category term="virtualbox"/><category term="vtk"/><category term="wxpython"/><category term="书"/><category term="图"/><category term="微软"/><category term="数码相机"/><category term="旅游"/><category term="段错误"/><category term="科学"/><category term="网络"/><category term="胡思乱想"/><title type='text'>ESN的菜园</title><subtitle type='html'>&#xa;笔记，见闻，感想，评论 @ 社会、*nix、体育、python、旅游、AI、摄影、SF……</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>80</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-2512781130133952653</id><published>2012-06-16T22:30:00.000+09:00</published><updated>2012-06-17T10:46:43.855+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Deepin"/><category scheme="http://www.blogger.com/atom/ns#" term="Howto"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Openbox"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>老机新生——Openbox的简洁使用方式</title><content type='html'>老黑T41已经高龄8岁，历经多次硬件升级：内存从256M，512M，到现在的1G；硬盘从30G，40G，到现在60G，另外又把光驱换成了硬盘架，把原装的30G插了回去；风扇换了两次；加了内置无线网卡。自从Ubuntu成为主力OS后，就一直跑得很欢。 &lt;br /&gt;
&lt;br /&gt;
但是自从去年&lt;a href=&quot;http://zesn.blogspot.jp/2011/07/linux-deepin-1106.html&quot; target=&quot;_blank&quot;&gt;升级到Linux Deepin 11.06&lt;/a&gt;，桌面环境从xfce转为gnome，响应严重滞后，显出龙钟老态。这样凑合了半年，终于忍无可忍，一方面准备入手新机，一方面死马当活马医，顺便比较了几个轻量级桌面环境和窗口管理器，最后决定试试&lt;a href=&quot;http://openbox.org/wiki/Help:GNOME/Openbox&quot; target=&quot;_blank&quot;&gt;Openbox&lt;/a&gt;。安装设置非常简单，性能提升效果显著，而且使用环境变化不大，转移成本可忽略不计。这半年下来，老黑可谓老当益壮，风采不减当年，看来又可健康工作若干年。&lt;br /&gt;
&lt;br /&gt;
Openbox有两种使用方式，（1）作为独立的桌面环境，（2）作为成熟桌面环境的窗口管理器。前者复杂，需要安装一些辅助软件、设置很多东西，时间精力成本太高；网上的资料大都是这方面的。但是我采用后者，即把它当作gnome的窗口管理器，安装设置很简单，同时性能大幅提升，又不影响易用性。如果不是比T41还老的机器，如果不想自虐，强烈推荐后者，性价比极高。步骤如下：&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;安装&lt;/li&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
sudo apt-get install openbox
&lt;/blockquote&gt;
&lt;li&gt;启用openbox&lt;/li&gt;
在【首选项】-【启动应用程序】中添加一项命令“openbox --replace”。 &lt;br /&gt;
&lt;li&gt;设置快捷键&lt;/li&gt;
设置文件是~/.config/openbox/rc.xml，可以先拷贝一个例子再修改：
&lt;blockquote class=&quot;tr_bq&quot;&gt;
mkdir -p ~/.config/openbox &lt;br /&gt;
cp /etc/xdg/openbox/rc.xml ~/.config/openbox
&lt;/blockquote&gt;
这个文件已经设置了各式快捷键，注解也很全面，删、改即可满足一般要求。&lt;/ol&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/2512781130133952653/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2012/06/openbox.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/2512781130133952653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/2512781130133952653'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2012/06/openbox.html' title='老机新生——Openbox的简洁使用方式'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-8078944293053888814</id><published>2011-09-02T21:35:00.000+09:00</published><updated>2012-06-16T22:36:07.819+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Deepin"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>如何关闭ubuntu 11.04启动音乐</title><content type='html'>夜深人静，蹑影潜形，开启电脑，却被启动音乐败露踪迹。&lt;br /&gt;
上下求索，发现启动时有两段音乐，登录界面的音乐和登录成功后的音乐：&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;登录界面的声音&lt;br /&gt;在“菜单——系统管理——登录界面”里，首先选中“播放登录声音”，关闭此对话框，然后再进来，取消此选项，即可关闭。&lt;br /&gt;默认显示的是没有选中，但实际有声音，这一点够迷惑人的。应该是bug。 &lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;登录成功后的声音&lt;br /&gt;在“菜单——首选项——启动应用程序”里，取消gnome login sound，即可关闭。&lt;/li&gt;
&lt;/ol&gt;
补充一点，这两段音乐都在/usr/share/sounds/根目录或子目录下，可以替换为自己喜欢的音乐。我安装的是&lt;a href=&quot;http://www.linuxdeepin.com/&quot;&gt;LinuxDeepin 11.06&lt;/a&gt;，相关文件在/usr/share/sounds/LinuxDeepin/stereo/下。&lt;br /&gt;
&lt;ol&gt;
&lt;/ol&gt;
&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/8078944293053888814/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2011/09/ubuntu1104.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/8078944293053888814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/8078944293053888814'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2011/09/ubuntu1104.html' title='如何关闭ubuntu 11.04启动音乐'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-5874755352792899978</id><published>2011-07-23T20:43:00.007+09:00</published><updated>2012-06-16T22:36:37.601+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Deepin"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="tpb"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Linux Deepin 11.06的安装与调整</title><content type='html'>Linux Deepin 11.06发布了，忍不住诱惑，抛弃了原来的10.06，保留/home的情况下，安装了11.06。安装过程与&lt;a href=&quot;http://zesn.blogspot.com/2010/07/linux-deepin-1006.html&quot;&gt;ESN的菜园: Linux Deepin 10.06的安装与调整&lt;/a&gt;基本相同。安装完毕，各个功能键就都能用了，只是Fn+F3有问题，是锁定而非关闭屏幕。&lt;br /&gt;
&lt;br /&gt;
另外，按照&lt;a href=&quot;http://zesn.blogspot.com/2010/07/linux-deepin-1006.html&quot;&gt;ESN的菜园: Linux Deepin 10.06的安装与调整&lt;/a&gt;的方法进行了设置，但tpb无法自动启动。按照&lt;a href=&quot;http://evelynnote.blogspot.com/2010/04/thinkpad-on-ubuntu-910.html&quot;&gt;这篇博文&lt;/a&gt;设置了nvram组的MODE，竟然无法启动了。只好在命令行下删除了刚才添加的文件/etc/udev/rules.d/50-udev-default.rules。仔细查看了/lib/udev/rules.d/50-udev-default.rules，发现其中有此命令&lt;br /&gt;
&lt;pre&gt;KERNEL==&quot;mem|kmem|port|nvram&quot;, GROUP=&quot;kmem&quot;, MODE=&quot;0640&quot;&lt;/pre&gt;
于是，将当前用户加入到kmem组，重启，问题解决。&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/5874755352792899978/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2011/07/linux-deepin-1106.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/5874755352792899978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/5874755352792899978'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2011/07/linux-deepin-1106.html' title='Linux Deepin 11.06的安装与调整'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-7911227354074863928</id><published>2011-02-10T21:53:00.004+09:00</published><updated>2012-06-16T22:37:06.757+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Deepin"/><category scheme="http://www.blogger.com/atom/ns#" term="Howto"/><category scheme="http://www.blogger.com/atom/ns#" term="icon"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="xfce"/><title type='text'>找回Linux Deepin 10.06（xfce4）桌面上的图标和文件</title><content type='html'>以前曾经写过&lt;a href=&quot;http://zesn.blogspot.com/2009/07/xfce.html&quot;&gt;找回xfce桌面上的图标和文件&lt;/a&gt;。不幸再次发生，桌面光秃秃只剩背景图片，在桌面上单击右键也无效，更不幸的是，原来的补救方法也无效了，根本找不到“允许xfce管理桌面”选项。&lt;a href=&quot;http://ubuntuforums.org/showthread.php?p=7041274#post7041274&quot;&gt;这里&lt;/a&gt;提到运行xfdesktop，在终端控制台试了一下，果然有效。不关闭运行xfdesktop的终端控制台，注销用户，记得选中“保存session以便下次登入时使用”，这样以后就会自动启动xfdesktop。&lt;br /&gt;
&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/7911227354074863928/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2011/02/linux-deepin-1006xfce4.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/7911227354074863928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/7911227354074863928'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2011/02/linux-deepin-1006xfce4.html' title='找回Linux Deepin 10.06（xfce4）桌面上的图标和文件'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-7490306379932882367</id><published>2010-07-25T21:05:00.034+09:00</published><updated>2012-06-16T22:37:30.929+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Deepin"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Linux Deepin 10.06的安装与调整</title><content type='html'>计划在6月发布的Linux Deepin 10.06姗姗来迟，7月初放出beta版后，连续发布RC1、2、3之后，终于在7月23日下午两点多正式发布。作为Hiweed的老用户，向开发者表示感谢和祝贺！在此将安装中遇到的问题和解决方案记录下来，以示支持。&lt;br /&gt;
&lt;br /&gt;
相关软硬件情况&lt;br /&gt;
硬件：Thinkpad T41，&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;内存 1G&lt;/li&gt;
&lt;li&gt;CPU Intel(R) Pentium(R) M processor 1400MHz&lt;/li&gt;
&lt;li&gt;声卡 ICH4 - Intel 82801DB-ICH4&lt;/li&gt;
&lt;li&gt;显卡 ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500]&lt;/li&gt;
&lt;li&gt;网卡 Intel Corporation 82540EP Gigabit Ethernet Controller (Mobile) (rev 03)&lt;/li&gt;
&lt;li&gt;无线网卡 Intel Corporation PRO/Wireless 2915ABG [Calexico2] Network Connection (rev 05)&lt;/li&gt;
&lt;/ul&gt;
原有系统：Hiweed 2和Windows XP&lt;br /&gt;
&lt;br /&gt;
文件系统情况：&lt;br /&gt;
&lt;pre&gt;esn@esn-laptop:~$ df
文件系统           1K-块        已用     可用 已用% 挂载点
/dev/sda10             3616412    528232   2904476  16% /
udev                    512964       292    512672   1% /dev
none                    512964       380    512584   1% /dev/shm
none                    512964       180    512784   1% /var/run
none                    512964         0    512964   0% /var/lock
none                    512964         0    512964   0% /lib/init/rw
/dev/sda3              5916720   5361660    249636  96% /home
/dev/sda9              6287752   1834240   4134104  31% /usr
/dev/sda1              5115640   4850008    265632  95% /media/sda1
/dev/sda5             15346880  15180408    166472  99% /media/sda5
/dev/sda6             20469984  20431568     38416 100% /media/sda6
/dev/sda7             20469984  20019136    450848  98% /media/sda7&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
首先按照&lt;a href=&quot;http://rudd-o.com/en/linux-and-free-software/a-better-way-to-create-a-customized-ubuntu-live-usb-drive&quot;&gt;A better way to create a customized USB drive with Ubuntu Live on it&lt;/a&gt;所讲的方法制作了启动U盘，用此U盘启动后安装。&lt;br /&gt;
&lt;br /&gt;
安装步骤很简单，设置分区，时区，用户即可，很快即安装完毕。&lt;br /&gt;
&lt;br /&gt;
首次启动之后，就基本可以使用了。&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;显示和声音正常&lt;/li&gt;
&lt;li&gt;调整LCD亮度（Fn+Home，Fn+End）、音量和开关键盘灯（Fn+PgUp）的快捷键都正常&lt;/li&gt;
&lt;li&gt;待机功能正常，待机的快捷键（Fn+F4）也能用。这是最让我满意的，在Hiweed2下曾折腾数次均无功而返。&lt;/li&gt;
&lt;li&gt;无线网卡驱动正常安装。&lt;/li&gt;
&lt;li&gt;Windows下的各分区正常挂载。（在安装过程的调整分区时，我将Windows下的各分区挂载到/media下。如果没有做此操作，不知安装程序能否自动挂载。&lt;br /&gt;）&lt;/li&gt;
&lt;li&gt;另外，Windows XP正常保留下来。&lt;/li&gt;
&lt;/ol&gt;
我的/home是单独的分区，所以原有的设置都保留下来（例如bash的设置，firefox的设置和插件等等，好处多多），同时也带来一些问题：&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;开始菜单比较乱，凑合用。&lt;/li&gt;
&lt;li&gt;自定义键盘快捷键设置（例如Ctrl+F9启动firefox）虽然没变，但不起作用。先设置为默认值，然后重新设置即起作用了。需要注意的是，原先只有在“键盘”处设置，在此新版本中，还有“窗口管理器”设置窗口相关的快捷键，例如水平最大化等。&lt;/li&gt;
&lt;li&gt;NetworkManager的applet没有启动。我原来一直用/etc/network/interfaces设置网络，在NetworkManager已经接管的情况下是无效的。开始时我不明所以浪费了很多时间。执行nm-applet即可启动，然后就可以设置网络。在开始菜单－设置－“Session和启动”中勾选“网络管理器”后即可在下次登录时自动启动。&lt;/li&gt;
&lt;li&gt;字体模糊。重新设置喜欢的字体即可。我使用文泉驿微米黑。为GVIM设置字体，可以在~/.gvimrc中添加下面一行（用fc-list可以查看系统的字体）：&lt;br /&gt;&lt;pre&gt;set gfn=WenQuanYi\ Micro\ Hei\ 12&lt;/pre&gt;
&lt;/li&gt;
下面的问题与原有设置无关：&lt;br /&gt;&lt;br /&gt;
&lt;li&gt;GVIM的菜单无法显示。参考&lt;a href=&quot;http://forum.ubuntu.org.cn/viewtopic.php?f=68&amp;amp;t=268875&quot;&gt;这里&lt;/a&gt;。与其不同的是，我这里没有报错，只是菜单空白。&lt;br /&gt;&lt;pre&gt;cd /usr/share/vim/vim72/lang
sudo ln -s menu_zh_cn.utf-8.vim menu_zh_cn.utf8.vim&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;没有OSD（调整音量、LCD亮度时的屏幕提示）。安装tpb即可，并调整参数使其显示与Windows一致。（参照&lt;a href=&quot;http://ease.blogbus.com/logs/1707339.html&quot;&gt;在Thinkpad上安装Ubuntu笔记&lt;/a&gt;和&lt;a href=&quot;http://www.thinkwiki.org/wiki/Tpb&quot;&gt;Tpb - ThinkWiki&lt;/a&gt;）&lt;br /&gt;&lt;pre&gt;sudo apt-get install tpb
sudo cp /etc/tpbrc ~/.tpbrc&lt;/pre&gt;
编辑~/.tpbrc，在最后加入&lt;br /&gt;&lt;pre&gt;OSDFONT   -bitstream-bitstream vera sans-medium-r-*-*-*-240-*-*-*-*-iso10646-1
OSDCOLOR    Green
OSDVERTICAL 50
OSDHORIZONTAL 30
OSDALIGN    CENTER&lt;/pre&gt;
把当前用户加入到nvram组，并将tpb加入自动启动程序。&lt;/li&gt;
&lt;li&gt;关闭屏幕的快捷键Fn+F3不起作用。目前以合上本本代替。&lt;/li&gt;
&lt;li&gt;&quot;系统&quot;－&quot;软件源&quot;无法使用。在终端运行sudo software-properties-gtk，将得到如下出错信息：&lt;br /&gt;&lt;pre&gt;Traceback (most recent call last):
File &quot;/usr/bin/software-properties-gtk&quot;, line 113, in
app = SoftwarePropertiesGtk(datadir=data_dir, options=options, file=file)
File &quot;/usr/lib/python2.6/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py&quot;, line 87, in __init__
SoftwareProperties.__init__(self, options=options, datadir=datadir)
File &quot;/usr/lib/python2.6/dist-packages/softwareproperties/SoftwareProperties.py&quot;, line 90, in __init__
self.reload_sourceslist()
File &quot;/usr/lib/python2.6/dist-packages/softwareproperties/SoftwareProperties.py&quot;, line 538, in reload_sourceslist
self.distro.get_sources(self.sourceslist)
File &quot;/usr/lib/python2.6/dist-packages/aptsources/distro.py&quot;, line 90, in get_sources
raise NoDistroTemplateException(&quot;Error: could not find a &quot;
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template&lt;/pre&gt;
&lt;br /&gt;其错误在于找不到ID为Deepin的sourcelist模版。而ID保存在/etc/lsb-release内，将其第一行&lt;br /&gt;&lt;pre&gt;DISTRIB_ID=Deepin&lt;/pre&gt;
改为&lt;br /&gt;&lt;pre&gt;DISTRIB_ID=Ubuntu&lt;/pre&gt;
即可解决问题。&lt;/li&gt;
&lt;li&gt;摄像头没有图像。修改使用摄像头的程序的快捷方式，例如skype&lt;br /&gt;&lt;pre&gt;bash -c &#39;LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype&#39;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Virtualbox独占音频。修改&lt;/li&gt;
&lt;li&gt;还有一个不算问题的问题，即没有安装PDF打印机。安装cups-pdf即可：&lt;br /&gt;&lt;pre&gt;sudo apt-get install cups-pdf&lt;/pre&gt;
&lt;br /&gt;有文章说，还需要手动在用户目录下建立PDF目录。&lt;/li&gt;
&lt;/ol&gt;
接下来就是安装所需的程序了。&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/7490306379932882367/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2010/07/linux-deepin-1006.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/7490306379932882367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/7490306379932882367'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2010/07/linux-deepin-1006.html' title='Linux Deepin 10.06的安装与调整'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-4185687621267504233</id><published>2010-07-24T21:52:00.008+09:00</published><updated>2010-07-26T22:50:32.048+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>重装linux之前的准备</title><content type='html'>重装linux之前，将下列设置保存下来，可以方便以后参考。&lt;br /&gt;1.家目录内的dotfiles&lt;br /&gt;.bash_profile  .inputrc     .mutt.alias  .profile&lt;br /&gt;.bashrc        .mailcap     .muttrc      .vimrc&lt;br /&gt;.bash_history  .gvimrc      .mime.types  .procmailrc&lt;br /&gt;&lt;br /&gt;2.xfce开始菜单&lt;br /&gt;/usr/share/applications&lt;br /&gt;&lt;br /&gt;3.exim4设置&lt;br /&gt;/etc/exim4/passwd.client&lt;br /&gt;/etc/exim4/update-exim4.conf.conf&lt;br /&gt;&lt;br /&gt;4.crontab设置&lt;br /&gt;crontab -e&lt;br /&gt;然后另存&lt;br /&gt;&lt;br /&gt;5.网络设置&lt;br /&gt;/etc/network/interface&lt;br /&gt;/etc/network/resolv.conf&lt;br /&gt;&lt;br /&gt;6.挂载设置&lt;br /&gt;/etc/fstab&lt;br /&gt;也可以保存df命令的输出。&lt;br /&gt;&lt;br /&gt;7.分区设置&lt;br /&gt;sudo fdisk -l&lt;br /&gt;&lt;br /&gt;8.使用FEBE保存firefox扩展，设置，。。。&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/4185687621267504233/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2010/07/linux.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/4185687621267504233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/4185687621267504233'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2010/07/linux.html' title='重装linux之前的准备'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-1810989193662072890</id><published>2010-03-04T22:34:00.008+09:00</published><updated>2010-07-26T22:18:43.101+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Commandline"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>使用xclip在命令行程序与X程序之间交换数据</title><content type='html'>xclip是一个非常有用的命令行小工具，帮忙命令行程序和X程序通过X系统的剪切缓冲区交换数据。xclip有两个基本功能:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;将标准输入或从文件得到数据写入X系统的剪切缓冲区，用户就可以在X程序中单击鼠标中键，粘贴刚才xclip得到的数据。&lt;/li&gt;&lt;br /&gt;例如在命令行中执行命令“ls | xclip”，然后在firefox的文本输入框中单击鼠标中键，就可以将文件列表粘贴进去。&lt;br /&gt;&lt;br /&gt;&lt;li&gt;将X系统剪切缓冲区中的数据输出到标准输出或文件。&lt;/li&gt;&lt;br /&gt;例如在firefox中用鼠标选中一段话，然后在命令行中执行命令“xclip -o &gt; file.txt”，就将刚才选中的文字保存在文件file.txt中了。&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;需要注意，X系统有两个剪切缓冲区：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;主选择区XA_PRIMARY，存放鼠标选中区域的数据(使用鼠标中键可以粘贴此数据)&lt;/li&gt;&lt;li&gt;剪贴板XA_CLIPBOARD，对应Windows系统的剪贴板，存放通过菜单命令“编辑/复制”得到的数据(可以使用菜单命令“编辑/粘贴”进行粘贴)&lt;/li&gt;&lt;/ul&gt;xclip默认使用X系统的主选择区，如果想使用剪贴板，可以使用选项“-sel clip”。例如在firefox中使用“Ctrl+C”快捷键复制了一段文字，在命令行中执行命令“xclip -sel clip -o &gt; file.txt”可以把刚才复制的文字写入文件file.txt。&lt;br /&gt;&lt;br /&gt;xclip还提供了 xclip-copyfile，xclip-pastefile，xclip-cutfile，顾名思义用于文件的复制粘贴剪切，可以方便地在目录甚至电脑(前体是建立了X11链接)之间复制移动文件。下面的例子摘自xclip的README：&lt;br /&gt;&lt;pre&gt;&lt;span class=&quot;term_note&quot;&gt;# Copying a file to a remote host&lt;/span&gt;&lt;br /&gt;[maggie.lkpg.cendio.se ~]$ &lt;span class=&quot;term_command&quot;&gt;echo &quot;A file created on ${HOSTNAME}&quot; &gt; file1&lt;/span&gt;&lt;br /&gt;[maggie.lkpg.cendio.se ~]$ &lt;span class=&quot;term_command&quot;&gt;xclip-copyfile file1&lt;/span&gt;&lt;br /&gt;[sofie.homeip.net ~/doc]$ &lt;span class=&quot;term_command&quot;&gt;xclip-pastefile&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;file1&lt;/span&gt;&lt;br /&gt;[sofie.homeip.net ~/doc]$ &lt;span class=&quot;term_command&quot;&gt;cat file1&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;A file created on maggie.lkpg.cendio.se&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;term_note&quot;&gt;# Copying an entire tree structure&lt;/span&gt;&lt;br /&gt;[sofie.homeip.net ~]$ &lt;span class=&quot;term_command&quot;&gt;xclip-copyfile doc&lt;/span&gt;&lt;br /&gt;[maggie.lkpg.cendio.se ~/tmp]$ &lt;span class=&quot;term_command&quot;&gt;xclip-pastefile&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;doc/&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;doc/letter-mom-april.txt&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;doc/file1&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;doc/letter-dad-march.txt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;term_note&quot;&gt;# Copying files with preserved path information&lt;/span&gt;&lt;br /&gt;[maggie.lkpg.cendio.se ~]$ &lt;span class=&quot;term_command&quot;&gt;xclip-copyfile -p /etc/sysconfig/grub&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;tar: Removing leading `/&#39; from member names&lt;/span&gt;&lt;br /&gt;[sofie.homeip.net ~/tmp]$ &lt;span class=&quot;term_command&quot;&gt;xclip-pastefile&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;etc/sysconfig/grub&lt;/span&gt;&lt;br /&gt;[sofie.homeip.net ~/tmp]$ &lt;span class=&quot;term_command&quot;&gt;ls etc/sysconfig/grub&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;etc/sysconfig/grub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;term_note&quot;&gt;# Moving files&lt;/span&gt;&lt;br /&gt;[sofie.homeip.net ~]$ &lt;span class=&quot;term_command&quot;&gt;ls letter-brother-may.txt&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;letter-brother-may.txt&lt;/span&gt;&lt;br /&gt;[sofie.homeip.net ~]$ &lt;span class=&quot;term_command&quot;&gt;xclip-cutfile letter-brother-may.txt&lt;/span&gt;&lt;br /&gt;[sofie.homeip.net ~]$ &lt;span class=&quot;term_command&quot;&gt;ls letter-brother-may.txt&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;ls: cannot access letter-brother-may.txt: No such file or directory&lt;/span&gt;&lt;br /&gt;[sofie.homeip.net ~]$ &lt;span class=&quot;term_command&quot;&gt;cd doc&lt;/span&gt;&lt;br /&gt;[sofie.homeip.net ~/doc]$ &lt;span class=&quot;term_command&quot;&gt;xclip-pastefile&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;term_say&quot;&gt;letter-brother-may.txt&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ubuntu 8.10带的xclip是0.08版，不支持utf-8。从&lt;a href=&quot;http://sourceforge.net/projects/xclip/&quot;&gt;这里&lt;/a&gt;可以下到最新版，我下到的是0.12，使用utf-8没有问题。&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/1810989193662072890/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2010/03/xclipx.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1810989193662072890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1810989193662072890'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2010/03/xclipx.html' title='使用xclip在命令行程序与X程序之间交换数据'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-4558639644493999060</id><published>2010-02-22T00:35:00.003+09:00</published><updated>2010-04-24T22:47:20.691+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="涂鸦"/><category scheme="http://www.blogger.com/atom/ns#" term="生活"/><title type='text'>豆宝生日快乐</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNLAUSEJOK2hlRaDhWllaeGLCdKNgMbAJ97Eqh4FJxGiW9GYIzwYR8zf5lI7RocAJOpDsff4RCiYq58VXatqq9oVlzxijowmHKTaDzzbORU283r1AABhWJfZ14zJwUXokmnR4akQkCFxo/s1600-h/img_0006.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNLAUSEJOK2hlRaDhWllaeGLCdKNgMbAJ97Eqh4FJxGiW9GYIzwYR8zf5lI7RocAJOpDsff4RCiYq58VXatqq9oVlzxijowmHKTaDzzbORU283r1AABhWJfZ14zJwUXokmnR4akQkCFxo/s320/img_0006.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5444802808830327506&quot; /&gt;&lt;/a&gt;&lt;br /&gt;祝豆宝生日快乐！衷心祝愿微笑与健康常相伴，豁达从容的人生智慧和真挚温馨的友情亲情与日俱增。&lt;br /&gt;&lt;br /&gt;在豆宝的强烈要求下，没有用手机而是用了纸笔。这是根据豆宝在海边临风远眺的照片临摹的，照片上豆宝那充满希望而又恬静的微笑非常迷人——至少在我眼里，呵呵——但可惜水平有限，此画未能表现其一分。看在这是10年内第一副纸笔作画的份上，打个51分，鼓励一下。&lt;br /&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/4558639644493999060/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2010/03/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/4558639644493999060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/4558639644493999060'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2010/03/blog-post.html' title='豆宝生日快乐'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNLAUSEJOK2hlRaDhWllaeGLCdKNgMbAJ97Eqh4FJxGiW9GYIzwYR8zf5lI7RocAJOpDsff4RCiYq58VXatqq9oVlzxijowmHKTaDzzbORU283r1AABhWJfZ14zJwUXokmnR4akQkCFxo/s72-c/img_0006.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-1710691427922293183</id><published>2010-02-13T22:19:00.014+09:00</published><updated>2010-04-24T22:52:29.440+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="生活"/><category scheme="http://www.blogger.com/atom/ns#" term="贺岁"/><title type='text'>小虎做客 迎接虎年</title><content type='html'>朋友回老家过年，昨天把一岁的小猫送到豆那里寄养几日。&lt;br /&gt;小猫与小老虎有几分神似，就叫它小虎。不过脑门上没有王字，更显得楚楚可怜。&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXGWGa2seEH0MZeQsnu4r-2xh6zRqbvPn4z2RyzQiINdtXX_5wiZWf7EVq7b5pqi0w2VV3FKWDlO2vUWi51NHvPLc2SlvSpIzP6euddBMg-0ojcoFIaxPi6AoxhfVDxLUZ7DSR5UgHSok/s1600-h/007.2.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXGWGa2seEH0MZeQsnu4r-2xh6zRqbvPn4z2RyzQiINdtXX_5wiZWf7EVq7b5pqi0w2VV3FKWDlO2vUWi51NHvPLc2SlvSpIzP6euddBMg-0ojcoFIaxPi6AoxhfVDxLUZ7DSR5UgHSok/s320/007.2.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5437723239069788002&quot; /&gt;&lt;/a&gt; &lt;center&gt;脑门没有王字&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9yUVJZSubiZ8PL-XKC1fq8qGJxSjvTWi19Hc8sZakugfUiSarOCmOPO4NjEOB0Se6x1FQ1ygEHsG52sZUl5UNDMamgQ9lYU5e_zSqI7hJG_cyEyfZKdyAc3htp3nMgzkeD8J4TJcpEPk/s1600-h/014.1.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9yUVJZSubiZ8PL-XKC1fq8qGJxSjvTWi19Hc8sZakugfUiSarOCmOPO4NjEOB0Se6x1FQ1ygEHsG52sZUl5UNDMamgQ9lYU5e_zSqI7hJG_cyEyfZKdyAc3htp3nMgzkeD8J4TJcpEPk/s320/014.1.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5437734677766139042&quot; /&gt;&lt;/a&gt; &lt;center&gt;瞧这眼神&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4u7Y9waNzY1b9NevB8YoyQ621MEEIpQDN36ZOAbFuz6_DqcLo0sElyMCTPTdNh-xzJ40nk1Qc5rpmox-LqmGnTB7JyaVfzQ4IvqQF33oUk6fSnA6DuW7HoGuAucguFPqBaS2ONaJw2vc/s1600-h/003.2.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4u7Y9waNzY1b9NevB8YoyQ621MEEIpQDN36ZOAbFuz6_DqcLo0sElyMCTPTdNh-xzJ40nk1Qc5rpmox-LqmGnTB7JyaVfzQ4IvqQF33oUk6fSnA6DuW7HoGuAucguFPqBaS2ONaJw2vc/s320/003.2.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5437735533632130546&quot; /&gt;&lt;/a&gt; &lt;center&gt;悠闲的思考者&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;平日朋友上班时，就放一盆猫食和若干水，把小虎关在屋里一整天，真不知它一只猫如何度日。现在到了新环境，兴奋极了，巡视全家，不放过一个角落——除了看，主要是用鼻子闻。有个椅子腿掉铁锈，它沾了一鼻子，不迭地甩头、用爪子扒拉。不过这点问题挡不住它的好奇心，继续探查它的新领地。它还很黏人，每探索一个新角落，都会跑回人那里，在脚下纠缠半天，再继续未竟事业。&lt;br /&gt;&lt;br /&gt;朋友说小猫很讲卫生，找不到砂盆就不便便。果然一白天它方便几次都很规矩。以前可能从没有这么玩一白天的，晚上一关灯，它就趴在豆的棉拖鞋上睡着了，还打着鼾，把豆羡慕坏了。可是早晨4点多它就不睡了，在床上爬上爬下，豆只好开门放它到客厅里。可是它害怕，不停地叫，豆又把它抱回卧室。有段时间豆感觉小虎在扒拉被子，后来就闻到臭味，再一看，小虎在被子上便便了，位置就在人腿括着的凹陷之处，形状质地倒也基本符合它的标准。估计是找不到砂盆，熬不过，就地刨坑解决。&lt;br /&gt;&lt;br /&gt;PS：&lt;a href=&quot;http://zesn.blogspot.com/2009/01/2.html&quot;&gt;牛年找蜗牛说事&lt;/a&gt;，虎年又弄只假的，虽然有点不地道，但主角已经星光耀眼了，我就找找关系户，凑个热闹图个新鲜。正所谓：亲戚师长来捧场，欢喜吉祥过大年。&lt;br /&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/1710691427922293183/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2010/02/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1710691427922293183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1710691427922293183'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2010/02/blog-post.html' title='小虎做客 迎接虎年'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXGWGa2seEH0MZeQsnu4r-2xh6zRqbvPn4z2RyzQiINdtXX_5wiZWf7EVq7b5pqi0w2VV3FKWDlO2vUWi51NHvPLc2SlvSpIzP6euddBMg-0ojcoFIaxPi6AoxhfVDxLUZ7DSR5UgHSok/s72-c/007.2.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-2388451506497390325</id><published>2009-12-09T10:55:00.003+09:00</published><updated>2010-02-11T13:26:38.517+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iappli"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>文件编码害死人，聪明反被聪明误</title><content type='html'>最近给DoCoMo的手机编一个小程序。DoCoMo手机上的程序称为iAppli，是DoCoMo定制的Java程序。DoCoMo提供iAppli模拟器，可以在PC上调试此类程序。&lt;br /&gt;&lt;br /&gt;我用VIM编辑程序代码，遇到奇怪的输出乱码问题。看了模拟器的设置，在程序中指定了字体，做了编码转换，做了种种努力，黔驴技穷，死活不知道问题在哪里。最后用上了愚公移山的办法，把各部分代码逐渐拷贝到一个正常运行的例子程序中去，一点一点试，直到例子程序完全与出问题的程序一样了，还是正常输出，我快要疯了。&lt;br /&gt;&lt;br /&gt;在Cygwin下用file命令查看，才发现文件编码不同：&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ file serialtest1.java&lt;br /&gt;serialtest.java: Non-ISO extended-ASCII Java program text, with CRLF line terminators&lt;br /&gt;&lt;br /&gt;$ file serialtest2.java&lt;br /&gt;serialtest2.java: UTF-8 Unicode Java program text, with CRLF line terminators&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;前者是从模拟器自带的例子程序直接修改的，后者则是重新建立的文件。iAppli模拟器竟然不支持UTF-8！&lt;br /&gt;&lt;br /&gt;这个沉痛教训再一次证明，问题通常都很简单，KISS不仅适用于设计程序，也适用于调试程序。&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/2388451506497390325/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/12/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/2388451506497390325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/2388451506497390325'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/12/blog-post.html' title='文件编码害死人，聪明反被聪明误'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-3703093889830904606</id><published>2009-11-24T00:00:00.003+09:00</published><updated>2009-11-24T00:03:44.166+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Quicksilver的Linux替代软件</title><content type='html'>&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Quicksilver_%28software%29&quot;&gt;Quickslive&lt;/a&gt;是Mac下著名软件，用户可以使用键盘快速地启动程序，操作文件数据，执行脚本。Linux下也有功能类似的软件。当然，最自然的就是Shell命令行了，各种选项加上命令补全，在高手那里威力无穷。对于喜欢图形界面的朋友，可以选择下面的程序(我使用Xfce，所以对此环境下的应用更多一些关注)：&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Launchy&quot;&gt;Launchy&lt;/a&gt;：功能强大，原来是Windows下的程序，现在也移植到了Linux。&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/GNOME_Do&quot;&gt;Gnome do&lt;/a&gt;：有很多插件，功能强大(对于Xfce用户：Gnome do是Gnome程序，但是并不会降低Xfce的速度，只是需要安装额外的软件包，升级时自然也需要更多的时间。)&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://sourceforge.net/projects/gmrun/&quot;&gt;gmrun&lt;/a&gt;：功能非常简单，但是完美无缺。提供一个&quot;run program&quot;的窗口，具有bash一样的TAB补全，支持CTRL-R / CTRL-S / &quot;!&quot; 等搜索历史命令的功能，使用CTRL-Enter可以在终端运行，还支持打开URL。有了这个，就不用总是开着终端了。&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://bashrun.sourceforge.net/&quot;&gt;bashrun&lt;/a&gt;：功能少，但是可以使用bash下自定义的别名。&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Dmenu&quot;&gt;dmenu&lt;/a&gt;：轻量，功能简单。&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/GNOME_Launch_Box&quot;&gt;Gnome-Launch-Box&lt;/a&gt;：轻量，功能较多，对借助于wine安装的程序及桌面上的脚本程序也有效，但是似乎停止开发了。&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.xfce.org/projects/xfce4-appfinder&quot;&gt;xfce4-appfinder&lt;/a&gt;:Xfce自带的程序查找软件，功能单一。&lt;/li&gt;&lt;li&gt;Xfrun：Xfce自带，类似Windows下开始菜单的“运行程序”。&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;可以参考wikipedia上的&lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Comparison_of_application_launchers#Linux&quot;&gt;比较列表&lt;/a&gt;，以及这里的讨论：&lt;a href=&quot;http://bbs.archlinux.org/viewtopic.php?id=61820&quot;&gt;Arch Linux Forums / Alternative menu/Quicksilver Launcher for Xfce?&lt;/a&gt;&lt;br /&gt;&lt;div class=&quot;zemanta-pixie&quot;&gt;&lt;img src=&quot;http://img.zemanta.com/pixy.gif?x-id=63561b3d-210c-8f2f-a2ec-85c55d3aa986&quot; alt=&quot;&quot; class=&quot;zemanta-pixie-img&quot; /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/3703093889830904606/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/11/quicksilverlinux.html#comment-form' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/3703093889830904606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/3703093889830904606'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/11/quicksilverlinux.html' title='Quicksilver的Linux替代软件'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-6976322166362156872</id><published>2009-11-21T23:59:00.001+09:00</published><updated>2010-04-24T22:53:56.673+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="涂鸦"/><category scheme="http://www.blogger.com/atom/ns#" term="生活"/><title type='text'>香妞1岁啦！</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWqHvTfiC8UF1qy7ErTO0g3DoLq5-1kSQ-odHehB1EBADAm6AyCG8wF39aYEKq41wK2RyoGgbXRnYZnBhwNPRc1Ey5xKA9CkFHzUHMxrA__tHRtYBNEd3CVXo3sSjSc5Zp4z9mkomYhmo/s1600-h/glx6.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWqHvTfiC8UF1qy7ErTO0g3DoLq5-1kSQ-odHehB1EBADAm6AyCG8wF39aYEKq41wK2RyoGgbXRnYZnBhwNPRc1Ey5xKA9CkFHzUHMxrA__tHRtYBNEd3CVXo3sSjSc5Zp4z9mkomYhmo/s320/glx6.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5436632058674289922&quot; /&gt;&lt;/a&gt;&lt;br /&gt;朋友的爱女，大名的最后一个字是“香”，我自作主张亲切地叫她“香妞，香妞”，可是她不答应，只是不解地看着我，意思是，你在说什么呢？&lt;br /&gt;&lt;br /&gt;祝愿香妞健康成长，聪明快乐！&lt;br /&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/6976322166362156872/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/11/1.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/6976322166362156872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/6976322166362156872'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/11/1.html' title='香妞1岁啦！'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWqHvTfiC8UF1qy7ErTO0g3DoLq5-1kSQ-odHehB1EBADAm6AyCG8wF39aYEKq41wK2RyoGgbXRnYZnBhwNPRc1Ey5xKA9CkFHzUHMxrA__tHRtYBNEd3CVXo3sSjSc5Zp4z9mkomYhmo/s72-c/glx6.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-5327768074521117428</id><published>2009-10-19T21:49:00.006+09:00</published><updated>2010-02-11T00:16:04.991+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="涂鸦"/><title type='text'>古镇一角</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIMfg2kBi-sPWZtpmOkFqfZP1Qw5NCSJO0QGragWUVB_yDREfEbnDii_ZTojq5ATDL3iEI9nvp5Fyhki5E2xBEqEfRoU_131Y0u0BB_VWScqwdyrWwB6krIDCoUWSLok_0-Dji7yX8_pM/s1600-h/oldstreet.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIMfg2kBi-sPWZtpmOkFqfZP1Qw5NCSJO0QGragWUVB_yDREfEbnDii_ZTojq5ATDL3iEI9nvp5Fyhki5E2xBEqEfRoU_131Y0u0BB_VWScqwdyrWwB6krIDCoUWSLok_0-Dji7yX8_pM/s320/oldstreet.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5394297443946384722&quot; /&gt;&lt;/a&gt;&lt;br /&gt;闲着无事，看到一个小饰物上的图案，就看着画起来。大概10分钟左右，有事要做，就放下了。不想再修饰了，就这么放上来。&lt;br /&gt;&lt;br /&gt;由于手机屏幕狭窄，精简了不少。比较喜欢原图的白描类型，笔墨不多，特点尽显。期望某一天，看着实景或者凭借回忆与想象，寥寥几笔就勾勒出特征鲜明的画图，我心足矣。&lt;br /&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/5327768074521117428/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/10/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/5327768074521117428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/5327768074521117428'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/10/blog-post.html' title='古镇一角'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIMfg2kBi-sPWZtpmOkFqfZP1Qw5NCSJO0QGragWUVB_yDREfEbnDii_ZTojq5ATDL3iEI9nvp5Fyhki5E2xBEqEfRoU_131Y0u0BB_VWScqwdyrWwB6krIDCoUWSLok_0-Dji7yX8_pM/s72-c/oldstreet.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-1394367517878658180</id><published>2009-08-16T09:22:00.003+09:00</published><updated>2009-08-24T21:51:43.542+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="社会"/><category scheme="http://www.blogger.com/atom/ns#" term="胡思乱想"/><title type='text'>美黑运动</title><content type='html'>21世纪末期，非洲国家异军突起，经济和军事实力傲视全球，为核战废墟中重建的亚欧北美提供了巨大的人力物力资金支持，非洲文化也随之风靡世界。例如，黑肤丰肌受到爱美人士的推崇，日光浴和户外健身热潮迭起。尤其是黄种人妇女，摆脱了美白的困扰，走出室外，亲近自然，投入轰轰烈烈的阳光健身运动，又称美黑运动。此名字并不贴切，非黑种人妇女没有像历史上追求白人肤色那样追求黑人肤色，而是崇尚健康自然。关于此名字的流行，有大量的学术著作进行探讨，是美黑学的重要组成部分。&lt;br /&gt;&lt;br /&gt;据有关机构统计，由于妇女健身狂潮，男女平均寿命差屡创新高。另一个相关因素——男性战争伤亡，由于众所周知的原因未被媒体提及。著名搜索引擎Hoohle显示，2199年的搜索关键字中，“三八男人节”首次超过“三八妇女节”的搜索次数。由于影响深远，美黑运动与历史上欧洲妇女解除束胸、中国妇女解除裹脚，一并被誉为三大妇女解放运动，是核战带来的唯一积极后果。&lt;br /&gt;&lt;br /&gt;护肤品制造商与时俱进，雪肌类型换成了墨黑系列。据称，增强阳光吸收并保持皮肤光洁远比阻止阳光制造白皙效果困难得多，因而科技含量更高。“墨一样黑亮，墨一样柔腻”的广告词脍炙人口，中国的徽墨也受惠与此，销量大增，甚至受到收藏家追捧。&lt;br /&gt;&lt;br /&gt;男人也深受美黑运动的影响。据报道，死于忧郁症的欧洲著名白人舞蹈艺人逊克杰生前酷爱日光浴，甚至睡觉时也要用500W的白炽灯照着，有人怀疑其严重的忧郁症与此有关。&lt;br /&gt;......&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;在海滨浴场游泳时，大铃为了防止晒出色斑，带着帽子撑着伞，只在岸边踩踩水，遂有上面的胡思乱想。&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/1394367517878658180/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/08/blog-post_16.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1394367517878658180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1394367517878658180'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/08/blog-post_16.html' title='美黑运动'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-1475062036907283177</id><published>2009-08-07T22:30:00.011+09:00</published><updated>2009-08-23T08:58:02.754+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mayavi2"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Mayavi2 用户手册4——使用Mayavi应用程序</title><content type='html'>内容来自&lt;a href=&quot;http://code.google.com/p/mayavi2-cn/&quot;&gt;Mayavi2的中文文档项目&lt;/a&gt;。本篇文档的源文件在&lt;a href=&quot;http://code.google.com/p/mayavi2-cn/source/browse/trunk/docs/source/mayavi/application.rst&quot;&gt;这里&lt;/a&gt;。欢迎感兴趣的朋友&lt;a href=&quot;http://code.google.com/p/support/wiki/HowToJoinAProject&quot;&gt;加入&lt;/a&gt;。其他文档的帖子在&lt;a href=&quot;http://zesn.blogspot.com/search/label/mayavi2&quot;&gt;这里&lt;/a&gt;。&lt;hr /&gt;&lt;br /&gt;&lt;div class=&quot;topic&quot;&gt; &lt;p&gt;&lt;span class=&quot;notetitle&quot;&gt;章节概要&lt;/span&gt;&lt;/p&gt;     &lt;blockquote&gt;      &lt;p&gt;     本章主要关注如何使用&lt;code&gt;mayavi2&lt;/code&gt;应用程序。这里的一些内容也适用于在脚本中使用mayavi。我们建议新用户阅读此章以获得关于交互使用库程序的知识。     &lt;/p&gt;      &lt;/blockquote&gt; &lt;/div&gt;    &lt;h4 id=&quot;l2999225143300283875440ui413034036890241202406723616&quot;&gt;用户界面(UI)的通常布局&lt;/h4&gt;  &lt;p&gt; 当&lt;cite&gt;mayavi2&lt;/cite&gt;应用程序启动时，将出现一个如下图所示的用户界面。 &lt;/p&gt;  &lt;p&gt;  &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOc54NvmcRHx2sS7b0DJPpY-pEJLfRwmq3YOt8CY_XenqpdHJDoP3su5rosyBRsERtXz7RVREuWpwQDsZJDhQwBD-u2zOdP4bD2WGfL7ZVnHsMZoOGSLxZrbk_8Zt2PjX8ItUInlzNX8k/s1600-h/mayavi_ui_first.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 266px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOc54NvmcRHx2sS7b0DJPpY-pEJLfRwmq3YOt8CY_XenqpdHJDoP3su5rosyBRsERtXz7RVREuWpwQDsZJDhQwBD-u2zOdP4bD2WGfL7ZVnHsMZoOGSLxZrbk_8Zt2PjX8ItUInlzNX8k/s320/mayavi_ui_first.jpg&quot; border=&quot;0&quot; alt=&quot;Mayavi的初始用户界面窗口&quot; id=&quot;BLOGGER_PHOTO_ID_5367215646802492418&quot; /&gt;&lt;/a&gt;  &lt;/p&gt;&lt;p&gt; &lt;span style=&quot;font-style:italic;&quot;&gt;Mayavi的初始用户界面窗口&lt;/span&gt;&lt;/p&gt; &lt;p&gt; 此用户界面包括如下几部分。 &lt;/p&gt;    &lt;dl&gt;&lt;dt class=&quot;normal&quot;&gt;  菜单&lt;/dt&gt;&lt;dd class=&quot;normal&quot;&gt;       &lt;p&gt; 使用菜单可以打开文件，载入模块，设置首选项等。 &lt;/p&gt;     &lt;/dd&gt;&lt;dt class=&quot;normal&quot;&gt;  Mayavi引擎树视图(engine tree view)&lt;/dt&gt;&lt;dd class=&quot;normal&quot;&gt;       &lt;p&gt; 这是mayavi管道的树视图。 * 右键单击一个树节点可以可以重命名、删除、复制对象。 &lt;/p&gt;         &lt;ul class=&quot;circle&quot;&gt;&lt;li&gt;  &lt;p&gt; 左键单击一个节点，可以在树视图下面的对象编辑器中编辑其属性。 &lt;/p&gt;         &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 可以在树视图上拖动节点。例如可以把一个模块从一组模块拖到另一组，或者把一个场景从一个可视化移到另一个可视化。 &lt;/p&gt;     &lt;/li&gt;&lt;/ul&gt;   &lt;/dd&gt;&lt;dt class=&quot;normal&quot;&gt;  对象编辑器(object editor)&lt;/dt&gt;&lt;dd class=&quot;normal&quot;&gt;       &lt;p&gt; 当单击mayavi管道中的一个对象时，在这里可以编辑其属性。 &lt;/p&gt;     &lt;/dd&gt;&lt;dt class=&quot;normal&quot;&gt;  TVTK场景(scene)&lt;/dt&gt;&lt;dd class=&quot;normal&quot;&gt;       &lt;p&gt; 这里显示数据可视化结果。可以使用鼠标和键盘与场景交互。更多细节在下面的章节中。 &lt;/p&gt;     &lt;/dd&gt;&lt;dt class=&quot;normal&quot;&gt;  Python解释器(interpreter)&lt;/dt&gt;&lt;dd class=&quot;normal&quot;&gt;       &lt;p&gt; 内置的Python解释器可以用来执行mayavi脚本和做其他事情。可以从mayavi的树视图内将节点拖到解释器内，然后对此节点所代表的对象编写脚本。 &lt;/p&gt;       &lt;p&gt;     如果你安装了高于0.9.1的&lt;a href=&quot;http://ipython.scipy.org/&quot; title=&quot;IPython&quot;&gt;IPython&lt;/a&gt;，Python解释器将使用IPython。     &lt;/p&gt;    &lt;/dd&gt;&lt;dt class=&quot;normal&quot;&gt;  日志(Logger)&lt;/dt&gt;&lt;dd class=&quot;normal&quot;&gt;       &lt;p&gt; 可以在此查看应用程序日志消息。 &lt;/p&gt;   &lt;/dd&gt;&lt;/dl&gt;  &lt;p&gt; Mayavi的用户界面布局具有高可配置性： &lt;/p&gt;   &lt;ul class=&quot;circle&quot;&gt;&lt;li&gt;  &lt;p&gt; 可以拖动各部分之间的线以改变相应视图的大小。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 大部分标签可以拖到程序内的任意地方。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 每个视图(mayavi引擎视图，对象编辑器，python解释器和日志)都可以在“View”菜单中打开和关闭。 &lt;/p&gt;   &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt; 每次改变mayavi的界面设置，都被保存下来，下一次启动应用程序会保持相同的设置。另外，也可以使用&lt;cite&gt;View-&gt;Perspectives&lt;/cite&gt;菜单项将不同的布局保存为不同的“perspectives”。 &lt;/p&gt;  &lt;p&gt; 下面是一个特定配置的mayavi用户界面。这里各部分的大小都被改变了。 &lt;/p&gt;  &lt;p&gt; &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ-iGxQPKY22YbvQAZvVp3Xyg5yJ5lq3mlOycMHUHP7l5MSt9G61-HaNIHxkCu9tJyZiMqs5Lr_DNsv8rV4TrfT0gP_s69MX88_-ENSfzonZ8N1sMzXarMj8cITNjR3KZWPz5QcEeR7Y4/s1600-h/mayavi_ui_second.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 267px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ-iGxQPKY22YbvQAZvVp3Xyg5yJ5lq3mlOycMHUHP7l5MSt9G61-HaNIHxkCu9tJyZiMqs5Lr_DNsv8rV4TrfT0gP_s69MX88_-ENSfzonZ8N1sMzXarMj8cITNjR3KZWPz5QcEeR7Y4/s320/mayavi_ui_second.jpg&quot; border=&quot;0&quot; alt=&quot;特定配置的mayavi用户界面&quot; id=&quot;BLOGGER_PHOTO_ID_5367216179923764370&quot; /&gt;&lt;/a&gt;  &lt;/p&gt;  &lt;p&gt; &lt;span style=&quot;font-style:italic;&quot;&gt;特定配置的mayavi用户界面&lt;/span&gt; &lt;/p&gt;  &lt;h4 id=&quot;l2148735270212702596825454&quot;&gt;可视化数据&lt;/h4&gt;  &lt;p&gt; 在Mayavi中可视化数据可通过下列步骤实现：将数据载入为&lt;cite&gt;数据源(data sources)&lt;/cite&gt;，将可视化模块应用于这些数据源以可视化数据，更多描述请参考an-overview-of-mayavi和learning-mayavi-by-example。 &lt;/p&gt;  &lt;p&gt; 在使用&lt;cite&gt;模块&lt;/cite&gt;或&lt;cite&gt;过滤器&lt;/cite&gt;之前，需要载入数据或进行类似的操作。Mayavi支持几种数据文件格式，最主要的是VTK数据文件格式。或者，mlab &lt;simple-scripting-with-mlab&gt;可用来从&lt;cite&gt;numpy&lt;/cite&gt;矩阵中载入数据。关于数据结构的更多信息，请参考 data-structures-used-by-mayavi。 &lt;/p&gt;  &lt;p&gt; 数据被载入后，就可以使用各种过滤器filters过滤或其他方法修改数据，然后使用几个模块 modules来可视化数据。 &lt;/p&gt;  &lt;p&gt; 这里列出所有的Mayavi&lt;cite&gt;模块&lt;/cite&gt;和&lt;cite&gt;过滤器&lt;/cite&gt;。此列表作为参考很有用: &lt;/p&gt;  &lt;div class=&quot;unknown&quot;&gt;&lt;strong&gt;Unknown element:&lt;/strong&gt;&lt;br /&gt;.. toctree::     &lt;blockquote&gt;      &lt;p&gt;     modules.rst     filters.rst     &lt;/p&gt;      &lt;/blockquote&gt; &lt;/div&gt;    &lt;h4 id=&quot;l1998222330262232013220114&quot;&gt;与场景交互&lt;/h4&gt;  &lt;p&gt; 在用户界面中的TVTK场景可以通过单击标签的“x”图标来关闭。每个场景有一个工具栏，包括各种功能： &lt;/p&gt;    &lt;ul class=&quot;circle&quot;&gt;&lt;li&gt;  &lt;p&gt; 设置沿着X、Y和Z轴正负方向的等比例视图的按钮。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 打开平行投影代替默认的透视投影的按钮。查看二维图形时特别有用。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 显示xyz坐标轴的按钮。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 打开全屏视图的按钮。注意，进入全屏模式后，可以输入“q”或“e”回到正常窗口。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 将场景保存为各种图形格式的按钮。图形格式取决于文件后缀。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 打开场景配置界面的按钮。 &lt;/p&gt;   &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt; 与场景交互的主要方法是使用鼠标和键盘。 &lt;/p&gt;  &lt;h3 id=&quot;l40736266312013220114&quot;&gt;鼠标交互&lt;/h3&gt;  &lt;p&gt; 有两种鼠标交互的模式。 &lt;/p&gt;    &lt;ul class=&quot;circle&quot;&gt;&lt;li&gt;  &lt;p&gt; 照相机模式：默认模式，使用鼠标操作照相机。输入“c”键可激活此模式。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 角色模式(Actor mode)：使用鼠标操作其所指向的角色。输入“a”键可激活此模式。 &lt;/p&gt;   &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt; 场景视图可以通过操作鼠标进行变换，通常是按住鼠标键然后拖动从而完成操作。 &lt;/p&gt;    &lt;ul class=&quot;circle&quot;&gt;&lt;li&gt;  &lt;p&gt; 按住鼠标左键并拖动将在移动的方向上旋转照相机/角色。 &lt;/p&gt;           &lt;ul class=&quot;disc&quot;&gt;&lt;li&gt;  &lt;p&gt; 同时按住“SHIFT”键将移动场景——正如按住鼠标中键并拖动一样。 &lt;/p&gt;           &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 同时按住“CONTROL”将围绕照相机焦点旋转。 &lt;/p&gt;           &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 同时按住“SHIFT”和“CONTROL”并向上拖动将放大，向下则缩小。这与右键相同。 &lt;/p&gt;     &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 按住右键并向上拖动将放大(或增加角色比例)，向下拖动则缩小(或减小角色比例)。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 按住鼠标中键并拖动将移动场景或移动(translate)对象。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 向上滚动鼠标滚轮将放大，反之缩小。 &lt;/p&gt;   &lt;/li&gt;&lt;/ul&gt; &lt;h3 id=&quot;l38190304242013220114&quot;&gt;键盘交互&lt;/h3&gt;  &lt;p&gt; 场景支持下列键盘命令： &lt;/p&gt;   &lt;ul class=&quot;circle&quot;&gt;&lt;li&gt;  &lt;p&gt; &#39;3&#39;: 打开/关闭立体渲染(stereo render)。如果“stereo”首选项没有设为True，此命令可能无效。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;a&#39;: 将鼠标交互设为角色模式。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;c&#39;: 将鼠标交互设为照相机模式。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;e&#39;/&#39;q&#39;/&#39;Esc&#39;: 退出全屏模式。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;f&#39;: 将照相机焦点移到鼠标所指位置。这将移动照相机焦点从而将视图中心移动至鼠标所指位置。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;j&#39;: 将鼠标交互设为操纵杆模式。在操纵杆模式中，鼠标在一定程度上模拟操纵杆。例如，按住鼠标左键从中心移开将转动场景。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;l&#39;: 配置场景的照明。这将打开一个弹出窗口以改变照明设置。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;p&#39;: 获取鼠标位置处的数据。这将打开一个弹出窗口显示获取的数据。此界面允许用户改变获取数据的来源：单元(cell)，点(point)，或任意点(arbitrary point)。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;r&#39;: 重置照相机焦点和位置。这是个很方便的命令。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;s&#39;: 将场景保存为图片。这将打开一个文件选择对话框，文件名后缀决定图片类型。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;t&#39;: 将鼠标交互设为轨迹球模式(trackball mode)，此为鼠标交互的默认模式。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;=&#39;/&#39;+&#39;: 放大。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;-&#39;: 缩小。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; &#39;方向键&#39;: 按方向键可以转动照相机。同时按下&quot;SHIFT&quot;键，则移动照相机。 &lt;/p&gt;   &lt;/li&gt;&lt;/ul&gt;    &lt;h4 id=&quot;l208693262230340python352993732222120&quot;&gt;内置的Python解释器&lt;/h4&gt;  &lt;p&gt; 内置的Python解释器为产生超强功能提供了可能性。此解释器具有命令补全、文档自动生成、工具提示和多行编辑等功能。另外，它还提供下列功能： &lt;/p&gt;   &lt;ul class=&quot;circle&quot;&gt;&lt;li&gt;  &lt;p&gt; 名字&lt;code&gt;mayavi&lt;/code&gt;自动地绑定到&lt;code&gt;enthought.mayavi.script.Script&lt;/code&gt;实例，方便编写mayavi脚本。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 名字``application``绑定到envisage程序。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 如果通过&lt;code&gt;File-&gt;Open File...&lt;/code&gt;菜单项打开Python文件，可以使用一个具有语法高亮功能的编辑器对其编辑。使用&lt;code&gt;Control-r&lt;/code&gt;可以执行脚本，&lt;code&gt;Control-s&lt;/code&gt;可保存文件，当编写简单mayavi脚本时很方便。也可以使用&lt;code&gt;Control-n&lt;/code&gt;和&lt;code&gt;Control-s&lt;/code&gt;增大和减少字体。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 正如上面提到的，可以从Mayavi引擎树视图中将节点拖入Python解释器，对象将被正常写入脚本语句。通常使用的模式如下: &lt;/p&gt;   &lt;pre&gt;   &gt;&gt;&gt; tvtk_scene_1&lt;br /&gt;  &lt;enthought.mayavi.core.scene.scene&gt;&lt;br /&gt;  &gt;&gt;&gt; s = _&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;在此例中，名称\ ``s``\ 被绑定到拖入的tvtk_scene对象。\ ``_``\ 变量保存了最后使用的表达式，这里即为拖入的对象。使用\ ``tvtk_scene_1``\ 也可以，但此变量名称是系统自动生成的，其中的数字没有具体含义(mouthful)。&lt;br /&gt;  &lt;/li&gt;&lt;/ul&gt;    &lt;h4 id=&quot;l332582116029983251043305026412&quot;&gt;自动生成脚本&lt;/h4&gt;  &lt;p&gt; Mayavi具有非常便利和强大的脚本记录功能，可用于下列方面： &lt;/p&gt;   &lt;ul class=&quot;disc&quot;&gt;&lt;li&gt;  &lt;p&gt; 将所有操作记录为&lt;em&gt;易于阅读&lt;/em&gt;的Python脚本，可以用来重新生成可视化结果。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 易于学习Mayavi的编码基础和如何编辑脚本。 &lt;/p&gt;   &lt;/li&gt;&lt;/ul&gt;    &lt;h3 id=&quot;l2440521046mayavi2580520316200263305026412&quot;&gt;录制mayavi操作为脚本&lt;/h3&gt;  &lt;p&gt; 这里是使用此功能的方法： &lt;/p&gt;   &lt;ol class=&quot;decimal&quot;&gt;&lt;li&gt;  &lt;p&gt; 当启动&lt;code&gt;mayavi2&lt;/code&gt;程序时，引擎视图(树视图)的工具栏有一个红色的记录图标，在问号图标旁边，单击此图标。此操作也可以在独立的mlab会话中进行。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 将弹出一个窗口，其中有一些样本代码行，可以独立运行或使用下列方式运行：&lt;code&gt;mayavi2 -x script.py&lt;/code&gt;或者&lt;code&gt;python script.py&lt;/code&gt;。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 在UI内进行想做的操作，此时可以看到执行这些操作所需的代码。例如，产生一个新数据源(通过增加节点对话框，文件菜单或右键单击任意选项)，然后增加一个模块/过滤器等等。在树视图中编辑对象。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 移动UI中的照相机，旋转，放大，缩小。所有这些操作将产生相应的代码。对于照相机，只有最终位置被存下来(否则将产生无数无用的代码行)。对于场景的主要键盘操作将被记录(除了 &#39;c&#39;/&#39;t&#39;/&#39;j&#39;/&#39;a&#39;)。这意味着程序将记录方向键和&#39;+&#39;/&#39;-&#39;键等。 &lt;/p&gt;       &lt;p&gt;     进行操作的同时代码被更新，这是学习mayavi API的好方式。     &lt;/p&gt;   &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 完成操作后，再次单击记录图标，程序将询问保存文件的名称，例如&lt;code&gt;script.py&lt;/code&gt;。如果只对代码感兴趣而不愿保存文件，单击&#39;cancel&#39;。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 关闭记录窗口，退出Mayavi(如果你愿意)。 &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 现在从解释器输入: &lt;/p&gt;   &lt;pre&gt; $  mayavi2 -x script.py&lt;br /&gt;&lt;/pre&gt;      &lt;p&gt;     或:     &lt;/p&gt;  &lt;pre&gt; $ python script.py&lt;br /&gt;&lt;/pre&gt;      &lt;p&gt;     这样将运行所有代码，回到你上次离开时的状态。你可以自由地修改此脚本--事实上这正是自动代码生成的意义所在！     &lt;/p&gt;  &lt;/li&gt;&lt;/ol&gt;  &lt;p&gt; 也可以对现有的Mayavi会话进行编程，理解这一点很重要。所以，如果启动mayavi后，你做了一些操作，或运行一个mayavi脚本，接着想记录以 后的操作，这是可以完成的。按照以前一样的流程进行即可。这里需要记住的一点是脚本记录器不创建你在此会话中已经建立的对象。 &lt;/p&gt;  &lt;div class=&quot;note&quot;&gt; &lt;p&gt;&lt;span class=&quot;notetitle&quot;&gt;Note&lt;/span&gt;&lt;/p&gt;      &lt;blockquote&gt;      &lt;p&gt;     也可以删除或拖动mayavi树视图中的对象。然而这可能不是你想在自动记录的脚本中所进行的操作。     &lt;/p&gt;      &lt;/blockquote&gt; &lt;/div&gt;  &lt;p&gt; 正如前面所谈到的，脚本记录在&lt;code&gt;mlab&lt;/code&gt;会话中或其他使用mayavi的地方都有效。任何&lt;code&gt;mlab&lt;/code&gt;专用代码不会被记录，只有使用OO Mayavi API的代码才会被记录下来。 &lt;/p&gt;    &lt;h3 id=&quot;l3848021046&quot;&gt;限制&lt;/h3&gt;  &lt;p&gt; 脚本记录器将记录大多数重要的操作。但不支持下列操作： &lt;/p&gt;    &lt;ul class=&quot;disc&quot;&gt;&lt;li&gt;  &lt;p&gt; 在场景中，“c”/“t”/“j”/“a”/“p”按键操作不能正确地记录。原因在于其实现非常复杂，对于基本的脚本编写没有必要。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 对界面的任意的脚本显然不会正常工作。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 只有改变特性(trait)和执行的特定方法(call)能被记录在代码中。所以执行任意对象的任意方法通常不会被记录下来，只有mayavi引擎的特定方法可以被记录下来。 &lt;/p&gt;   &lt;/li&gt;&lt;/ul&gt;    &lt;h4 id=&quot;l2162920196348922144225968&quot;&gt;命令行参数&lt;/h4&gt;  &lt;p&gt; 下面的章节将介绍几个``mayavi2``应用程序的命令行参数。这些介绍也可以在&lt;code&gt;mayavi2&lt;/code&gt;的用户手册中找到。 &lt;/p&gt;  &lt;p&gt; 完整的管道可以通过命令行建立起来，所以Mayavi可以集成在shell脚本中提供可视化功能。 &lt;/p&gt;  &lt;p&gt; 可以如下运行Mayavi: &lt;/p&gt;  &lt;pre&gt; mayavi2 [options] [args]&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 这里的&lt;code&gt;arg1&lt;/code&gt;，&lt;code&gt;arg2&lt;/code&gt;等等是可选的文件名，对应于已经保存的Mayavi2可视化(&lt;code&gt;filename.mv2&lt;/code&gt;)，Mayavi2脚本(&lt;code&gt;filename.py&lt;/code&gt;)或任何Mayavi支持的数据文件。如果没有提供参数或选项，mayavi将以默认的空白场景启动。 &lt;/p&gt;  &lt;p&gt; 这些选项如下： &lt;/p&gt;  &lt;dl class=&quot;option&quot;&gt;&lt;dt class=&quot;option&quot;&gt;-h&lt;/dt&gt;&lt;dd class=&quot;option&quot;&gt; &lt;p&gt;    打印所有命令行选项然后退出。与&lt;code&gt;--help&lt;/code&gt;相同。&lt;/p&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;dl class=&quot;option&quot;&gt;&lt;dt class=&quot;option&quot;&gt;-V&lt;/dt&gt;&lt;dd class=&quot;option&quot;&gt; &lt;p&gt;    打印Mayavi版本然后退出。与&lt;code&gt;--version&lt;/code&gt;相同。&lt;/p&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;dl class=&quot;option&quot;&gt;&lt;dt class=&quot;option&quot;&gt;-z file_name&lt;/dt&gt;&lt;dd class=&quot;option&quot;&gt; &lt;p&gt;    载入之前保存的Mayavi2可视化。与&lt;code&gt;--viz file_name&lt;/code&gt;及&lt;code&gt;--visualization file_name&lt;/code&gt;相同。&lt;/p&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;dl class=&quot;option&quot;&gt;&lt;dt class=&quot;option&quot;&gt;-d data_file&lt;/dt&gt;&lt;dd class=&quot;option&quot;&gt; &lt;p&gt;    打开所支持格式的数据文件或非文件的数据源对象，包括VTK文件格式(&lt;em&gt;.vtk, &lt;/em&gt;.xml, &lt;em&gt;.vt[i,p,r,s,u], &lt;/em&gt;.pvt[i,p,r,s,u])，VRML2 (&lt;em&gt;.wrl)，3D Studio (&lt;/em&gt;.3ds)，PLOT3D (*.xyz)和其他所支持的格式。&lt;/p&gt;        &lt;p&gt;       &lt;code&gt;data_file``也可以是非文件的数据源，例如\ ``ParametricSurface&lt;/code&gt;或&lt;code&gt;PointLoad&lt;/code&gt;将载入对应的数据源。本选项与&lt;code&gt;--data&lt;/code&gt;相同。       &lt;/p&gt;  &lt;/dd&gt;&lt;/dl&gt; &lt;dl class=&quot;option&quot;&gt;&lt;dt class=&quot;option&quot;&gt;-m module-name&lt;/dt&gt;&lt;dd class=&quot;option&quot;&gt; &lt;p&gt;    模块是事际上对数据进行可视化的对象。给定的&lt;code&gt;module-name&lt;/code&gt;将被载入当前&lt;code&gt;ModuleManager&lt;/code&gt;。模块名字必须有效，否则将得到出错信息。&lt;/p&gt;        &lt;p&gt;       如果模块像这样给出：&lt;code&gt;package.sub.module.SomeModule&lt;/code&gt;，那么模块(&lt;code&gt;SomeModule&lt;/code&gt;)将从``package.sub.module``中导入。&lt;code&gt;mayavi2&lt;/code&gt;的标准模块不需要完整路径，例如:       &lt;/p&gt;  &lt;pre&gt; mayavi2 -d data.vtk -m Outline -m user_modules.AModule&lt;br /&gt;&lt;/pre&gt;        &lt;p&gt;       在此例中，&lt;code&gt;Outline&lt;/code&gt;是标准模块，&lt;code&gt;user_modules.AModule&lt;/code&gt;是某个用户自定义模块。本选项与&lt;code&gt;--module&lt;/code&gt;相同。       &lt;/p&gt;  &lt;/dd&gt;&lt;/dl&gt; &lt;dl class=&quot;option&quot;&gt;&lt;dt class=&quot;option&quot;&gt;-f filter-name&lt;/dt&gt;&lt;dd class=&quot;option&quot;&gt; &lt;p&gt;    过滤器是以某种方式过滤数据的对象。&lt;code&gt;filter-name&lt;/code&gt;将载入并对应于当前的源对象或过滤器对象。过滤器必须有效，否则将得到出错信息。&lt;/p&gt;        &lt;p&gt;       如果过滤器像这样给出：&lt;code&gt;package.sub.filter.SomeFilter&lt;/code&gt;，那么过滤器(&lt;code&gt;SomeFilter&lt;/code&gt;)将从&lt;code&gt;package.sub.filter&lt;/code&gt;导入。&lt;code&gt;mayavi2&lt;/code&gt;的标准过滤器不需要完整路径。例如:       &lt;/p&gt;  &lt;pre&gt; mayavi2 -d data.vtk -f ExtractVectorNorm -f user_filters.AFilter&lt;br /&gt;&lt;/pre&gt;        &lt;p&gt;       在此例中，&lt;code&gt;ExtractVectorNorm&lt;/code&gt;是一个标准过滤器，&lt;code&gt;user_filters.AFilter&lt;/code&gt;是某个用户定义的过滤器。本选项与&lt;code&gt;--filter&lt;/code&gt;相同。       &lt;/p&gt;  &lt;/dd&gt;&lt;/dl&gt; &lt;dl class=&quot;option&quot;&gt;&lt;dt class=&quot;option&quot;&gt;-M&lt;/dt&gt;&lt;dd class=&quot;option&quot;&gt; &lt;p&gt;    在Mayavi管道中启动一个新模块管理器。与&lt;code&gt;--module-mgr&lt;/code&gt;相同。&lt;/p&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;dl class=&quot;option&quot;&gt;&lt;dt class=&quot;option&quot;&gt;-n&lt;/dt&gt;&lt;dd class=&quot;option&quot;&gt; &lt;p&gt;    建立一个新窗口或场景。在此之后的选项将作用于新创建的场景。与&lt;code&gt;--new-window&lt;/code&gt;相同。&lt;/p&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;dl class=&quot;option&quot;&gt;&lt;dt class=&quot;option&quot;&gt;-o&lt;/dt&gt;&lt;dd class=&quot;option&quot;&gt; &lt;p&gt;    在offscreen模式下运行Mayavi，没有任何图形用户界面。此模式在需要后台渲染图片(例如动画)时非常有用，避免弹出扰人的用户界面。Mayavi脚本(通过&lt;code&gt;-x&lt;/code&gt;选项运行)应该在此模式下工作得很好。与&lt;code&gt;--offscreen&lt;/code&gt;相同。&lt;/p&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;dl class=&quot;option&quot;&gt;&lt;dt class=&quot;option&quot;&gt;-x script-file&lt;/dt&gt;&lt;dd class=&quot;option&quot;&gt; &lt;p&gt;    运行给定的脚本，同时确保名字空间中的“mayavi”是Mayavi的脚本实例 --就像在内置的Python解释器内一样。与&lt;code&gt;--exec&lt;/code&gt;相同.&lt;/p&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;dl class=&quot;option&quot;&gt;&lt;dt class=&quot;option&quot;&gt;-s python-expression&lt;/dt&gt;&lt;dd class=&quot;option&quot;&gt; &lt;p&gt;    对最后建立的对象执行Python命令。假设前一个对象是个模块，如果要设置其颜色并保存场景，可以这样做:&lt;/p&gt; &lt;pre&gt; $ mayavi2 [...] -m Outline -s&quot;actor.property.color = (1,0,0)&quot; \&lt;br /&gt; -s &quot;scene.save(&#39;test.png&#39;, size=(800, 800))&quot;&lt;br /&gt;&lt;/pre&gt;        &lt;p&gt;       应在命令前后使用引号。本选项与&lt;code&gt;--set&lt;/code&gt;相同。       &lt;/p&gt;  &lt;/dd&gt;&lt;/dl&gt; &lt;div class=&quot;warning&quot;&gt; &lt;p&gt;&lt;span class=&quot;notetitle&quot;&gt;Warning&lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;code&gt;-x&lt;/code&gt;或&lt;code&gt;--exec&lt;/code&gt;使用&lt;cite&gt;execfile&lt;/cite&gt;，如果脚本做不合适的操作将很危险。类似的，&lt;code&gt;-s&lt;/code&gt;或&lt;code&gt;--set&lt;/code&gt;使用&lt;cite&gt;exec&lt;/cite&gt;，如不适当使用也很危险。 &lt;/p&gt;   &lt;/div&gt;  &lt;p&gt; 还有很重要的一点，mayavi的&lt;strong&gt;命令行参数是按照给出顺序依次处理的&lt;/strong&gt;。由此用户可以实现一些有趣的操作。 &lt;/p&gt;  &lt;p&gt; 下面是一些命令行参数的例子: &lt;/p&gt;  &lt;pre&gt; $ mayavi2 -d ParametricSurface -s &quot;function=&#39;dini&#39;&quot; -m Surface \&lt;br /&gt;  -s &quot;module_manager.scalar_lut_manager.show_scalar_bar = True&quot; \&lt;br /&gt;  -s &quot;scene.isometric_view()&quot; -s &quot;scene.save(&#39;snapshot.png&#39;)&quot;&lt;br /&gt;&lt;br /&gt;$ mayavi2 -d heart.vtk -m Axes -m Outline -m GridPlane \&lt;br /&gt;  -m ContourGridPlane -m IsoSurface&lt;br /&gt;&lt;br /&gt;$ mayavi2 -d fire_ug.vtu -m Axes -m Outline -m VectorCutPlane \&lt;br /&gt;  -f MaskPoints -m Glyph&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 在上面的例子中，&lt;code&gt;heart.vtk&lt;/code&gt;和&lt;code&gt;fire_ug.vtu&lt;/code&gt;等VTK文件可以在源文件目录的&lt;code&gt;examples/data&lt;/code&gt;中找到。它们是否安装到你的电脑取决于你的操作系统。 &lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/1475062036907283177/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/08/mayavi2-4mayavi.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1475062036907283177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1475062036907283177'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/08/mayavi2-4mayavi.html' title='Mayavi2 用户手册4——使用Mayavi应用程序'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOc54NvmcRHx2sS7b0DJPpY-pEJLfRwmq3YOt8CY_XenqpdHJDoP3su5rosyBRsERtXz7RVREuWpwQDsZJDhQwBD-u2zOdP4bD2WGfL7ZVnHsMZoOGSLxZrbk_8Zt2PjX8ItUInlzNX8k/s72-c/mayavi_ui_first.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-1058218204456924472</id><published>2009-08-04T22:38:00.014+09:00</published><updated>2009-08-07T23:28:01.266+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="日本"/><category scheme="http://www.blogger.com/atom/ns#" term="涂鸦"/><title type='text'>天神脸谱</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5nfG2v0_jhDV92MhobkblswuH-9WN2_cTxjME8Ke4bb1RBYg4cTerfPR-4nZRStPwOzPFxGxrw0AyaqQ1iwewiaAQ8UIw0Ul0vBX4cveDzUg8cKUrNj5SGWmzSvsUzCCYb3qsKOepMZc/s1600-h/facemask.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 240px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5nfG2v0_jhDV92MhobkblswuH-9WN2_cTxjME8Ke4bb1RBYg4cTerfPR-4nZRStPwOzPFxGxrw0AyaqQ1iwewiaAQ8UIw0Ul0vBX4cveDzUg8cKUrNj5SGWmzSvsUzCCYb3qsKOepMZc/s320/facemask.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5367220686839770962&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;从杂志封面上看到“青森ねぶた祭”的一个大型灯笼的照片，于是将其脸部画下来。可是没有规划好大小，头盔画不下了。&lt;br /&gt;&lt;br /&gt;“青森ねぶた祭”是日本青森县的著名节日，其中一个重要活动是大型灯笼游行。灯笼造型多取材于天神(&lt;a href=&quot;http://www.nebuta.jp/archive/ogata/h20/hitachi.html&quot;&gt;菅原道真　雷神と化す&lt;/a&gt;)或古代英雄(&lt;a href=&quot;http://www.nebuta.jp/archive/ogata/h20/jieitai.html&quot;&gt;義経渡海&lt;/a&gt;)，有一些甚至出自三国志(&lt;a href=&quot;http://www.nebuta.jp/archive/ogata/h19/bankin.html&quot;&gt;呉軍の先鋒・鈴の甘寧&lt;/a&gt;)和水浒传(&lt;a href=&quot;http://www.nebuta.jp/archive/ogata/h19/yamato.html&quot;&gt;水滸伝より「黒旋風・李逵と張順」&lt;/a&gt;)。详情可查看下面的网站：&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Aomori_Nebuta_Matsuri&quot;&gt;Aomori Nebuta Matsuri&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.nebuta.jp/&quot;&gt;青森ねぶた祭&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/1058218204456924472/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/08/blog-post.html#comment-form' title='3 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1058218204456924472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1058218204456924472'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/08/blog-post.html' title='天神脸谱'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5nfG2v0_jhDV92MhobkblswuH-9WN2_cTxjME8Ke4bb1RBYg4cTerfPR-4nZRStPwOzPFxGxrw0AyaqQ1iwewiaAQ8UIw0Ul0vBX4cveDzUg8cKUrNj5SGWmzSvsUzCCYb3qsKOepMZc/s72-c/facemask.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-6073060086518284359</id><published>2009-07-18T22:02:00.006+09:00</published><updated>2011-02-10T22:19:00.470+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hiweed"/><category scheme="http://www.blogger.com/atom/ns#" term="Howto"/><category scheme="http://www.blogger.com/atom/ns#" term="icon"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="xfce"/><title type='text'>找回xfce桌面上的图标和文件</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEDJS1lr1vBz5SqQ2fNXxafc5ePz0wheIkqSU3up7EOuJXwnHxuNK1ECLGMY6N_vOzVL1MCOWq5AovulPg-B8wXl5jvEGO9PmzxBIgQY_Tso1P7f6_KK310OHc9C21CSoF4Ve_IoJGi98/s1600-h/Xfce_logo.png&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEDJS1lr1vBz5SqQ2fNXxafc5ePz0wheIkqSU3up7EOuJXwnHxuNK1ECLGMY6N_vOzVL1MCOWq5AovulPg-B8wXl5jvEGO9PmzxBIgQY_Tso1P7f6_KK310OHc9C21CSoF4Ve_IoJGi98/s320/Xfce_logo.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5359788979221815906&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;不知什么原因，某天启动电脑后，桌面上的图标、文件和背景图片都不见了。一直没有时间去折腾，今天终于回复原状了。&lt;br /&gt;&lt;br /&gt;打开“开始菜单-设置-xfce4设置中心-桌面“对话框，选中“允许xfce管理桌面”，并记得关机时选中“保存设置”，这样才能在下次启动时也有效。&lt;br /&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/6073060086518284359/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/07/xfce.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/6073060086518284359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/6073060086518284359'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/07/xfce.html' title='找回xfce桌面上的图标和文件'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEDJS1lr1vBz5SqQ2fNXxafc5ePz0wheIkqSU3up7EOuJXwnHxuNK1ECLGMY6N_vOzVL1MCOWq5AovulPg-B8wXl5jvEGO9PmzxBIgQY_Tso1P7f6_KK310OHc9C21CSoF4Ve_IoJGi98/s72-c/Xfce_logo.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-9147823329058524832</id><published>2009-07-12T22:08:00.000+09:00</published><updated>2009-07-23T22:14:50.446+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="涂鸦"/><category scheme="http://www.blogger.com/atom/ns#" term="生活"/><title type='text'>天一，生日快乐！</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2GA3ZEqsBPhyphenhyphenv7MEF6gH_pdSj0K2EwM1tuhDg9mmzS3AgKdok4Kd_FuODPVOhE2Z0D4BZT_Iga5_M_CdLVKXP0oJVt_Vctr8xChJMYmuzxWuY0-ckgdr2zT4JIjH98yB5O2ZNuHEL0m0J/s1600-h/ty5.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 240px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2GA3ZEqsBPhyphenhyphenv7MEF6gH_pdSj0K2EwM1tuhDg9mmzS3AgKdok4Kd_FuODPVOhE2Z0D4BZT_Iga5_M_CdLVKXP0oJVt_Vctr8xChJMYmuzxWuY0-ckgdr2zT4JIjH98yB5O2ZNuHEL0m0J/s320/ty5.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5361641293153403730&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;天一是朋友的女儿，他们住在巴黎。这一张是根据她六个月时的照片画的。她的父母用那张照片做了圣诞卡片发给朋友们。所以我就照着画了。其实，现在的天一已经长大很多了。&lt;br /&gt;&lt;br /&gt;上次见面时，你一看到我就哭；下次再见，希望你能用三种语言喊我叔叔哦。&lt;br /&gt;&lt;br /&gt;生日快乐，天一！&lt;br /&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/9147823329058524832/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/07/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/9147823329058524832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/9147823329058524832'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/07/blog-post.html' title='天一，生日快乐！'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2GA3ZEqsBPhyphenhyphenv7MEF6gH_pdSj0K2EwM1tuhDg9mmzS3AgKdok4Kd_FuODPVOhE2Z0D4BZT_Iga5_M_CdLVKXP0oJVt_Vctr8xChJMYmuzxWuY0-ckgdr2zT4JIjH98yB5O2ZNuHEL0m0J/s72-c/ty5.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-3224604669070363562</id><published>2009-07-12T14:01:00.007+09:00</published><updated>2009-08-22T20:39:13.896+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mayavi2"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Mayavi2 用户手册3.5——探索向量场</title><content type='html'>内容来自&lt;a href=&quot;http://code.google.com/p/mayavi2-cn/&quot;&gt;Mayavi2的中文文档项目&lt;/a&gt;。本篇文档的源文件在&lt;a href=&quot;http://code.google.com/p/mayavi2-cn/source/browse/trunk/docs/source/mayavi/example_exploring_a_vector_field.rst&quot;&gt;这里&lt;/a&gt;。欢迎感兴趣的朋友&lt;a href=&quot;http://code.google.com/p/support/wiki/HowToJoinAProject&quot;&gt;加入&lt;/a&gt;。其他文档的帖子在&lt;a href=&quot;http://zesn.blogspot.com/search/label/mayavi2&quot;&gt;这里&lt;/a&gt;。&lt;hr /&gt;    &lt;p&gt; 在此例中，我们从标量场的梯度(gradient)中产生向量场，然后交互地查看。此例介绍怎样交互地进行类似前面例子的操作，例如使用过滤器 (filter)和模块(module)。前面的例子使用 `numpy`进行大多数操作，这一步则需要对 Mayavi 和 VTK 过滤器有更多的了解。与之对应的益处是可以交互地进行可视化。 &lt;/p&gt;  &lt;p&gt; 首先，我们生成与前面例子相同的标量场。打开 Mayavi，在 Python 命令行内输入下面的代码: &lt;/p&gt;  &lt;pre&gt; from enthought.mayavi import mlab&lt;br /&gt;import numpy as np&lt;br /&gt;&lt;br /&gt;def V(x, y, z):&lt;br /&gt;   &quot;&quot;&quot; A 3D sinusoidal lattice with a parabolic confinement. &quot;&quot;&quot;&lt;br /&gt;   return np.cos(10*x) + np.cos(10*y) + np.cos(10*z) + 2*(x**2 + y**2 + z**2)&lt;br /&gt;X, Y, Z = np.mgrid[-2:2:100j, -2:2:100j, -2:2:100j]&lt;br /&gt;mlab.contour3d(X, Y, Z, V)&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 像前面的例子一样，可以改变调色板(color map)和在等值面中选定的数值。 &lt;/p&gt;  &lt;p&gt;为了使用标量场梯度生成向量场，我们将使用`CellDerivative`滤波器。此滤波器可获得单元(也就是点之间，请参考data- structures-used-by-mayavi)内数据的微分。首先使用`PointToCellData`滤波器对单元内各点进行插值，然后使用 `CellDerivatives`滤波器，接着使用`CellToPointData`滤波器重新获得点数据。 &lt;/p&gt;  &lt;p&gt;使用`VectorCutPlane`模块可以可视化向量场。生成的标量数据太大，我们可以在`Glyph`标签(以及在此标签内的`Glyph` 标签)将缩放比例(scale factor)减少为0.2。向量场还是太密集，可以在`Masking`标签打开遮蔽(masking)功能，将`on ratio`设为6 (one arrow out of 6 is masked)并关闭随机模式(random mode)。 &lt;/p&gt;  &lt;p&gt;  &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH5dNJBv9KmFHxpkTm1iN4dSbQ5eqX7xK_OPlB1W7esbaoSLzku50PlybNj2a4dB4r6C-MAoIxwjoVrek73uD2fBk818dSaQOgyTylK3muZg6NQY9GS_kKEbn56xYd-dqvCGs9t4yrR7s/s1600-h/example_vector_cut_plane.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 250px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH5dNJBv9KmFHxpkTm1iN4dSbQ5eqX7xK_OPlB1W7esbaoSLzku50PlybNj2a4dB4r6C-MAoIxwjoVrek73uD2fBk818dSaQOgyTylK3muZg6NQY9GS_kKEbn56xYd-dqvCGs9t4yrR7s/s320/example_vector_cut_plane.jpg&quot; border=&quot;0&quot; alt=&quot;example_vector_cut_plane.jpg&quot; id=&quot;BLOGGER_PHOTO_ID_5357436781015606178&quot; /&gt;&lt;/a&gt;  &lt;/p&gt;  &lt;p&gt; 为了获得更漂亮的颜色，可以改变向量场的调色板：在`VectorCutPlane`上面的`Colors and legend`节点，找到**in the VectorLUT**标签，选择查找表，那里有向量和标量数据的不同调色板。 &lt;/p&gt;  &lt;p&gt; 不像之前的例子，我们可以在对话框中试试各种参数，例如遮蔽，或在`Glyph`标签选择`color_by_scalar`来显示势值(the value of the potential)。我们也可以拖动显示向量的剖面。 &lt;/p&gt;  &lt;p&gt;既然有了3D向量场，可以使用Mayavi集成(integrate)其中一个粒子的轨迹。为此，我们可以使用streamline模块。此模块显 示起始于种子(seed)表面顶点的轨迹。选择`Point Widget`作为种子(在`Seed`标签)，可以在3D场景中拖动种子点。这使我们可以在产生于初始标量场的势位中探索轨迹。这里，所有的轨迹终止于 局部极小势位。可以移动种子点，使我们可以看到每个点将陷入的极小值之处，换句话说，每个局部极小的吸引盆(basin of attraction)。 &lt;/p&gt;  &lt;p&gt;  &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsUlRgNpWI_GUt5fUSdVBBf7Q0ig4BWdS3B_x05RST60H7WCXPcGZb5EzIA_eZzE8qeP6SdUG4tRHYphRAggnXR6lW0xbCp3oBH1eF9cH6EBspjHHsQCPlysdewiNiDe7gfpQR92M1bbI/s1600-h/example_streamline.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 233px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsUlRgNpWI_GUt5fUSdVBBf7Q0ig4BWdS3B_x05RST60H7WCXPcGZb5EzIA_eZzE8qeP6SdUG4tRHYphRAggnXR6lW0xbCp3oBH1eF9cH6EBspjHHsQCPlysdewiNiDe7gfpQR92M1bbI/s320/example_streamline.jpg&quot; border=&quot;0&quot; alt=&quot;example_streamline.jpg&quot; id=&quot;BLOGGER_PHOTO_ID_5357438152447490674&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/3224604669070363562/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/07/mayavi2-35.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/3224604669070363562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/3224604669070363562'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/07/mayavi2-35.html' title='Mayavi2 用户手册3.5——探索向量场'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH5dNJBv9KmFHxpkTm1iN4dSbQ5eqX7xK_OPlB1W7esbaoSLzku50PlybNj2a4dB4r6C-MAoIxwjoVrek73uD2fBk818dSaQOgyTylK3muZg6NQY9GS_kKEbn56xYd-dqvCGs9t4yrR7s/s72-c/example_vector_cut_plane.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-1079647890718165187</id><published>2009-06-28T00:13:00.006+09:00</published><updated>2009-06-28T00:38:31.413+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mayavi2"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Mayavi2 用户手册3.4——与 scipy 一起使用 Mayavi</title><content type='html'>内容来自&lt;a href=&quot;http://code.google.com/p/mayavi2-cn/&quot;&gt;Mayavi2的中文文档项目&lt;/a&gt;。本篇文档的源文件在&lt;a href=&quot;http://code.google.com/p/mayavi2-cn/source/browse/trunk/docs/source/mayavi/example_heart.rst&quot;&gt;这里&lt;/a&gt;。欢迎感兴趣的朋友&lt;a href=&quot;http://code.google.com/p/support/wiki/HowToJoinAProject&quot;&gt;加入&lt;/a&gt;。&lt;hr /&gt;&lt;br /&gt;&lt;p&gt; 此教程的例子讲解当使用 &lt;a href=&quot;http://www.scipy.org/&quot; title=&quot;scipy&quot;&gt;scipy&lt;/a&gt; 进行数值计算时如何利用 Mayavi 交互地可视化 &lt;a href=&quot;http://www.scipy.org/&quot; title=&quot;numpy&quot;&gt;numpy&lt;/a&gt; 数组。此教程假设你熟悉 Python 的数值工具，然后讲解如何使用 Mayavi 与这些工具协同工作。 &lt;/p&gt;  &lt;p&gt; 让我们来研究电势(potential)中例子的轨迹。这在物理和工程中是很常见的问题，电势和轨迹可视化的关键是理解此问题。 &lt;/p&gt;&lt;p&gt; 我们所关心的电势是一个周期性栅格(periodic lattice)， 沉浸在抛物线约束(parabolic confinement)中。我们振动此电势然后查看粒子从一个栅格的洞(hole)跳到另一个的情况。抛物线约束在那里限制粒子的偏移 (excursion)。: &lt;/p&gt;  &lt;pre&gt; import numpy as np&lt;br /&gt;&lt;br /&gt;def V(x, y, z):&lt;br /&gt;    &quot;&quot;&quot; A 3D sinusoidal lattice with a parabolic confinement. &quot;&quot;&quot;&lt;br /&gt;    return np.cos(10*x) + np.cos(10*y) + np.cos(10*z) + 2*(x**2 + y**2 + z**2)&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 既然我们定义好了电势，我们看看在三维中看起来是什么样子。我们可以创建一个点组成的三维网格，然后在这些点处进行采样: &lt;/p&gt;&lt;pre&gt; X, Y, Z = np.mgrid[-2:2:100j, -2:2:100j, -2:2:100j]&lt;br /&gt;V(X, Y, Z)&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 我们将使用 &lt;cite&gt;mlab&lt;/cite&gt; 模块(请参考simple-scripting-with-mlab)交互地可视化此容量数据(volumetric data)。为此，最好在 Python 的交互命令行输入命令，使用 Mayavi2 内建的命令行或 &lt;cite&gt;ipython -wthread&lt;/cite&gt;。下面我们可视化电势的三维 iso 曲面: &lt;/p&gt;  &lt;pre&gt; from enthought.mayavi import mlab&lt;br /&gt;mlab.contour3d(X, Y, Z, V)&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 我们可以与上面的命令产生的可视化结果进行交互，例如旋转视图。但是为了更好的理解电势的结构，变化 iso 曲面是很有用的。我们可以在 Mayavi 管道树(如果你从 &lt;cite&gt;ipython&lt;/cite&gt; 中运行，需要单击场景中的 Mayavi 图标以弹出管道树) 中双击`IsoSurface`。这将打开一个对话框，允许我们选择轮廓的数值。好的电势视图可以这样获得：关闭 &lt;cite&gt;auto contour&lt;/cite&gt; 并选择 -0.5 作为第一个轮廓数值 (例如，在左边的文本输入框输入数值并按 &lt;cite&gt;tab&lt;/cite&gt; 键)。单击蓝色箭头并选择&quot;Add after&quot;可以加入第二个轮廓值。使用数值15可以得到较好的结果。 &lt;/p&gt;  &lt;p&gt; 我们现在可以管道线中单击 &lt;cite&gt;Colors and legends&lt;/cite&gt; 然后选择不同的 LUT (查找表)以改变使用的颜色。让我们选择 &#39;Paired&#39;，因为它可以很好的分开层次。 &lt;/p&gt;  &lt;p&gt;  &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTnF8gqJtHOkOSHylbRn1ZOfut0P-TUtXuWmpkDxr587x8EdIksBCKAVrWvVlubHwfXX12cHW29bcxdQiJO4JZZ7pbTjxPkIdSgVwwURBWEbX8RkyWrOFlX79L1PrLM8Tz0Vd96k_tGlQ/s1600-h/example_potential_ipython.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 272px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTnF8gqJtHOkOSHylbRn1ZOfut0P-TUtXuWmpkDxr587x8EdIksBCKAVrWvVlubHwfXX12cHW29bcxdQiJO4JZZ7pbTjxPkIdSgVwwURBWEbX8RkyWrOFlX79L1PrLM8Tz0Vd96k_tGlQ/s320/example_potential_ipython.jpg&quot; alt=&quot;example_potential_ipython.jpg&quot; id=&quot;BLOGGER_PHOTO_ID_5352027217600467698&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p&gt; 为了得到更好的电势视图，我们想显示更多的轮廓，但是其问题是封闭的轮廓隐藏了内部情况。一个解决方案是使用剖面。右击 &lt;cite&gt;IsoSurface&lt;/cite&gt; 节点，通过 &quot;Add module&quot; 子菜单添加 &lt;cite&gt;ScalarCutPlane&lt;/cite&gt;。单击并拖动它可以移动此剖面。 &lt;/p&gt;  &lt;p&gt; 为了实现 numpy 数组和可视化之间的联系，我们可以使用相同的菜单添加 Axes 和 Outline。最后，让我们添加一个颜色条。输入下面的命令: &lt;/p&gt;  &lt;pre&gt; mlab.colorbar(title=&#39;Potential&#39;, orientation=&#39;vertical&#39;)&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 或者使用先前使用的 LUT 中的选项。 &lt;/p&gt;  &lt;p&gt;  &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqsNMdr_limF9oF6xchQVmRcfEhZwOqSuokq59B53AS5UwJQf5jRXm6qkgdcuQoI8FRHEVUQRrAAiArIVmZ_R1T1810UYVvPgAo-Aq0M9fb2L6SJQP986xL8v3UC4222vfDajENz_HXt0/s1600-h/example_potential.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 228px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqsNMdr_limF9oF6xchQVmRcfEhZwOqSuokq59B53AS5UwJQf5jRXm6qkgdcuQoI8FRHEVUQRrAAiArIVmZ_R1T1810UYVvPgAo-Aq0M9fb2L6SJQP986xL8v3UC4222vfDajENz_HXt0/s320/example_potential.jpg&quot; alt=&quot;example_potential.jpg&quot; id=&quot;BLOGGER_PHOTO_ID_5352027896822778210&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p&gt; 我们想研究此电势中粒子的运动。为此我们需要推导电势陡度(gradient)相应的力。我们建立陡度函数: &lt;/p&gt;  &lt;pre&gt; def gradient(f, x, y, z, d=0.01):&lt;br /&gt;  &quot;&quot;&quot; Return the gradient of f in (x, y, z). &quot;&quot;&quot;&lt;br /&gt;  fx  = f(x+d, y, z)&lt;br /&gt;  fx_ = f(x-d, y, z)&lt;br /&gt;  fy  = f(x, y+d, z)&lt;br /&gt;  fy_ = f(x, y-d, z)&lt;br /&gt;  fz  = f(x, y, z+d)&lt;br /&gt;  fz_ = f(x, y, z-d)&lt;br /&gt;  return (fx-fx_)/(2*d), (fy-fy_)/(2*d), (fz-fz_)/(2*d)&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 为了检查陡度函数是否工作正常，让我们可视化它产生的向量场。为了避免显示太多的向量，我们将仅仅评定 X=50 处剖面的陡度，并且只在网格中每三个点评定一个: &lt;/p&gt;  &lt;pre&gt; Vx, Vy, Vz = gradient(V, X[50, ::3, ::3], Y[50, ::3, ::3], Z[50, ::3, ::3])&lt;br /&gt;mlab.quiver3d(X[50, ::3, ::3], Y[50, ::3, ::3], Z[50, ::3, ::3],&lt;br /&gt;                   Vx, Vy, Vz, scale_factor=-0.2, color=(1, 1, 1))&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj13MmpJ5d9n1ChHsnw8cT49rBzJklmSn-1DweObHgon2yAperF7lMH4SwGllmwUD1KAH5sgqZpGc6fcGk2P1Loy4yeAYzXVvI8MXcNlE0v4cuvsN0VLLEIQtZ5tGh4odjWTM10_VNURU0/s1600-h/example_gradient.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 228px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj13MmpJ5d9n1ChHsnw8cT49rBzJklmSn-1DweObHgon2yAperF7lMH4SwGllmwUD1KAH5sgqZpGc6fcGk2P1Loy4yeAYzXVvI8MXcNlE0v4cuvsN0VLLEIQtZ5tGh4odjWTM10_VNURU0/s320/example_gradient.jpg&quot; alt=&quot;example_gradient.jpg&quot; id=&quot;BLOGGER_PHOTO_ID_5352028322428051522&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt; &lt;/p&gt;  &lt;p&gt; 现在我们可以使用 &lt;cite&gt;scipy&lt;/cite&gt; 积分轨迹。首先必须定义动态流体，这是一个这些参数和时间的函数，返回不同参数的导数。此流体被每个 &lt;a href=&quot;http://en.wikipedia.org/wiki/Ordinary_differential_equation&quot; title=&quot;ODE&quot;&gt;ODE&lt;/a&gt; (常微分方程) 解算器(solver)所使用。它给出系统动态(dynamic)。我们关心的动态由电势推导出的力造成，而我们在三个方向上随时间振动此电势，作为阻尼力。调节阻尼系数及振动的数量和频率可以给出有趣的动态。 : &lt;/p&gt;  &lt;pre&gt; def flow(r, t):&lt;br /&gt;  &quot;&quot;&quot; The dynamical flow of the system &quot;&quot;&quot;&lt;br /&gt;  x, y, z, vx, vy, vz = r&lt;br /&gt;  fx, fy, fz = gradient(V, x-.2*np.sin(6*t), y-.2*np.sin(6*t+1), z-.2*np.sin(6*t+2))&lt;br /&gt;  return np.array((vx, vy, vz, -fx - 0.3*vx, -fy - 0.3*vy, -fz - 0.3*vz))&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 现在我们可以积分轨迹: &lt;/p&gt;  &lt;pre&gt; from scipy.integrate import odeint&lt;br /&gt;&lt;br /&gt;# Initial conditions&lt;br /&gt;R0 = (0, 0, 0, 0, 0, 0)&lt;br /&gt;# Times at which we want the integrator to return the positions:&lt;br /&gt;t = np.linspace(0, 50, 500)&lt;br /&gt;R = odeint(flow, R0, t)&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 右击对应的管道线节点，选择 delete 可除去剖面和向量场。然后我们开始绘制此轨迹。同时关闭相应的 &lt;cite&gt;Colors and legends&lt;/cite&gt; 节点的第一个颜色条。我们用与它相关的标量信息绘制轨迹，通过调色板(colormap)显示时间: &lt;/p&gt;  &lt;pre&gt; x, y, z, vx, vy, vz = R.T&lt;br /&gt;trajectory = mlab.plot3d(x, y, z, t, colormap=&#39;hot&#39;,                &lt;br /&gt;                  tube_radius=None)&lt;br /&gt;mlab.colorbar(trajectory, title=&#39;Time&#39;, orientation=&#39;vertical&#39;)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3GXGhERcrUCrhOMgh3TH_9a0wc1jFeNPpJ37LUvL4Z4fv6S5VedEPc5c_ny9ihRm0wXIY1ZeKXMD5aTHXGsXIbiONcwvU1rVl-CsOdnMNGe_l_3JfgbVPfnU96606NaUt0UcewraGwdA/s1600-h/example_trajectories.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 228px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3GXGhERcrUCrhOMgh3TH_9a0wc1jFeNPpJ37LUvL4Z4fv6S5VedEPc5c_ny9ihRm0wXIY1ZeKXMD5aTHXGsXIbiONcwvU1rVl-CsOdnMNGe_l_3JfgbVPfnU96606NaUt0UcewraGwdA/s320/example_trajectories.jpg&quot; alt=&quot;example_trajectories.jpg&quot; id=&quot;BLOGGER_PHOTO_ID_5352028758168751106&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/1079647890718165187/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/06/mayavi2-34-scipy-mayavi.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1079647890718165187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/1079647890718165187'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/06/mayavi2-34-scipy-mayavi.html' title='Mayavi2 用户手册3.4——与 scipy 一起使用 Mayavi'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTnF8gqJtHOkOSHylbRn1ZOfut0P-TUtXuWmpkDxr587x8EdIksBCKAVrWvVlubHwfXX12cHW29bcxdQiJO4JZZ7pbTjxPkIdSgVwwURBWEbX8RkyWrOFlX79L1PrLM8Tz0Vd96k_tGlQ/s72-c/example_potential_ipython.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-4394529165207832450</id><published>2009-06-27T21:32:00.005+09:00</published><updated>2009-06-28T00:00:21.734+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mayavi2"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Mayavi2 用户手册3.3——可视化富数据集(rich dataset): 例子数据 fire_ug.vtu</title><content type='html'>内容来自&lt;a href=&quot;http://code.google.com/p/mayavi2-cn/&quot;&gt;Mayavi2的中文文档项目&lt;/a&gt;。本篇文档的源文件在&lt;a href=&quot;http://code.google.com/p/mayavi2-cn/source/browse/trunk/docs/source/mayavi/example_fire.rst&quot;&gt;这里&lt;/a&gt;。欢迎感兴趣的朋友&lt;a href=&quot;http://code.google.com/p/support/wiki/HowToJoinAProject&quot;&gt;加入&lt;/a&gt;。&lt;hr /&gt;&lt;br /&gt;&lt;p&gt; 类似 &lt;code&gt;heart.vtk&lt;/code&gt;，例子数据集 &lt;code&gt;fire_ug.vtu&lt;/code&gt; 也可以在目录 &lt;code&gt;examples/data&lt;/code&gt; 中找到。此数据集是一个非结构化的网格(unstructured grid)，存在一个 VTK XML 文件中，表示一个角落中有火的房间。通过模拟此火焰的流体，将一个特定时刻的结果保存在此文件中。此数据集由 Philip Rubini 博士提供 (当时 Rubini 博士在 Cranfield 大学)。同时提供了一个 VRML 文件，显示火焰被取走的房间情况。 &lt;/p&gt;    &lt;ol class=&quot;decimal&quot;&gt;&lt;li&gt;  &lt;p&gt; 启动 mayavi2，选择 &lt;cite&gt;File-&gt;Load data-&gt;Open file&lt;/cite&gt; 来载入数据。再次在左边的树形显示中看到一个节点，但在 TVTK 场景中没有任何显示。此数据集在一个文件中包含了不同的标量和向量数据。如果选择左边的 &lt;cite&gt;VTK XML file...&lt;/cite&gt; 节点，在对象编辑器中将配置读入器(reader)。在其中，可以看到此数据文件中所有标量和向量的下拉列表。任意选择其中一个。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 按照前面所述，使用 &lt;cite&gt;Outline&lt;/cite&gt; 模块建立数据的轮廓。建立 &lt;cite&gt;IsoSurface&lt;/cite&gt; 模块以查看数据的 iso-曲面。也请试试 &lt;cite&gt;ScalarCutPlane&lt;/cite&gt; 模块。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 单击 &lt;cite&gt;Colors and legends&lt;/cite&gt; 节点，选中 &lt;cite&gt;Show scalar bar&lt;/cite&gt;，显示映射颜色的标尺(通过查找表(Look up table)将标量映射为颜色)。试试不同的默认颜色映射。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 现在单击 &lt;cite&gt;VTK XML file ...&lt;/cite&gt; 并选择不同的标量来查看数据如何变化。当标量改变时，图例将自动更新。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 此数据也包括向量。标量数据有 &lt;cite&gt;u&lt;/cite&gt;，&lt;cite&gt;v&lt;/cite&gt;和 &lt;cite&gt;w&lt;/cite&gt;，但没有速度的大小。假设我们希望查看速度大小的 iso-曲面，可以使用 &lt;cite&gt;ExtractVectorNorm&lt;/cite&gt; 过滤器。选择 &lt;cite&gt;Visualize-&gt;Filters-&gt;Extract Vector Norm&lt;/cite&gt; 菜单可以使用此过滤器。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 如果现在建立 &lt;cite&gt;ScalarCutPlane&lt;/cite&gt;，可以在 &lt;cite&gt;ExtractVectorNorm&lt;/cite&gt; 节点下看到 &lt;cite&gt;Colors and legends&lt;/cite&gt; 节点。这个标量剖面用颜色显示此过滤器生成的速度大小。可以将 iso-曲面模块从另一个 &lt;cite&gt;Colors and legends&lt;/cite&gt; 节点下拖到此 &lt;cite&gt;Colors and legends&lt;/cite&gt; 节点下，使得生成的 Iso-曲面 是关于速度大小的，而不是关于所选的标量。 &lt;/p&gt;        &lt;p&gt;      注意：左边的显示树表示如下的数据流动管道， &lt;cite&gt;source -&gt; filter -&gt; modules&lt;/cite&gt;。本质上是数据从父节点流到其下的子节点。      &lt;/p&gt;       &lt;p&gt;      现在如果你想在管道的不同分支进行可视化，例如你想查看温度数据的 iso 曲面，必须单击模块或源对象(&lt;cite&gt;VTK XML File ...&lt;/cite&gt; 节点)本身，然后选择菜单项。当选择了显示树中的一项，此项目成为当前&lt;em&gt;对象&lt;/em&gt;，其后选择的菜单项将在当前对象下建立新模块/滤波器。      &lt;/p&gt;    &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 可以过滤&quot;已经过滤的数据&quot;。选择 &lt;cite&gt;ExtractVectorNorm&lt;/cite&gt; 节点使其成为当前对象。现在通过 &lt;cite&gt;Visualize-&gt;Filters-&gt;Threshold&lt;/cite&gt; 建立 Threshold 滤波器。然后在对象编辑器中设置上限和下限，例如 0.5 和 3.0。如果在这里建立 &lt;cite&gt;VectorCutPlane&lt;/cite&gt; 模块，并且移动此剖面，应该能看到箭头，但是只有位于上下限之间的箭头。因此可以使用这样的步骤建立很复杂的可视化管道。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 有几个向量模块：&lt;cite&gt;VectorCutPlane&lt;/cite&gt;，&lt;cite&gt;Vectors&lt;/cite&gt;，&lt;cite&gt;WarpVectorCutPlane&lt;/cite&gt;和&lt;cite&gt;Streamlines&lt;/cite&gt;。如果查看流线(streamline)，mayavi 将产生数据集中向量的流线。为了查看初始数据集的流线，可以单击原先的 &lt;cite&gt;Outline&lt;/cite&gt; 模块(或数据源)，然后选择 &lt;cite&gt;Streamline&lt;/cite&gt; 菜单项。可以使用3D小部件移动屏幕上不同类型的种子(seed)。这些位置的种子点(seed point)用来跟踪流线。球(Sphere)、线和平面源可以用来初始化流线种子。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 选择 &lt;cite&gt;File-&gt;Open-&gt;VRML2 file&lt;/cite&gt; 菜单项打开 VRML 文件``room_vis.wrl``，可以查看着火的房间。 &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;  &lt;p&gt; 建立起复杂的可视化管道后，想将其保存下来以便以后再查看，可以通过 &lt;cite&gt;File-&gt;Save Visualization&lt;/cite&gt; 菜单项保存整个可视化。可以使用 &lt;cite&gt;File-&gt;Load Visualization&lt;/cite&gt; 菜单项载入保存后的文件。此选项并不是100%鲁棒，仍在实验阶段。后续版本将改善此功能。毕竟，此功能暂时可以使用。 &lt;/p&gt;   &lt;/li&gt;&lt;/ol&gt;  &lt;p&gt; 再次说明，此例中的可视化是使用用户界面生成的，但可以完全使用 Python 脚本完成。一个简单的脚本 &lt;code&gt;examples/streamline.py&lt;/code&gt; 演示了几个上面的模块。用户可以研究一下此文件。可按照如下方式运行此脚本: &lt;/p&gt;  &lt;pre&gt; $ cd examples&lt;br /&gt;$ python streamline.py&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 或者: &lt;/p&gt;  &lt;pre&gt; $ mayavi2 -x streamline.py&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt; 从此例可以看到，编写脚本使用 mayavi 进行可视化是很简单的。下面是此脚本生成的图形。 &lt;/p&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi52gFf6PZr895ylf5ckdBEeWAvFH0c1BEgSH-SqZlxcMUbesnovQOVMVK5XTJ1L7OVzX8A_CiyCYrAPIOSJRyz-p-uDJOhlj2-9TbjOIWFj8cKOl-nYu0O7VXtFrO_2OR2wn6vt0NiaEs/s1600-h/streamline.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 249px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi52gFf6PZr895ylf5ckdBEeWAvFH0c1BEgSH-SqZlxcMUbesnovQOVMVK5XTJ1L7OVzX8A_CiyCYrAPIOSJRyz-p-uDJOhlj2-9TbjOIWFj8cKOl-nYu0O7VXtFrO_2OR2wn6vt0NiaEs/s320/streamline.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5352020849974488130&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/4394529165207832450/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/06/mayavi2-33rich-dataset-fireugvtu.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/4394529165207832450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/4394529165207832450'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/06/mayavi2-33rich-dataset-fireugvtu.html' title='Mayavi2 用户手册3.3——可视化富数据集(rich dataset): 例子数据 fire_ug.vtu'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi52gFf6PZr895ylf5ckdBEeWAvFH0c1BEgSH-SqZlxcMUbesnovQOVMVK5XTJ1L7OVzX8A_CiyCYrAPIOSJRyz-p-uDJOhlj2-9TbjOIWFj8cKOl-nYu0O7VXtFrO_2OR2wn6vt0NiaEs/s72-c/streamline.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-538384237285607209</id><published>2009-06-10T21:35:00.002+09:00</published><updated>2009-07-06T21:43:34.128+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><title type='text'>收到Google寄来的礼物</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwfOXdlnwg1f9YSbEOmawpUW7hCnNaKjInrMRA6wtobCAlnafyl-YuVSJdk83j_H9jidwxHnk1AzmQbFG3iby1OMH9RhiwvGXkh1NTUGjdSx2GWagehwtIKOqglVLQ88jxYIsjDvmhVV8/s1600-h/google_gift.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwfOXdlnwg1f9YSbEOmawpUW7hCnNaKjInrMRA6wtobCAlnafyl-YuVSJdk83j_H9jidwxHnk1AzmQbFG3iby1OMH9RhiwvGXkh1NTUGjdSx2GWagehwtIKOqglVLQ88jxYIsjDvmhVV8/s320/google_gift.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5355325418480144450&quot; /&gt;&lt;/a&gt;&lt;br /&gt;今年2月份时，由于&lt;a href=&quot;http://zesn.blogspot.com/2009/02/googles-poor-planning-on-feedburner.html#links&quot;&gt; feedburner出错(Google&#39;s poor planning on Feedburner)&lt;/a&gt;，曾收到Google的道歉信，许诺给我寄一份礼物。就在我几乎忘记此事时，昨天收到了Google寄来的包裹：一个无线光电鼠标(包括一个PS2转usb转换器)，一支签字笔，一个无源USB集中器。&lt;br /&gt;&lt;br /&gt;免费服务出了错还赔礼道歉送礼物，而很多公司收了钱却不好好干活，真是天壤之别。&lt;br /&gt;&lt;br /&gt;我这个用户的忠诚度又飙升了两米。&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/538384237285607209/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/06/google.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/538384237285607209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/538384237285607209'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/06/google.html' title='收到Google寄来的礼物'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwfOXdlnwg1f9YSbEOmawpUW7hCnNaKjInrMRA6wtobCAlnafyl-YuVSJdk83j_H9jidwxHnk1AzmQbFG3iby1OMH9RhiwvGXkh1NTUGjdSx2GWagehwtIKOqglVLQ88jxYIsjDvmhVV8/s72-c/google_gift.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-4552214190964756028</id><published>2009-05-19T21:46:00.007+09:00</published><updated>2009-08-12T22:18:28.763+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="vpython"/><category scheme="http://www.blogger.com/atom/ns#" term="wxpython"/><title type='text'>VPython和WxPython协作的演示程序</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj431T97D1seSPmE3T2a6g4iYsFThPcGO_HKcXTbATVJYb5RAqJ-miB9OOx4zh9W8RAPkl8emkAoj_umnrRACVs7zmpmfEJNw4gL_SZ-6QfkehVuvsy6QmD5KXVkCJVM20RoGW9kTf_R10/s1600-h/vpython_wxpython.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 312px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj431T97D1seSPmE3T2a6g4iYsFThPcGO_HKcXTbATVJYb5RAqJ-miB9OOx4zh9W8RAPkl8emkAoj_umnrRACVs7zmpmfEJNw4gL_SZ-6QfkehVuvsy6QmD5KXVkCJVM20RoGW9kTf_R10/s320/vpython_wxpython.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5356458736672708962&quot; /&gt;&lt;/a&gt;&lt;br /&gt;一直在用VPython 4.0Beta，忽然发现&lt;a href=&quot;http://www.vpython.org/index.html&quot;&gt;VPython&lt;/a&gt;跳过4.0直接发布了5.0，特发一个自己编写的VPython和WxPython协作的演示程序以示祝贺。&lt;br /&gt;&lt;br /&gt;此演示程序在VPython 4.0Beta和WxPython 2.8下测试通过，操作系统为WinXP和Hiweed2RC3，不过在Hiweed中似乎不能正常退出。程序很简单：&lt;br /&gt;&lt;ol&gt;&lt;li&gt;显示一个VPython生成的动画窗口和WxPython生成的控制窗口&lt;/li&gt;&lt;li&gt;在动画窗口中有一辆行驶的汽车&lt;/li&gt;&lt;li&gt;在控制窗口中可以启动、停止动画窗口内的汽车，可调节行驶速度，可单步前进后退&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;下面的命令可启动程序：&lt;br /&gt;&lt;pre&gt;python main.py&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;欢迎来信指教、讨论。源程序在这里：&lt;br /&gt;&lt;iframe scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; frameborder=&quot;0&quot; style=&quot;width:240px;height:26px;margin:3px;padding:0;border:1px solid #dde5e9;background-color:#ffffff;&quot; src=&quot;http://cid-d9974c75207473f7.skydrive.live.com/embedrow.aspx/.Public/blogger/prog/vpython%7C_wxpython.tar.gz&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/4552214190964756028/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/05/vpythonwxpython.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/4552214190964756028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/4552214190964756028'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/05/vpythonwxpython.html' title='VPython和WxPython协作的演示程序'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj431T97D1seSPmE3T2a6g4iYsFThPcGO_HKcXTbATVJYb5RAqJ-miB9OOx4zh9W8RAPkl8emkAoj_umnrRACVs7zmpmfEJNw4gL_SZ-6QfkehVuvsy6QmD5KXVkCJVM20RoGW9kTf_R10/s72-c/vpython_wxpython.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-7297069633222862744</id><published>2009-05-17T22:38:00.005+09:00</published><updated>2009-06-07T20:11:21.664+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="涂鸦"/><category scheme="http://www.blogger.com/atom/ns#" term="生活"/><title type='text'>松锦连理</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg17laS71WipgR652J9_ZDkX8VhMukRokqhhKc6y5ehWSfBGGIKsaal4fMv2sTaJXqZTMRIwIwueUptKxvdnOodW1Sr947WssSbY8PXd41F-L17QnuijKiO2N6z4DsHy39LBZoFa-S1IGA/s1600-h/bl8.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; float: left; cursor: pointer; width: 320px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg17laS71WipgR652J9_ZDkX8VhMukRokqhhKc6y5ehWSfBGGIKsaal4fMv2sTaJXqZTMRIwIwueUptKxvdnOodW1Sr947WssSbY8PXd41F-L17QnuijKiO2N6z4DsHy39LBZoFa-S1IGA/s320/bl8.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5341988596695650322&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;五一期间，大铃受邀主持闺中好友的婚礼，我也跑跑龙套，客串技术支持，按程序播放相应乐曲和PPT。&lt;br /&gt;&lt;br /&gt;大铃的主持台词动情，世界各地同学传来的祝福温情，介绍成长经历和爱情故事触景生情，以致新娘子泪流满面，新郎也眼含热泪，大铃自己强忍哽咽，我则差点误了PPT的播放。本来当地有在宴席上捉弄新人及双方父母的传统，据说相当低俗，这次却被结婚仪式的高雅路线镇住了，甚至新郎没有被灌酒。&lt;br /&gt;&lt;br /&gt;此涂鸦送给两个幸福的人儿，正所谓“窈窕淑女君子好逑”。&lt;br /&gt;&lt;hr /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/7297069633222862744/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/05/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/7297069633222862744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/7297069633222862744'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/05/blog-post.html' title='松锦连理'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg17laS71WipgR652J9_ZDkX8VhMukRokqhhKc6y5ehWSfBGGIKsaal4fMv2sTaJXqZTMRIwIwueUptKxvdnOodW1Sr947WssSbY8PXd41F-L17QnuijKiO2N6z4DsHy39LBZoFa-S1IGA/s72-c/bl8.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237971340623882821.post-7425362499507069322</id><published>2009-04-18T22:43:00.006+09:00</published><updated>2009-04-22T15:12:45.000+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="日语"/><title type='text'>日语中的简化</title><content type='html'>刚学日语时，犯过“举一反三”的错误。学了“おはよう”和“おはようございます”，以为加上“ございます”就可以变成敬语，于是说出这样令日本同事捧腹的“日语”：&lt;blockquote&gt;こんにちはございます&lt;/blockquote&gt;后来查了查，才知道这些日常问候语原来都是缩略语：&lt;blockquote&gt;おはよう ← お早く ← お早く○○ですね&lt;br /&gt;こんにちは ← 今日は御機嫌いかがですか&lt;br /&gt;こんばんは ← 今晩はいい晩です&lt;br /&gt;さようなら ← 然様ならお別れいたしましょう&lt;br /&gt;&lt;/blockquote&gt;以及&lt;blockquote&gt;ござります（る）　→　ございます&lt;/blockquote&gt;&lt;br /&gt;除了这类年代久远、已经成为正式用语的缩略语外，现代口语相对书面语的简略更多。下面这些简略是使发音更为容易。&lt;br /&gt;&lt;blockquote&gt;すみません　→　すいません&lt;br /&gt;走っている、考えている　→　走ってる、考えてる&lt;br /&gt;くだらない、変わらない　→　くだんない、変わんない（→　くだんねえ、変わんねえ）&lt;br /&gt;どこか　→　どっか&lt;br /&gt;すごい　→　すげ&lt;/blockquote&gt;最后那个似乎只有年轻人才说，目前还属于不正确的日语。&lt;br /&gt;&lt;br /&gt;日语中有一类敬语是在普通说法上加上“ございます”、“いただき”等语素，就是用繁琐来体现尊敬。有趣的是，现在日本人既想表达尊敬又想简略，竟然想到去掉前面的主体，只说“ございます”等部分。例如：&lt;blockquote&gt;おはようございます　→　ございます&lt;/blockquote&gt;我工作的研究所的门卫很讲礼貌，早上见到每个人都要问好。上班人多的时候，把最后的“す”拖长，同时眼睛扫过一大片人，这样就不必说很多次，也算一种简化吧。&lt;br /&gt;&lt;br /&gt;日语在汉字的书写上也有简化。现代日语的汉字基本上使用汉语的繁体字，但是也有一些简化，有些与汉语的简体字相同，有些属于自创。例如：&lt;blockquote&gt;學　→　学&lt;br /&gt;國　→　国&lt;br /&gt;廣　→　広&lt;br /&gt;氣　→　気&lt;br /&gt;價　→　価&lt;/blockquote&gt;上年级的日本人还认识前面的繁体，但能正确书写的则不多见。我的一个52岁的上司就以能写繁体“學”而骄傲，呵呵。&lt;br /&gt;&lt;br /&gt;日语中还有简繁同时使用的例子，例如“機”和“机”，不过两者意思不同；前者和汉语相同，后者则是“桌子”的意思。另外，在手写时，简化的趋势就更明显了。和同事讨论工作时，我们常使用白板。令我吃惊的是，日本同事竟书写很多简体字，例如“问”，只有我这个外国人才认真的写“問”。&lt;br /&gt;&lt;br /&gt;日语相对汉语和英语要繁琐得多。日本的电视台常播放英日双语的新闻节目，日语播音员的语速明显比英语播音员快很多。平时听同事说敬语，像机关枪一样打出一长串后缀，不由得感叹他们的嘴真是灵巧啊。即便仍然繁琐，作为一个日语初学者，我还是能感受到日语简化的趋势。&lt;br /&gt;&lt;br /&gt;不由地联想到汉语的繁简之争。虽然有些字简化得不够合理，但我支持简体字。丁启阵教授的文章很精彩，我就不狗尾续貂了。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://blog.sina.com.cn/s/blog_4900fe270100cwf4.html&quot;&gt;危险的汉字“复繁论”&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://blog.sina.com.cn/s/blog_4900fe270100dex2.html&quot;&gt;“恢复繁体字”主要论点批判&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://blog.sina.com.cn/s/blog_4900fe270100cxcd.html&quot;&gt;推行简化字的功过&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://blog.sina.com.cn/s/blog_4900fe270100cvvz.html&quot;&gt;支持简化字得罪了哪些人？&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://blog.sina.com.cn/s/blog_4900fe270100dff2.html&quot;&gt;朱大可批判简化字的文章令我不寒而栗&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;hr /&gt;
Please visit the original page, which renders better&lt;br /&gt;
请浏览原始页面以获得更好的显示效果，谢谢访问&lt;br /&gt;
&lt;a href=&quot;http://zesn.blogspot.com/&quot;&gt;ESN&lt;/a&gt;
&lt;hr /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zesn.blogspot.com/feeds/7425362499507069322/comments/default' title='博文评论'/><link rel='replies' type='text/html' href='http://zesn.blogspot.com/2009/04/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/7425362499507069322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237971340623882821/posts/default/7425362499507069322'/><link rel='alternate' type='text/html' href='http://zesn.blogspot.com/2009/04/blog-post.html' title='日语中的简化'/><author><name>ESN</name><uri>http://www.blogger.com/profile/15527467890444210518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>