Как определить, лежит ли выбранная вершина на границе треугольной сетки?

У меня есть треугольная сетка, которая представлена ​​списком координат вершин, треугольники хранятся в списке индексов вершин и списке индексов углов. У меня также есть угловая таблица, в которой хранятся координаты вершины, следующего угла, предыдущего угла, противоположного угла, а также правого и левого углов (падающего треугольника). В моей программе пользователь может выбрать вершину, но у меня возникают проблемы с определением, лежит ли выбранная точка на границе сетки или нет (потому что тогда она требует уникальной обработки). Мне удалось определить, является ли треугольник, на котором он лежит, граничным треугольником. Но как я могу проверить, является ли выбранная вершина также граничной вершиной?


person mathew7k5b    schedule 01.08.2017    source источник
comment
Я не уверен, что вы имеете в виду под углами. Вы имеете в виду края?   -  person BDL    schedule 01.08.2017


Ответы (1)


Существует несколько способов определения граничной вершины.

Вершина v является граничной вершиной

  • Если оно принадлежит хотя бы одному граничному ребру (ребру только с одной смежной гранью) или
  • Если окрестность v в графе вершин-ребер не образует петли.

Если вы хотите идентифицировать вершины v в треугольной сетке, вы можете подсчитать для каждой вершины соседства w, сколько существует (v,w) ребер. Если существует вершина w только с одним (v,w) ребром, то вершина v (а также вершина w) будут граничными вершинами.

person BDL    schedule 01.08.2017