用户工具

站点工具

本页面的其他翻译:
  • zh

atk:从quantumatk创建pov-ray图片

从 VNL 创建 POV-Ray 图片

POV-Ray(视觉光线跟踪器的暂留)是一种生成图像的跨平台光线跟踪程序(用 C ++ 编写)。此应用程序已包含在 QuantumATK 平台中,并提供了一个用于编辑提取图像的选项。QuantumATK 和 POV-Ray 的这种组合可将前者的功能延伸至更具艺术性的视角。

通过一个例子展示基本功能

在这个简单的例子(双原子分子)中,我们将介绍如何编辑由两个原子(红色和白色)组成的分子图像。此外,这也是一个介绍我们将要使用的一些基本 POV-Ray 概念的好机会。整个过程如下图所示:

步骤1:在 QuantumATK 中创建一个结构。第一步是使用 QuantumATK Builder 创建结构。这一步有助于分析我们的结构中有什么。本例中,我们有用两个球体(白色和红色)表示的原子,它们由一个用薄圆柱形物体代表的单键连接。研究对象由两个圆柱体(白色和红色圆柱形表面)及其顶盖和底盖(白色和红色圆盘)组成。也就是说,

结构组成:

  1. 球体(红色原子)
  2. 球体(白色原子)
  3. 圆柱体(红色原子键合部分)
  4. 圆柱体(白色原子键合部分)
  5. 圆盘(红色原子键合部分的红色底盖)
  6. 圆盘(红色原子键合部分的白色顶盖)
  7. 圆盘(白色原子键合部分的红色底盖)
  8. 圆盘(白色原子键合部分的白色顶盖)

步骤 2:提取 POV-Ray 文件。当我们准备好 QuantumATK 中的分子,就可以将其作为 POV-Ray 文件提取(POV-Ray 文件扩展名为 .pov)。这很容易做到,只需单击 Builder 工具栏右上角的 POV-Ray 图标 即可。然后将出现一个弹出窗口,要求您为 .pov 文件指定名称。我们将其命名为 picture.pov。单击 Generate 按钮,在 POV-Ray 文件中提取双原子分子,并以 picture.png 格式渲染。

注意

这里必须要提到的是,使用 QuantumATK 无法修改提取的 .pov 文件(来自QuantumATK)。我们只能通过 POV-Ray 程序更改和导入参数和属性来实现。

检查 .pov 文件

头文件。打开 picture.pov 文件,我们可以看到一个 C ++ 代码,它描述了图片的每个元素和每个细节。在代码的前面几行我们引入了一些负责处理不同颜色、纹理和形状的 .inc 头文件。他们的作用显而易见的,此处无需探究更多细节:

1   #include "colors.inc"
2   #include "stones.inc"
3   #include "textures.inc"
4   #include "shapes.inc"
5   #include "metals.inc"
6   #include "woods.inc"

相机。接下来的几行描述了相机的属性。相机元素非常重要,因为图片的渲染取决于它。

1   camera {
2       orthographic
3       location  <0,0, 0>
4       direction <0,0,-1>
5       right     <2.7, 0, 0>
6       up        <0, 2.4, 0>
7   }

以上代码描述了我们曾用于从 QuantumATK 中提取双原子分子的相机视图。下图展示了 3D 空间中的一些基本的相机属性。有关编辑相机及其属性的更多信息,请参阅 POV-Ray 相机

光源。下一个重要元素是 light_source。可以通过导入和/或改变各种光源属性来控制该元素。在本示例中,我们有两个光源,其位置和颜色指示灯已定义:

1   light_source { < 0,  0, 0> color White }
2   light_source { < -200.0,  200.0, 243.0> color White shadowless}

背景。此元素用于为所有未被光线照射到的部分指定颜色。在这里,我们采用了合适的RGB颜色坐标定义了一个灰色背景:

1   background { color rgb <0.15, 0.15, 0.15> }

