Как да разбера дали избраният връх лежи на границата на триъгълна мрежа?

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


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