如何在ovito渲染中添加标尺
1、在ovito官网可免费下载后处理软件,在windows上的安装过程十分简单,略。
2、通过软件打开一个分子构形文件。图形界面就画出了这个模型。再调整视图得到想要的视角。
3、在菜单栏,选择overlay->python script,这样就添加了一个python脚本。
4、点击edit script,编辑脚本。删除默认代码,将下列代码复制进入文件当中,运行一下脚本,就能在左上角添加标尺。
import ovito
from PyQt5.QtCore import *
from PyQt5.QtGui import *
# Parameters:
bar_length = 40 # 标尺对应的长度 (e.g. Angstroms)
bar_color = QColor(0,0,0)
label_text = "{} nm".format(bar_length/10)
label_color = QColor(255,255,255)
# This function is called by OVITO on every viewport update.
def render(painter, **args):
if args['is_perspective']:
raise Exception("This only works with non-perspective viewports.")
# 计算屏幕上标尺长度
screen_length = 0.5 * bar_length * painter.window().height() / args['fov']
# 标尺的高度和位置
height = 0.07 * painter.window().height()
margin = 0.02 * painter.window().height()
rect = QRectF(margin, margin, screen_length, height)
# 渲染标尺
painter.fillRect(rect, bar_color)
# 渲染字符
font = painter.font()
font.setPixelSize(height)
painter.setFont(font)
painter.setPen(QPen(label_color))
painter.drawText(rect, Qt.AlignCenter, label_text)
5、你可以通过改变 bar_length的值,得到想要的标尺对应的长度。改变screen_length来改变标尺长度。改变 margin来改变标尺位置。比如下图,我把标尺放到了左下角。