C#. Поиск внутренних треугольников

C#. Поиск внутренних треугольников.
В общем, проблема такая: есть фигура из нескольких треугольников, в ней есть 2 внутренних треугольника (соседствуют с тремя другими треуг-ми). Вершины треугольников заданы цифрами (1..9). Организован цикл поиска внутренних треугольников. Внутренних треугольников два, а код находит только один.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace тест
{
class Program
{
static void Main(string[] args)
{
int[,] tr = {{2, 3, 1},
{4, 5, 2},
{5, 3, 2},
{5, 6, 3},
{7, 5, 4},
{7, 8, 5},
{8, 6, 5},
{8, 9, 6}};
int[,] g = new int[8, 3];
int[] type = new int[8];
for (int a = 0; a < 8; a++)
for (int j = 0; j < 3; j++)
{
int va = tr[a, j];
int vb = tr[a, (j + 1) % 3];
for (int e = 0; e < 8; e++)
for (int i = 0; i < 3; i++)
{
int wa = tr[1, i];
int wb = tr[1, (i + 1) % 3];
if (va == wb && vb == wa)
{
g[a, j] = 1;
g[e, i] = 1;
}
}
}
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 3; j++)
Console.Write(tr[i, j] + " ");
Console.WriteLine();
}
Console.WriteLine();
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 3; j++)
Console.Write(g[i, j] + " ");
Console.WriteLine();
}
Console.WriteLine();

Console.Read();
}
}
}

  • названия переменных такие чтобы враг не догадался...
  • Задача совершенно не решена. Понятно же, что должен существовать класс трегольника с функциями соседства. Сравнение точек- неверный путь.