Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 极性方程给出的阵列掩模边界_Python_Mask - Fatal编程技术网

Python 极性方程给出的阵列掩模边界

Python 极性方程给出的阵列掩模边界,python,mask,Python,Mask,我有下面的极性方程:r(θ)=r+a*Sin(n*θ),这就形成了这种图(我使用了r=1,a=0.1,和n=5): 我希望最终得到一个二维笛卡尔数组,它在这个边界内0,而1在它之外(红色的笔标记) 有人知道一种“优雅”而简单的方法吗 到目前为止(以及正在进行的)我的尝试只是尝试将极坐标网格转换为笛卡尔网格…无论您的数组采用何种形式,每个位置的值都只是对函数值的测试: import math def array_val(x, y): # Compute the function val

我有下面的极性方程:
r(θ)=r+a*Sin(n*θ)
,这就形成了这种图(我使用了
r=1
a=0.1
,和
n=5
):

我希望最终得到一个二维笛卡尔数组,它在这个边界内
0
,而
1
在它之外(红色的笔标记)

有人知道一种“优雅”而简单的方法吗


到目前为止(以及正在进行的)我的尝试只是尝试将极坐标网格转换为笛卡尔网格…

无论您的数组采用何种形式,每个位置的值都只是对函数值的测试:

import math

def array_val(x, y):
    # Compute the function value for the proper angle;
    # Compare to the actual radius; return 0 or 1

    theta = math.atan(y/x)    # Adjust for proper quadrant
    r = math.sqrt(x*x + y*y)
    return int(r <= (R + a * math.sin(5 * theta)))
导入数学
def阵列值(x,y):
#计算适当角度的函数值;
#与实际半径进行比较;返回0或1
θ=数学常数(y/x)#调整合适的象限
r=数学sqrt(x*x+y*y)

return int(r)你真的需要数组吗?你可以随时计算任意给定点是在周长之内还是之外。一个简单的比较函数就可以了。是的,我需要数组进行计算。但是也许我可以按照你的建议先做一个比较函数,然后根据它构建数组?