用VMD绘制艺术级轨道等值面图的方法(含演示视频)

注:本文的操作配有演示视频,请注意观看,见https://www.bilibili.com/video/av37101659/


用VMD绘制艺术级轨道等值面图的方法

文/Sobereva@北京科音  2018-Nov-30


之前笔者在《使用Multiwfn+VMD快速绘制高质量分子轨道等值面图》(http://sobereva.com/447,含演示视频)中演示了如何利用Multiwfn结合VMD非常简单快速地绘制出效果令人满意的等值面图,没看过此文者务必要看。在此文中,笔者进一步说明怎么恰当修改VMD的设定和利用Tachyon渲染器获得效果更完美、更出彩的图像。本文使用的是2018-Nov-30更新的Multiwfn 3.6(dev)版,不要用更老版本,否则没有此文中提及的文件。本文用的VMD是1.9.3版。

本文通过一个石墨烯片段的某个轨道为例进行说明,此体系的fchk文件可在http://sobereva.com/attach/449/6x6_graphite.rar下载。大家先按照上文的过程将其第183号轨道显示出来,等值面用0.02。绘制前把showorb.txt里倒数第二行改为3,使得Multiwfn通过high quality grid格点计算MO183的格点数据。当前在VMD中看到的图像如下所示,虽然已经令人满意(已吊打gview的效果),但还不算很出众

下面我们试图绘制出更漂亮的效果。在Multiwfn程序包中,有一个examples\scripts\VMDrender.txt文件,用于在VMD里使用orb命令显示出轨道图形后进一步修改设定,参数都是我精心调节出来的,这里解读一下:
color Name C tan:把名为C的原子改为tan颜色
color change rgb tan 0.700000 0.560000 0.360000:修改tan颜色的定义。这最终使得碳原子比其默认的深青色显得更柔美
material change mirror Opaque 0.15:修改不透明材质(用于显示分子结构)的mirror属性,大于0的时候通过考虑光线追踪的渲染器渲染的时候就会有反光效果
material change outline Opaque 4.000000:设定不透明材质的轮廓深度
material change outlinewidth Opaque 0.5:设定不透明材质的轮廓粗度。设置轮廓可以使原子有勾边效果(有效避免白色的氢原子在某些地方和白色背景连为一体)
material change ambient Glossy 0.1:设置用于显示等值面的Glossy材质的ambient属性
material change diffuse Glossy 0.600000
material change opacity Glossy 0.75:把Glossy材质改为微透明
material change shininess Glossy 1.0
mol modcolor 1 0 ColorID 12:修改正值部分等值面的颜色为淡绿色
mol modcolor 2 0 ColorID 22:修改负值部分等值面的颜色为淡蓝色
display distance -7.0:让视角距离画面的更远,可避免在窗口边缘的物体由于近大远小而畸变太厉害
display height 10:这句是避免因为减小了distance而导致图像变小
light 3 on:开启额外的3号光源令图像更亮

将VMDrender.txt里的内容直接复制到VMD的文本窗口里,此时看到的效果如下,此时已经比前面的图显得柔和多了。

为了效果更出色、加上抗锯齿效果,并且渲染出更大尺寸的图像,这里用Tachyon渲染器,而且为了能够精细调节参数,我们不用Tachyon (internal, in-memory rendering)直接渲染,而是让VMD调用Tachyon产生此渲染器的输入文件,然后再根据我们自设的参数手动调用Tachyon进行渲染。

适当缩放分子,使得分子大体充满整个VMD图形窗口,然后在VMD里选择File - render,选择Tachyon,然后点击Start Rendering。此时VMD目录下出现了vmdscene.dat和vmdscene.dat.bmp。vmdscene.dat就是Tachyon的输入文件,而vmdscene.dat.bmp是基于这个输入文件在默认设置下渲染出来的图像文件,此文件目前没用,可以删掉。

然后把Multiwfn的examples\scripts\目录下的VMDrender_full.bat和VMDrender_noshadow.bat拷到VMD目录下。这俩都是Windows下的批处理文件,先看VMDrender_full.bat的内容:
tachyon_WIN32.exe vmdscene.dat -format BMP -o full.bmp -trans_raster3d -res 2000 1500 -fullshade -numthreads 4 -aasamples 24
含义是,调用VMD自带的tachyon_WIN32.exe渲染器,用vmdscene.dat作为输入文件,在当前目录下渲染出full.bmp图像文件,用的透明着色选项是-trans_raster3d(实测效果比其它选项更好),渲染出的图像像素为2000*1500(通常来说已经足够大了)。-fullshade代表渲染时考虑阴影效果。-numthreads设定渲染时的线程数(建议设为CPU的实际物理核心数)。-aasamples是抗锯齿设定,数值越大抗锯齿效果越好。

现在双击VMDrender_full.bat进行渲染,耐心等候一阵子,得到如下full.bmp图像文件,可见效果极佳!非常光滑,而且富有立体感。

另外值得一提的是,在VMDrender_full.bat里可以再加一句-shadow_filter_off,此时虽然绘制出的图也有阴影效果,但透明的材质的物体,即轨道等值面,不会产生阴影,此时效果如下。下图好还是上图好请根据实际情况自行判断,总的来说下图显得更明亮一些。

VMDrender_noshadow.bat和VMDrender_full.bat的唯一差别就是前者渲染出的图没有任何阴影效果,因为把-fullshade替换为了-mediumshade,但也因此渲染速度快更快,得到的图像如下所示,显得比较干净简洁。

本文的设定对于示例体系很理想,但不代表用于其它体系效果同样好,请根据实际情况恰当修改,特别是材质(可以在Graphics-Materials里改)。如果用此文方法绘制轨道图发了文章,勿忘引用Multiwfn原文;-D


最后再随便展示一张图,以更充分展现本文做法的效果

评论已关闭