Алгоритм Ньюелла — це процедура комп'ютерної 3D-графіки для ліквідації циклу з многокутників при сортування по глибині, який використовується для [en]. Був запропонований в 1972 році Мартіном Ньюеллом, [en] і Т. Санча.
Основна ідея полягає у визначенні многокутників для сортування в залежності від відстані до глядача з тим, щоб потім, починаючи з найдальшого многокутника, намалювати їх усіх один за одним. При продовженні деталі будуть замінюватись на деталі більш близьких об'єктів, якщо вони повністю або частково перекривають попередньо оброблені. Якщо завдання буде виконано правильно, то ця процедура забезпечує правильний перегляд прихованої поверхні.
Сортування багатокутників
Починаємо з формування списку багатокутників, які впорядковуються по значенню zmin для кожного багатокутника. Першим у списку буде багатокутним з найменшим значенням zmin. Цей багатокутник найвіддаленіший по Z-напряму. Позначимо його через P, а наступний за ним через Q. Сортування багатокутників P і Q відбувається в кілька етапів, в яких з'ясовується їх взаємне розташування.
- Якщо крайні значення Z-координат усіх вершин P лежать далі, ніж Q, сортування тривіальне. P сортується пізніше.
- Якщо многокутники, що порівнюються, не перекриваються крайніми значеннями в площині X, У, їх не потрібно сортувати, оскільки вони не перетинаються.
- Якщо всі вершини P більш віддалені від глядача, ніж рівень в Q, то P упорядкований.
- Якщо всі вершини Q до глядача ближче, ніж на рівні P, то P упорядкований.
- Якщо X, Y значення P і Q перетинаються, то їх не потрібно сортувати.
- Якщо досі немає сортування і не вдалося циклічно перекрити многокутники, то у цьому випадку, вони повинні бути виділені і сортування буде продовжене з нециклічних частин. Поділ відбувається на одному з многокутників на розрізаній кромці з іншого многокутника.
Многокутники повинні бути плоскі, тобто, всі вершини повинні лежати на одній площині. Перевірте, чи є які-небудь вершини на площині, підставляючи координати всіх точок у рівняння площини.
Порядок кроків обирається таким чином, щоб прості тести були першими, а більш складні тести виконувались в кінці з метою мінімізації часу на обчислення.
Алгоритм Ньюелла використовує набагато менше ресурсів пам'яті, ніж, скажімо, алгоритм Z-буфера, який частіше використовується для прихованої поверхні обчислень, але явно поступається у швидкості.
Джерела
- Д. Роджерс. Алгоритмические основы машинной графики. — Москва : Мир, 1989. — С. 331. — .(рос.)
- Sutherland, Ivan E.; Sproull, Robert F.; Schumacker, Robert A. (1974), A characterization of ten hidden-surface algorithms, Computing Surveys, 6 (1): 1—55, doi:10.1145/356625.356626(англ.)
- Newell, M. E.; Newell, R. G.; Sancha, T. L. (1972), A new approach to the shaded picture problem, Proc. ACM National Conference, с. 443—450(англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Algoritm Nyuella ce procedura komp yuternoyi 3D grafiki dlya likvidaciyi ciklu z mnogokutnikiv pri sortuvannya po glibini yakij vikoristovuyetsya dlya en Buv zaproponovanij v 1972 roci Martinom Nyuellom en i T Sancha Dva bagatokutniki yaki ne mozhut buti vporyadkovani po glibini Tomu slid odin z nih rozbiti na dva bagatokutniki Osnovna ideya polyagaye u viznachenni mnogokutnikiv dlya sortuvannya v zalezhnosti vid vidstani do glyadacha z tim shob potim pochinayuchi z najdalshogo mnogokutnika namalyuvati yih usih odin za odnim Pri prodovzhenni detali budut zaminyuvatis na detali bilsh blizkih ob yektiv yaksho voni povnistyu abo chastkovo perekrivayut poperedno obrobleni Yaksho zavdannya bude vikonano pravilno to cya procedura zabezpechuye pravilnij pereglyad prihovanoyi poverhni Sortuvannya bagatokutnikivCiklichni bagatokutniki povinni buti usuneni shob pravilno sortuvati yih po glibini Pochinayemo z formuvannya spisku bagatokutnikiv yaki vporyadkovuyutsya po znachennyu zmin dlya kozhnogo bagatokutnika Pershim u spisku bude bagatokutnim z najmenshim znachennyam zmin Cej bagatokutnik najviddalenishij po Z napryamu Poznachimo jogo cherez P a nastupnij za nim cherez Q Sortuvannya bagatokutnikiv P i Q vidbuvayetsya v kilka etapiv v yakih z yasovuyetsya yih vzayemne roztashuvannya Yaksho krajni znachennya Z koordinat usih vershin P lezhat dali nizh Q sortuvannya trivialne P sortuyetsya piznishe Yaksho mnogokutniki sho porivnyuyutsya ne perekrivayutsya krajnimi znachennyami v ploshini X U yih ne potribno sortuvati oskilki voni ne peretinayutsya Yaksho vsi vershini P bilsh viddaleni vid glyadacha nizh riven v Q to P uporyadkovanij Yaksho vsi vershini Q do glyadacha blizhche nizh na rivni P to P uporyadkovanij Yaksho X Y znachennya P i Q peretinayutsya to yih ne potribno sortuvati Yaksho dosi nemaye sortuvannya i ne vdalosya ciklichno perekriti mnogokutniki to u comu vipadku voni povinni buti vidileni i sortuvannya bude prodovzhene z neciklichnih chastin Podil vidbuvayetsya na odnomu z mnogokutnikiv na rozrizanij kromci z inshogo mnogokutnika Mnogokutniki povinni buti ploski tobto vsi vershini povinni lezhati na odnij ploshini Perevirte chi ye yaki nebud vershini na ploshini pidstavlyayuchi koordinati vsih tochok u rivnyannya ploshini Poryadok krokiv obirayetsya takim chinom shob prosti testi buli pershimi a bilsh skladni testi vikonuvalis v kinci z metoyu minimizaciyi chasu na obchislennya Algoritm Nyuella vikoristovuye nabagato menshe resursiv pam yati nizh skazhimo algoritm Z bufera yakij chastishe vikoristovuyetsya dlya prihovanoyi poverhni obchislen ale yavno postupayetsya u shvidkosti DzherelaD Rodzhers Algoritmicheskie osnovy mashinnoj grafiki Moskva Mir 1989 S 331 ISBN 5 03 000476 9 ros Sutherland Ivan E Sproull Robert F Schumacker Robert A 1974 A characterization of ten hidden surface algorithms Computing Surveys 6 1 1 55 doi 10 1145 356625 356626 angl Newell M E Newell R G Sancha T L 1972 A new approach to the shaded picture problem Proc ACM National Conference s 443 450 angl