Uzol Hrany vrcholov

Uzol Hrany vrcholov.

Vyberie susednú hranu vrcholu a vypíše jej index.

Tento uzol je trochu zvláštny, pretože pracuje v dvoch rôznych oblastiach. Po prvé, vyhodnocuje Váhu pre každú hranu v geometrii. Potom pre každý prvok v kontextovej doméne:

  • Vyberie vrchol z geometrie na základe Indexu vrcholu.

  • Nájde hrany pripojené k tomuto vrcholu.

  • Zoradí tieto hrany podľa ich príslušnej váhy.

  • Vyberiete hranu z vyššie uvedeného zoradeného zoznamu na základe Indexu triedenia, kde 0 znamená hranu s najnižšou váhou, 1 znamená hranu s druhou najnižšou váhou atď.

  • Vypíše index tejto hrany v celej geometrii.

Vstupy

Index vrcholu

Index vrcholu, pre ktorý sa majú nájsť hrany.

Poznámka

Ak tento vstup nie je pripojený, použije sa index kontextového prvku, čo znamená, že je dôležité, aby bol uzol vyhodnotený v doméne Bod.

Váhy

Váhy hrán v geometrii. Na rozdiel od ostatných vstupov, ktoré sa riadia kontextovou doménou, tento vstup sa vždy vyhodnocuje v doméne Hrana.

Hrany sú zoradené podľa príslušnej váhy vzostupne. Hrany s rovnakou váhou sú zoradené podľa ich indexu.

Index zoradenia

Index hrany s hodnotou 0, ktorá sa má vybrať z triedených hrán vrcholu. Ak je táto hodnota mimo rozsahu platných indexov, obteká sa.

Vlastnosti

Tento uzol nemá žiadne vlastnosti.

Výstupy

Index hrany

Geometrický index vybranej hrany. Môžete ho odovzdať uzlu Vyhodnotiť na indexe alebo uzlu Index snímky (s doménou nastavenou na Hrana) na získanie podrobností o hrane.

Ak vrchol nemá žiadne pripojené hrany, Index hrany bude nula.

Celkovo

Počet hrán pripojených k vybranému vrcholu.

Napríklad

Nasledujúci príklad vytvára kužeľ v každom vrchole „kocky“, zarovnaný k susednej hrane, ktorá je najviac vertikálna.

Najprv vypočíta „skóre vertikality“ pre každú hranu kocky. Na tento účel odčíta polohy jej vrcholov, pre získanie jej smerového vektora, ktorý normalizuje a použije na výpočet bodového súčinu s osou Z. Absolútna hodnota tohto súčinu nám dáva číslo medzi 0 a 1, kde 0 znamená úplne horizontálne a 1 znamená úplne vertikálne.

Keďže hrany budú zoradené podľa vzostupnej váhy, nastaví váhu = 1 - vertikalita. Takto bude mať najviac vertikálne pripojená hrana každého vrcholu najnižšiu váhu a bude v zozname na prvom mieste.

Ďalej musíme v bodovej oblasti vypočítať rotáciu každého kužeľa. Použitím uzla Zarovnať rotáciu na vektor sa problém zjednoduší a my musíme vypočítať len smerový vektor.

Smerový vektor každého kužeľa je stredový bod najschodnejšej susednej hrany mínus poloha vrcholu. Nájdenie tejto najviac vertikálnej susednej hrany je miestom, kde prichádza na rad uzol Hrany vrcholu: pre každý vrchol zoradí pripojené hrany podľa ich váhy a vyberie prvú z nich (pretože index zoradenia je 0). Keď máme index hrany, použijeme Uzol Vyhodnotiť na indexe na získanie jej stredového bodu.

Po vypočítaní rotácií kužeľov použijeme na ich vytvorenie Uzol Inštancia na body.

../../../../_images/modeling_geometry-nodes_mesh_topology_edges-of-vertex_example-setup.png

Example node setup. (Rightclick and choose „Open image in new tab“ to see a larger version.)

../../../../_images/modeling_geometry-nodes_mesh_topology_edges-of-vertex_example-result.png

Výsledná geometria.