2009年7月18日星期六

找回xfce桌面上的图标和文件


不知什么原因,某天启动电脑后,桌面上的图标、文件和背景图片都不见了。一直没有时间去折腾,今天终于回复原状了。

打开“开始菜单-设置-xfce4设置中心-桌面“对话框,选中“允许xfce管理桌面”,并记得关机时选中“保存设置”,这样才能在下次启动时也有效。

[......]

2009年7月12日星期日

天一,生日快乐!


天一是朋友的女儿,他们住在巴黎。这一张是根据她六个月时的照片画的。她的父母用那张照片做了圣诞卡片发给朋友们。所以我就照着画了。其实,现在的天一已经长大很多了。

上次见面时,你一看到我就哭;下次再见,希望你能用三种语言喊我叔叔哦。

生日快乐,天一!

[......]

Mayavi2 用户手册3.5——探索向量场

内容来自Mayavi2的中文文档项目。本篇文档的源文件在这里。欢迎感兴趣的朋友加入。其他文档的帖子在这里

在此例中,我们从标量场的梯度(gradient)中产生向量场,然后交互地查看。此例介绍怎样交互地进行类似前面例子的操作,例如使用过滤器 (filter)和模块(module)。前面的例子使用 `numpy`进行大多数操作,这一步则需要对 Mayavi 和 VTK 过滤器有更多的了解。与之对应的益处是可以交互地进行可视化。

首先,我们生成与前面例子相同的标量场。打开 Mayavi,在 Python 命令行内输入下面的代码:

 from enthought.mayavi import mlab
import numpy as np

def V(x, y, z):
""" A 3D sinusoidal lattice with a parabolic confinement. """
return np.cos(10*x) + np.cos(10*y) + np.cos(10*z) + 2*(x**2 + y**2 + z**2)
X, Y, Z = np.mgrid[-2:2:100j, -2:2:100j, -2:2:100j]
mlab.contour3d(X, Y, Z, V)

像前面的例子一样,可以改变调色板(color map)和在等值面中选定的数值。

为了使用标量场梯度生成向量场,我们将使用`CellDerivative`滤波器。此滤波器可获得单元(也就是点之间,请参考data- structures-used-by-mayavi)内数据的微分。首先使用`PointToCellData`滤波器对单元内各点进行插值,然后使用 `CellDerivatives`滤波器,接着使用`CellToPointData`滤波器重新获得点数据。

使用`VectorCutPlane`模块可以可视化向量场。生成的标量数据太大,我们可以在`Glyph`标签(以及在此标签内的`Glyph` 标签)将缩放比例(scale factor)减少为0.2。向量场还是太密集,可以在`Masking`标签打开遮蔽(masking)功能,将`on ratio`设为6 (one arrow out of 6 is masked)并关闭随机模式(random mode)。

example_vector_cut_plane.jpg

为了获得更漂亮的颜色,可以改变向量场的调色板:在`VectorCutPlane`上面的`Colors and legend`节点,找到**in the VectorLUT**标签,选择查找表,那里有向量和标量数据的不同调色板。

不像之前的例子,我们可以在对话框中试试各种参数,例如遮蔽,或在`Glyph`标签选择`color_by_scalar`来显示势值(the value of the potential)。我们也可以拖动显示向量的剖面。

既然有了3D向量场,可以使用Mayavi集成(integrate)其中一个粒子的轨迹。为此,我们可以使用streamline模块。此模块显 示起始于种子(seed)表面顶点的轨迹。选择`Point Widget`作为种子(在`Seed`标签),可以在3D场景中拖动种子点。这使我们可以在产生于初始标量场的势位中探索轨迹。这里,所有的轨迹终止于 局部极小势位。可以移动种子点,使我们可以看到每个点将陷入的极小值之处,换句话说,每个局部极小的吸引盆(basin of attraction)。

example_streamline.jpg

[......]