使用 POV-Ray for Windows 3.7 版,我编写了一个脚本来渲染代表化学元素的半透明立方体:
#declare H=difference {
box {
<-1, -1, 0>, <1, 1, 0.5>
material {
M_Glass
}
}
text {
ttf "ariblk.ttf", element,
0.2, // depth
0 // spacing
texture {
pigment { color <0,0,0,1> }
}
scale 1.3
translate <-0.8, -0.45, -0.1>
}
}
element
字符串在哪里。现在化学元素代号可以是一个字符长(H...氢)、两个字符长(At...砹)或三个字符长(未命名的新发现)。我编写了一个动画循环来遍历所有元素序号,并且已经设法在一次运行中渲染 1..118。
标签应根据字符串长度的因子在立方体内沿 x 方向进行平移和缩放。虽然对于翻译,居中对齐或首先测量实际边界框可能会起作用,但我仍然希望能够表达这样的东西来进行缩放:
#switch(string_length(element))
#case(1)
scale 0.9
#break
#case(2)
scale 0.72
#break
#case(3)
scale 0.62
#break
#end
但是没有这样的功能string_length
。该文档没有提到一个。
POV-Ray 中是否有字符串长度标量函数或宏?或者不是写118个案例的解决方法?