我有一个代码,可以生成一堆*.pov
个文件,以便使用POV-Ray进行可视化。不幸的是,它们具有不同的纵横比(宽度/高度)。该信息以向上/向右矢量的形式出现在脚本中。但是,当我在没有任何额外参数的情况下渲染脚本时,即通过povray test.pov
,POV-Ray强制标准的4/3宽高比。因此,图像失真。
问题:脚本是否有任何方式可以请求某种宽高比或分辨率?
答案 0 :(得分:7)
我就是这样做的(对于迟到的回答感到抱歉):
在.pov文件中,指定“向上”和“向右”关键字:
camera {
up <0,9,0>
right <16,0,0> // right,up -> 16:9
}
此外,我在.ini文件中指定输出的高度和宽度:
Width=1600
Height=900
如果您不想使用.ini文件,还可以在命令行中指定高度和宽度:
povray -H900 -W1600 ...
也许这更接近您的脚本解决方案。
答案 1 :(得分:3)
作为@Fabian said,您可以使用image_width
和image_height
。以下将假设像素是正方形。然后,任何+H
和+W
设置都会在两侧保持高度不变的同时裁剪图像:
camera {
location <0, 2, -3>
look_at <0, 1, 2>
right image_width/image_height*x
}
我个人不明白为什么这样的东西不是默认值,因为大多数人都关心像素的形状而不是目标屏幕的宽高比。即,我可能正在制作一个只能填充屏幕的一小部分的图像,但我的像素是正方形 - 然后上面的工作。或者,如果您的像素是高的两倍,只需使用right 2*image_width/image_height*x
(具有此类像素的显示器将有效地沿X轴拉伸图像,因此如果您在具有方形像素的显示器上查看该图像,它将会看起来沿着X轴弯曲。)
答案 2 :(得分:1)
来自文档:http://www.povray.org/documentation/view/3.6.0/153/
您可以在相机中使用“right”关键字设置宽高比 块。为图像设置正确宽高比的一般方法 尺寸是:
camera
{ right x*ImageWidth/ImageHeight
(other camera settings...)
}