QuantumATK 对象。代码的下一部分包含了我们在 QuantumATK 中创建和呈现的各种对象的描述。即,上面步骤 1 中提到的元素及其属性(如纹理、颜色、相对位置、半径等)。在这些代码行中我们确实很容易看到:在大括号中定义的两个球体、两个圆柱体、四个圆盘和它们的属性。例如,红色原子/球体由以下球体描述:

1      sphere {
2          <-0.3, 0.2, -2.1>,  0.4     // center and radius
3          texture {
4              pigment { color rgb <1. 0.06 0.06> }
5              finish {
6                   ambient .2
7                   diffuse .4
8                   specular .75
9                   roughness .001
10                   reflection { .6, metallic}
11              }
12          }
13      }

在第 2 行,我们可以看到球体中心的位置(在笛卡儿坐标 <x,y,z> 中)。逗号后面的下一个数字就是球体的半径。其余行描述了球体的纹理。在 pigment 行,我们可以清楚地看到颜色定义(红色),而随着结束标识符(在第 7 行的起始)的出现,我们对研究对象有了更真实的印象。Finish 是一个非常有用的标识符,因为它给我们提供了控制研究对象表面许多属性(如粗糙度、扩散和反射效果等)更详尽的选项。所有这些纹理术语的最终当然与光源和相机视图高度相关。这意味着当我们更改结束标识符中的参数时,必须始终根据我们的相机视图考虑已经在场景中设置的灯光属性(因为光反射是改变,不同的相机视图给我们展示了对同一物体的不同印象)。圆柱体和圆盘以类似的方式定义。

步骤 4:编辑 POV-Ray 文件。现在我们准备更新图片了。编辑 example1.pov 文件,我们可以控制许多参数,添加对象和创建许多艺术效果(使用 POV-Ray 程序)。在我们这个例子中,只添加一个平面。我们想要的平面由以下代码行描述:

1   plane {
2       <0,0,1>, 1                         //This represents the plane 0x+0y+z=1
3       texture { T_Silver_3A }   //The texture comes from the file "metals.inc"
4   }

导出 POV-Ray 图片

注意

本段内容适用于 POV-Ray 作为独立程序的一般用途,不受 QuantumATK 或任何其他软件的限制。QuantumATK 只能将复杂结构导出为 .pov 和 .png 扩展名的格式。

为了能够导出已编辑的图片,您必须已经在您的系统上安装了 POV-Ray。您可以在 POV-Ray 的下载页面找到关于此主题的详细说明。因此,假设您已经有一个 [filename] .pov 文件(在我们的示例中 [filename] 代表 “picture”),请按照以下步骤操作:

POV-Ray 安装在 Windows 或 MacOS 系统

步骤5.1:单击 POV-Ray 应用程序图标,打开 POV-Ray 界面(参见上图)。 步骤5.2:单击 Open 按钮,然后导航到您的文件以导入您指定的 [filename] .pov 文件(例如 picture.pov)。现在,您可以根据自己的喜好查看和编辑代码。准备好后,只需单击绿色的 Run 按钮,几秒钟后您将创建 [filename] .png 图片。

POV-Ray 安装在 Linux 或 MacOS 系统

步骤6.1:使用文本编辑器打开 [filename] .pov,进行所需的更改(如果有)并保存。 步骤6.2:打开终端并输入 povray [path / to / pov / file]。例如, 如果 picture.pov 文件位于桌面上,则键入:

1   $ cd Desktop/
2   $ povray Desktop/picture.pov

或者直接

1   $ povray Desktop/picture.pov

如果您想要特定的图片尺寸类型:

1   $ cd Desktop/
2   $ povray picture.pov -w320 -h240 +a0.3

这里的 -w-h+a 数值分别定义了宽度高度长宽比

参考

atk/从quantumatk创建pov-ray图片.txt · 最后更改: 2019/08/26 21:53 由 xie.congwei

© 2014-2022 费米科技(京ICP备14023855号