Johns Hopkins University
Econ-ARK
from __future__ import annotations

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import tri
xlen = 10
ylen = 16
xPoints = np.arange(0, xlen + 1, 1)
yPoints = np.arange(0, ylen + 1, 1)

gridPoints = np.array([[[x, y] for y in yPoints] for x in xPoints])
a = [
    [i + j * (ylen + 1), (i + 1) + j * (ylen + 1), i + (j + 1) * (ylen + 1)]
    for i in range(ylen)
    for j in range(xlen)
]

triang_a = tri.Triangulation(
    gridPoints[:, :, 0].flatten(), gridPoints[:, :, 1].flatten(), a
)


plt.triplot(triang_a, "go-")
plt.plot(gridPoints[:, :, 0], gridPoints[:, :, 1], "bo")
plt.title("Triangulation Visualization")
<Figure size 640x480 with 1 Axes>
xlen = 10
ylen = 16
xPoints = np.arange(0, xlen + 1, 1)
yPoints = np.arange(0, ylen + 1, 1)

gridPoints = np.array([[[x, y] for y in yPoints] for x in xPoints])

b = [
    [(i + 1) + (j + 1) * (ylen + 1), (i + 1) + j * (ylen + 1), i + (j + 1) * (ylen + 1)]
    for i in range(ylen)
    for j in range(xlen)
]


triang_b = tri.Triangulation(
    gridPoints[:, :, 0].flatten(), gridPoints[:, :, 1].flatten(), b
)

plt.triplot(triang_b, "ro-")
plt.plot(gridPoints[:, :, 0], gridPoints[:, :, 1], "bo")
plt.title("Triangulation Visualization")
<Figure size 640x480 with 1 Axes>
plt.triplot(triang_a, "go-")
plt.triplot(triang_b, "ro-")
<Figure size 640x480 with 1 Axes>