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