gpt4 book ai didi

python - 如何在 python 中使用一维数组生成旋转对称函数?

转载 作者:行者123 更新时间:2023-12-05 06:06:33 24 4
gpt4 key购买 nike

我有一个一维数组,我想围绕它的中心旋转它以生成一个对称的二维数组。我该怎么做?例如,我通过 scipy 定义了一个 1D 窗口数组,现在我想生成它的具有旋转对称性的 2D 版本。但是,numpy.outer 的结果不具有旋转对称性。

from scipy.signal import windows
import matplotlib.pyplot as plt
exp1 = windows.get_window(('exponential', None, 5), 60)
exp2d = np.sqrt(np.outer(exp1, exp1))
plt.imshow(exp2d)

enter image description here

我意识到,如果一维窗口有解析形式,做起来就简单了。但是,对于没有解析形式的任意一维数组(函数),是否有一些通用的方法?

最佳答案

是的,这是可以做到的。这是一种可能的方法:

  1. 像这样生成一个“半径”图像,其中每个点的像素值是它到中心的距离:

    radius image

  2. 计算 f(radius),其中 f 是任何一维函数。例如:

    enter image description here

    或者,如果您有一个一维数组而不是一个函数,例如使用 scipy.interpolate.interp1d 对其进行插值。像 f = interpolate.interp1d(x, y)

关于python - 如何在 python 中使用一维数组生成旋转对称函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65712904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com