Чотиригранна структура даних — це комп'ютерне представлення топологічного двовимірної або тривимірного відображення, тобто графіка, накресленого на (закритій) поверхні. Вперше його описали [en] та [en]. Це варіант попередньої структури даних «крилатого» ребра.
Огляд
Фундаментальна ідея структури з чотирма ребрами полягає в тому, що одне ребро в закритій полігональній топології сітки розташоване рівно між двома гранями і двома вершинами. Структура даних з чотирма ребрами являє собою ребро разом з іншими ребрами, з якими воно пов'язане навколо суміжних вершин і граней для кодування топології графа. Нижче наведено приклад реалізації чотиригранного типу даних
typedef struct { quadedge_ref e[4]; } quadedge; typedef struct { quadedge *next; unsigned int rot; } quadedge_ref;
Кожна чотиригранне ребро містить чотири посилання на сусідні чотиригранні ребра. Кожне з чотирьох посилань вказує на наступне ребро проти годинникової стрілки навколо вершини або грані. Кожне з цих посилань представляє вихідну вершину ребра, праву грань, кінцеву вершину або ліву грань. Кожна чотиригранна опорна точка вказує на чотиригранну дугу, а обертання (від 0 до 3) «руки», на яку вона вказує.
Завдяки такому представленню чотиригранник:
- представляє граф, його двоїстий граф і дзеркальне відображення.
- Двоїстий граф можна отримати, просто змінивши умову щодо того, що є вершиною, а що є гранню.
- може представляти найбільш загальну форму відображення, що допускає вершини і грані ступеня 1 і 2.
Подробиці
Чотиригранна структура отримала свою назву від загального механізму, за допомогою якого вони зберігаються. Одна структура Edge концептуально зберігає посилання до двох граней, двох вершин і 4 ребер. Чотири збережені ребра — це ребра, які починаються з двох вершин, які приєднані до двох збережених граней.
Застосування
Подібно до «крилатого» ребра, чотиригранні структури використовуються в програмах для зберігання топології 2D або 3D полігональної сітки . Саму сітку не потрібно приховувати, щоб сформувати дійсну чотиригранну структуру.
Використовуючи чотиригранну структуру, ітерація по топології досить проста. Часто інтерфейс до топологій чотирьох країв здійснюється через спрямовані ребра. Це дозволяє двом вершинам мати явні назви (початок і кінець), і це дає граням явні імена (ліворуч і праворуч, відносно людини, яка стоїть на початку і дивиться в напрямку кінця). Чотири ребра також мають назви на основі вершин і граней: початок-лівий, початок-правий, кінець-лівий і кінець-правий. Спрямоване ребро можна повернути, щоб створити ребро в протилежному напрямку.
Ітерація навколо певної грані треба лише одного спрямоване ребро, до якого ця грань знаходиться зліва (за згодою), а потім проходження через усі початкові ліві ребра, поки не буде досягнуто вихідне ребро.
Див. також
Примітки
- Stolfi, Jorge; Guibas, Leonidas J. (April 1985). Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams. ACM Transactions on Graphics. 4 (2): 74‒169. doi:10.1145/282918.282923.
Посилання
- https://www.cs.cmu.edu/afs/andrew/scs/cs/15-463/2001/pub/src/a2/quadedge.html A quad-edge implementation in .
- http://www.ic.unicamp.br/~stolfi/EXPORT/software/c/2000-05-04/libquad/ A quad-edge implementation in C.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Chotirigranna struktura danih ce komp yuterne predstavlennya topologichnogo dvovimirnoyi abo trivimirnogo vidobrazhennya tobto grafika nakreslenogo na zakritij poverhni Vpershe jogo opisali en ta en Ce variant poperednoyi strukturi danih krilatogo rebra OglyadChotirigranna struktura dannih Fundamentalna ideya strukturi z chotirma rebrami polyagaye v tomu sho odne rebro v zakritij poligonalnij topologiyi sitki roztashovane rivno mizh dvoma granyami i dvoma vershinami Struktura danih z chotirma rebrami yavlyaye soboyu rebro razom z inshimi rebrami z yakimi vono pov yazane navkolo sumizhnih vershin i granej dlya koduvannya topologiyi grafa Nizhche navedeno priklad realizaciyi chotirigrannogo tipu danih typedef struct quadedge ref e 4 quadedge typedef struct quadedge next unsigned int rot quadedge ref Kozhna chotirigranne rebro mistit chotiri posilannya na susidni chotirigranni rebra Kozhne z chotiroh posilan vkazuye na nastupne rebro proti godinnikovoyi strilki navkolo vershini abo grani Kozhne z cih posilan predstavlyaye vihidnu vershinu rebra pravu gran kincevu vershinu abo livu gran Kozhna chotirigranna oporna tochka vkazuye na chotirigrannu dugu a obertannya vid 0 do 3 ruki na yaku vona vkazuye Zavdyaki takomu predstavlennyu chotirigrannik predstavlyaye graf jogo dvoyistij graf i dzerkalne vidobrazhennya Dvoyistij graf mozhna otrimati prosto zminivshi umovu shodo togo sho ye vershinoyu a sho ye grannyu mozhe predstavlyati najbilsh zagalnu formu vidobrazhennya sho dopuskaye vershini i grani stupenya 1 i 2 PodrobiciChotirigranna struktura otrimala svoyu nazvu vid zagalnogo mehanizmu za dopomogoyu yakogo voni zberigayutsya Odna struktura Edge konceptualno zberigaye posilannya do dvoh granej dvoh vershin i 4 reber Chotiri zberezheni rebra ce rebra yaki pochinayutsya z dvoh vershin yaki priyednani do dvoh zberezhenih granej ZastosuvannyaPodibno do krilatogo rebra chotirigranni strukturi vikoristovuyutsya v programah dlya zberigannya topologiyi 2D abo 3D poligonalnoyi sitki Samu sitku ne potribno prihovuvati shob sformuvati dijsnu chotirigrannu strukturu Vikoristovuyuchi chotirigrannu strukturu iteraciya po topologiyi dosit prosta Chasto interfejs do topologij chotiroh krayiv zdijsnyuyetsya cherez spryamovani rebra Ce dozvolyaye dvom vershinam mati yavni nazvi pochatok i kinec i ce daye granyam yavni imena livoruch i pravoruch vidnosno lyudini yaka stoyit na pochatku i divitsya v napryamku kincya Chotiri rebra takozh mayut nazvi na osnovi vershin i granej pochatok livij pochatok pravij kinec livij i kinec pravij Spryamovane rebro mozhna povernuti shob stvoriti rebro v protilezhnomu napryamku Iteraciya navkolo pevnoyi grani treba lishe odnogo spryamovane rebro do yakogo cya gran znahoditsya zliva za zgodoyu a potim prohodzhennya cherez usi pochatkovi livi rebra poki ne bude dosyagnuto vihidne rebro Div takozh Krilate predstavlennya en Podvijno zv yazanij spisok reberPrimitkiStolfi Jorge Guibas Leonidas J April 1985 Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams ACM Transactions on Graphics 4 2 74 169 doi 10 1145 282918 282923 Posilannyahttps www cs cmu edu afs andrew scs cs 15 463 2001 pub src a2 quadedge html A quad edge implementation in C http www ic unicamp br stolfi EXPORT software c 2000 05 04 libquad A quad edge implementation in C