PótZH 2006. 12. 07., D csoport, első turnus

A VIK Wikiből
A nyomtatható változat már nem támogatott, és hibásan jelenhet meg. Kérjük, frissítsd a böngésződ könyvjelzőit, és használd a böngésző alapértelmezett nyomtatás funkcióját.

Ez az oldal a korábbi SCH wikiről lett áthozva.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.


Egy harmadrendű (másodfokú) térbeli NURBS görbe vezérlőpontjai rendre:

A vezérlőpontokhoz rendelt w súlyok rendre
A t csomópontvektor:

Adja meg a görbe pontját a t=3,5 paraméterértéknél!

-- Csapszi - 2006.12.07.

Megoldás:

A NURBS görbe egy olyan NUBS görbe, melynek a vezérlőpontjai súlyozva vannak a megfelelő w súlyokkal.

Számítsuk ki tehát a NUBS görbe bázisfüggvényeit a Cox-deBoor formulával!

Az elsőrendű (azaz nulladfokú - konstans) bázisfüggvényű NUBS bázisfüggvényeinek csak ott lesz 0-tól különböző értéke, ahol a paraméter és közé esik. Mivel , ezért:

A másodrendű bázisfüggvények közül csak annak lesz 0-tól különböző értéke, amelynek a Cox-deBoor formula második képletében az összeg legalább egyik oldala 0-tól különböző. Ehhez az kell, hogy vagy vagy

Vagyis csak azok lehetnek 0-nál nagyobbak, amelyek felhasználják a -et az összeg valamely oldalán, és a t paraméterrel való szorzás is nullától különböző. -ot nyilván a és a használja, egyik esetben az összeg jobb oldalán, másik esetben a bal oldalán. Így elég ezeket kiszámítani, a többi biztosan 0 értékű lesz, és ezzel időt spórolunk.


A harmadrendű bázisfüggvények ugyanezen megfontolás miatt csak akkor lesznek 0-tól különbözőek, ha a vagy a valamelyike szerepel a Cox-deBoor formulában. A -öt a jobb oldalán használja a , a bal oldalán pedig a használja. Hasonlóképpen a -öt a jobb oldalán a , a bal oldalán pedig a használja. Így tehát ezeknek lehet csak 0-tól különböző értéke, és elég csak a megfelelő oldalát kiszámítanunk!


Most már csak annyi van hátra, hogy a fenti NURBS egyenletbe behelyettesítsünk:


-- NeoXon - 2006.12.08.

Csak egy kis módosítás... A -ben becsúszott egy kis számolási hiba. Helyesen:

És ekkor a NURBS egyenlete helyesen:

-- SamiRello - 2007.01.01.

KIEG:

Szerintem pedig nincs igazad az elszámolással, márcsak azért sem, mert a bázisfüggvények összege 1-et kell adjon, ha pedig egyik 1/8, másik 3/4, az utolsó nem lehet 1/16. Meg pontos számolással is NeoXon eredményét lehet megkapni.

-- Zsófi - 2007.01.02.

Tényleg én számoltam el :D

-- Samirello - 2007.01.06.

Lehet, hogy tévedek, de szntem a csomópont-vektor, amit megadtak, tartalmazza a magasabbrendű bázisfüggvényekhez szükséges kiegészítő csomópontokat is, szám szerint 2-t, tehát a nulladik kontrollpont elsőrendű paramétertartománya nem az 1-2, hanem a 3-4, ami a hasznos paramétertartomány is egyben. Három kontrollpontnál, harmadrendű NURBS görbékkel számolva a hasznos tartomány 1 intervallum. Tehát a t0, t1 csomópontok felelnek meg a t(-1), t(-2)-nek, csak átindexelték, mint ahogy a könyv is írja. Vagy tévednék? Szóljatok légyszi, ha nincs igazam!

-- Aayven - 2007.01.01.