基于字符串长度的条件
Condition based on length of string
使用 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...astatine)或三个字符长(未命名的新发现)。我编写了一个动画循环来遍历所有元素序号,并且已经设法在单个 运行.
中渲染 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
。 documentation一个都没提到
POV-Ray中有字符串长度标量函数或宏吗?或者一个不意味着写118个案例的解决方法?
使用 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...astatine)或三个字符长(未命名的新发现)。我编写了一个动画循环来遍历所有元素序号,并且已经设法在单个 运行.
标签应该在立方体内部基于字符串长度的一个因子在 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
。 documentation一个都没提到
POV-Ray中有字符串长度标量函数或宏吗?或者一个不意味着写118个案例的解决方法?