|
5.4.12工具窗口时间:2025-06-14 “工具”窗口用于设置外部3D指针、按钮、力反馈设备以及它们控制的VMD“工具”。VMD通过CA VElib、FreeVR或VRPN (Virtual Reality Peripheral Network)与输入设备通信,或直接与操作系统接口通信。 由于VRPN提供了网络设备抽象,VMD不必在连接VRPN设备的同一台计算机上运行。使用VRPN,您可以使用按钮,跟踪器和力反馈(触觉)设备,如PHANToM。在CA VE或FreeVR中,VMD识别两种类型的设备:按钮和跟踪器。内置的Spaceball驱动程序也可用于控制工具。 配置输入设备要使用带有VMD“tools”的输入设备,你需要一个传感器配置文件,位于你的主目录下,名为.vmdsensors(参见VMD安装指南)。在这个文件中,可以使用通用传感器定位器(USL)指定任意数量的设备。 USL的格式如下:USL - type://place/name:nums •type -传感器的类型(vrpntracker, vrpnbuttons, vrpnfeedback, cavetracker, cavebuttons,或balltracker) •place -控制它的机器。还不能在网络上任意计算机上使用的设备必须在这里使用关键字local,以便与将来的版本兼容。 •name -该机器中设备的名称。如果当前不能存在多个设备,例如CAVE,那么应该使用标准名称,例如cave,以便在将来允许多个设备时使用相同的USL。 •nums -属于该名称的设备数量的逗号分隔列表(可选,默认为零)。有些设备只需要一个数字或特定的数字,但按钮设备现在应该正常工作。
传感器配置文件有四种类型: •注释以#开头,并被忽略。 •空行也会被忽略。 •设备行具有设备名称USL的形式,其中name是VMD将用于引用设备的名称,USL是设备的USL。 •选项告诉VMD如何使用最近列出的设备。目前,有四个支持的选项: -“scale x”将跟踪器的位置按x倍缩放。 -“offset x y z”将一个常量向量添加到跟踪器的位置。 -“rot right—left A00 A01 . . . A33”将跟踪器返回的方向矩阵在左边或右边乘以矩阵a。 -“forcecale x”将施加在力反馈设备上的力乘以量x。
这里有一个简单的例子,展示了一些你可以用传感器配置文件做的事情,一个更完整的例子,请参考VMD发行版附带的.vmdsensors文件:
### Sensable PHANTOM via VRPN ### http://www.sensable.com/ ### The Phantom haptic device connected to the computer "odessa" device phantomtracker vrpntracker://odessa/Phantom0 scale 10 rot left 0 0 -1 0 1 0 1 0 0 device phantombuttons vrpnbuttons://odessa/Phantom0 device phantomfeedback vrpnfeedback://odessa/Phantom0
Grab Tool抓取工具抓取工具模仿了一把镊子,可以用来在屏幕上移动分子,而不需要任何键盘或鼠标命令。按下一个按钮将3d光标连接到最近的分子。然后,移动或旋转跟踪器将导致分子在屏幕上移动或旋转。
Rotate Tool 旋转工具旋转工具是一个使用触觉设备精确旋转分子的工具。当按下并释放按钮时,光标再次连接到分子上。然而,有了这个工具,分子的中心是固定的,触觉指针的末端被强制放在围绕这个中心的球体表面上。在球体表面移动设备旋转分子,再点击一个按钮释放分子。球体表面有一些触感,就像在2d表盘上常见的滴答声一样,使用者可以将分子旋转到精确的90度点。如果用户一开始按住按钮一段时间,他可以感觉到球体和小球,但不会影响到分子。这种“预览模式”允许用户找到一个开始旋转的好点。
Joystick Tool操纵杆的工具操纵杆工具是一个三维等效的操纵杆,触觉设备。 按下这个按钮会产生一个虚拟的“弹簧”,将设备固定在当前位置。如果它被从这一点向某个方向推开,所选的分子就开始向那个方向滑动,其速度与装置的位移成正比。操纵杆工具显示了如何使用三维输入设备来提供相对(微分)坐标而不是绝对坐标。
Tug ToolTug工具是一种允许与正在运行的分子动力学模拟进行交互的工具。
按下按钮将带有模拟弹簧的设备与最近的原子连接起来,拉动它会给模拟增加一个力。如果使用了触觉设备,用户就会感觉到手上有一个与这个力成正比的力。通过这种方式,拖拽工具实现了类似于窗口系统中常用的点击-拖动操作。
如果将原子选区分配给工具,则拖拽工具将对选区中的所有原子施加一个力。所施加的力将与选择中的原子的质量成正比,因此所有原子都经历相同的加速度。当指定了一个工具选区时,拖拽工具将始终影响该选区,即使按钮被按下时远离选区中的任何原子;这是为了让用户更容易地只对他/她想要控制的原子施加力。
Spring ToolSpring工具还允许与正在运行的分子动力学模拟交互。它的工作原理类似于拖船工具,除了当跟踪器上的按钮在原子附近释放时,模拟弹簧与之相连。有关查看和修改活动弹簧列表的信息,请参见第5.4.8节。
Pinch Tool 缩放工具捏紧工具类似于拖曳工具,不同之处在于只能沿着跟踪器方向定义的轴施加力。
Print Tool打印工具打印工具的目的是在用户首次设置VMD以与VRPN、CAVE或其他3-D输入设备一起使用时用作调试辅助工具。当启用时,该工具将向VMD控制台打印文本消息,指示相关工具的当前位置。该工具在校准基于跟踪器位置和方向数据的各种变换矩阵(无论是在VMD还是在VRPN、CAVElib等中)时非常有用。
要向VMD会话添加新工具,请打开“工具”窗口并单击“创建工具”按钮。 工具的编号和类型显示在左侧的列表中。设备可以通过从“添加设备”菜单中选择设备添加到工具中,也可以通过“删除设备”按钮删除设备。可以在传感器配置文件中指定的一些选项可以使用下面的控件进行编辑,并且可以使用type菜单更改工具的类型。
|
