Необходимое условие


In [54]:
from pylab import *
import copy

In [2]:
x,y,z = genfromtxt('f1.dat').T
N = int(sqrt(x.shape[0]))

In [3]:
x = x.reshape(N, N)
y = y.reshape(N, N)
z = z.reshape(N, N)
mark1 = copy.deepcopy(z)
mark2 = copy.deepcopy(z)

In [4]:
for i in range (0, N-1):
    z_point = z[i] * z[i+1]
    for j in range (0, N):
        if (z_point[j] < 0) :
            mark1[i][j] = 1.0
        else:
            mark1[i][j] = 0.0
mark1[253] = mark1[253] * 0.0

In [5]:
z = z.T
x = x.T
y = y.T

In [6]:
for i in range (0, N-1):
    z_point = z[i] * z[i+1]
    for j in range (0, N):
        if (z_point[j] < 0) :
            mark2[i][j] = 1.0
        else:
            mark2[i][j] = 0.0

In [7]:
mark2[253] = mark2[253] * 0.0

In [8]:
mark2 = mark2.T

In [9]:
print mark1[0][226] + mark1[0][227] + mark2[0][226] + mark2[1][226]


0.0

In [10]:
cell1 = copy.deepcopy(mark1)

In [11]:
for i in range (0, N-1):
    for j in range (0, N-1):
        cell1[i][j] = mark1[i][j] + mark1[i][j+1] + mark2[i][j] + mark2[i+1][j]

In [12]:
x,y,z = genfromtxt('f2.dat').T
N = int(sqrt(x.shape[0]))

In [13]:
x = x.reshape(N, N)
y = y.reshape(N, N)
z = z.reshape(N, N)
mark1 = copy.deepcopy(z)
mark2 = copy.deepcopy(z)
cell2 = copy.deepcopy(z)

In [14]:
for i in range (0, N-1):
    z_point = z[i] * z[i+1]
    for j in range (0, N):
        if (z_point[j] < 0) :
            mark1[i][j] = 1.0
        else:
            mark1[i][j] = 0.0
mark1[253] = mark1[253] * 0.0

In [15]:
z = z.T
x = x.T
y = y.T

In [16]:
for i in range (0, N-1):
    z_point = z[i] * z[i+1]
    for j in range (0, N):
        if (z_point[j] < 0) :
            mark2[i][j] = 1.0
        else:
            mark2[i][j] = 0.0

In [17]:
mark2[253] = mark2[253] * 0.0

In [18]:
mark2 = mark2.T

In [19]:
cell2 = copy.deepcopy(mark1)

In [20]:
for i in range (0, N-1):
    for j in range (0, N-1):
        cell2[i][j] = mark1[i][j] + mark1[i][j+1] + mark2[i][j] + mark2[i+1][j]

In [21]:
cell = cell1*cell2

In [77]:
answer_x = []
answer_y = []

In [78]:
for i in range (0, N-1):
    for j in range (0, N-1):
        if (cell[i][j] != 0): #& (cell[i][j] != 4):
            answer_x.append(i)
            answer_y.append(j)