У меня есть матрица чисел (Nx, Ny), и я хотел бы выбрать из этой матрицы координаты / компоненты математической формы, поскольку это может быть линия с заданным наклоном.
Я научилсясоздать маску и как это сделать случайным образом, но я не могу думать о том, как сгенерировать маску математической формы в python.
Это часть кода, которую я смог разработать.Если вы знаете лучший способ сделать это, я также буду благодарен за сообщение.
import random
import numpy as np
threshold = 0.85
radius=40
sq7=1/(radius*radius)
matrix=np.zeros((Nx,Ny))
for i in range(0,Nx):
for j in range(0,Ny):
if ((i-Nx*0.5)*(i-Nx*0.5)*sq7+(j-Ny*0.5)*(j-Ny*0.5)*sq7<=1.0):
matrix[i,j]= 1.0 - 0.1*random.random();
else:
matrix[i,j]=-1.0 + random.random();
randoms = np.random.normal(0,scale=0.002, size=matrix[mask].shape)
mask = matrix**2 < threshold
matrix[mask] += randoms * (1 - matrix[mask]**2)