1

我试图了解规模如何在箭袋情节中发挥作用。我在这里找到了解释,但我想仔细检查一下,我理解作者所说的话。

当他说

将 angle 关键字设置为“xy”意味着矢量分量根据物理轴单位而不是页面上的几何单位进行缩放。

他的意思是说,如果我有一些 1 像素的运动(为了简单起见,假设是每 1 秒)并且这发生在 232x232 图像上(我有的实际情况),那么 1px/s 的运动会显示吗放大 232 倍?那是 1/232 吗?或者 1px/s 是否会显示为 1 px(无论与轴的角度如何),也就是说它需要 1px,但是该像素出现在 232 x 232 像素大小的图像上?

将矢量分量单位乘法转换为物理轴单位的实际比例因子是宽度/比例,其中宽度是以物理单位表示的绘图宽度,比例是 quiver 的 scale 关键字参数指定的数字。

这是否意味着如果说,我选择我的比例为 10,实际上 10px/s 的向量将显示为 1px/s ?(我知道这些是非常基本的问题,但我对“物理轴”和“页面上的几何单位”感到困惑)。

我想我将通过简单地使用两张图像来测试这一点,一张尺寸为 40x40,另一张尺寸为 160x160,具有相同的 1px 移动,看看它如何影响情节。

我想要做的是实际上有 1px/s 代表 1px 长度,无论该长度是由情节表示的(使用 matplotlib.pyplot)。

4

1 回答 1

0

好的,所以我使用合成数据并使用“angles = 'xy'”或只是将其排除在外(即有类似的东西

q = pl.quiver(a[valid,0],a[valid,1],a[valid,2],a[valid,3], color='r',**kw),其中一个 kwargs 是您的比例因子。

它似乎与情节的宽度成比例。我用了

pl.draw() pl.xticks(np.arange(0,120,32)) pl.yticks(np.arange(0,100,32)) pl.grid(color = 'y') pl.savefig(new_file, bbox = "tight") 保存我的图(实际图像为 120x100(在本例中)、120x120 和 64x64。

我做了什么来测试它:我在水平和垂直方向上创建了一个像素偏移,然后在其他一些图像上创建了 5px 的对角线偏移(向右 3 像素和向下 4 像素)。

要让 1px/s 向量在图像中采用 1px 的长度,您必须将比例设置为绘图的宽度,即在我的情况下它是 64 或 120。我想看看是否有非正方形图像会影响比例,所以我将图像裁剪为 100px 高度。从我做过的几个测试来看,它似乎没有任何效果。使用不同的像素位移进行测试是值得的,但是由于使用不同边长的图像没有以不同的方式缩放水平/垂直位移,我认为可以安全地假设它的行为符合预期。

我想知道这种矢量缩放的原因是什么......

于 2013-07-10T14:36:30.737 回答