31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
import numpy as np
|
|
|
|
def calc_quads(a, b):
|
|
for i in range(a):
|
|
for j in range(b):
|
|
pos_1 = (i, j)
|
|
for ii in range(a):
|
|
for jj in range(b):
|
|
if (ii, jj) == pos_1:
|
|
continue
|
|
pos_2 = (ii, jj)
|
|
angle_12 = np.
|
|
|
|
|
|
blocked = [pos_1, pos_2]
|
|
delta_i = ii-i
|
|
delta_j = jj-j
|
|
gcd = np.gcd(abs(delta_i), abs(delta_j))
|
|
for k in range(gcd-1):
|
|
blocked.append(pos_1+(delta_i, delta_j)*(k+1))
|
|
for iii in range(a, b):
|
|
for jjj in range(a, b):
|
|
if (iii, jjj) in blocked:
|
|
continue
|
|
pos_3 = (iii, jjj)
|
|
|
|
for iiii in range(a):
|
|
for jjjj in range(b):
|
|
if (iiii, jjjj) in blocked or (iiii, jjjj) == pos_3:
|
|
continue
|