Názory k článku Křivky NURBS (2)

  • 10. 3. 2006 3:43

    nerozumim (neregistrovaný)
    Kdyz vychazim z predpokladu, ze clanek/serial mel neco prinest lidem kteri o tematu moc nevedi, tak myslim ze zacal trochu moc zhurta. Jestli je cilem autorky priblizit pocitacovou grafiku masam, mela zacit pozvolna a tak nejak "vtahnout ctenare do tematu". Ja, teorii pocitacove grafiky temer nepostizen, porad nevim proc by me mela zrovna tahle krivka zajimat. Zvlast kdyz nevim jak se modeluji nejake jine, zakladni tvary a objekty, jak to vykreslit a vubec.

    Pokud ale chtela autorka jen probrat nejaky zvlastni matematicky aspekt cehosi tak mam pocit ze se trochu sekla se serverem kde praci publikuje. Vubec nechci rict, ze zde musi byt vsechny clanky jen pro zacatecniky, ale tohle je asi pro vetsinu ctenaru prilis odborne, uzce zamerene a nemajici zadny prakticky prinos.

    Je to jako kdyby kurz chirurgie zacinal cvicenim "nejdriv panovi udelame bypass" a ne ukazkou jak drzet skalpel.
  • 10. 3. 2006 6:49

    pht (neregistrovaný)
    ja, ac NURBS trochu rozumim, souhlasim, ze se v tom prase nevyzna. skoda, nebot jinak je to velmi hezke tema.
  • 10. 3. 2006 8:17

    ava (neregistrovaný)

    Chtěli byste mít doma nějaké "krásné křivky"? S následujícím návodem je získáte snadno. Na obrazovce vašeho počítače, samozřejmě...

    To bohuzel asi ne. Libi se mi pristup Pavla Tisnovskeho ktery pise priklady v clancich tak, ze se vysledky skutecne na obrazovce objevi. Zdrojaky uvedene zde mi bohuzel nic nevykresli :-(

    Pro snazší pochopení je všude brán uzlový vektor, jehož prvních degree+1 složek jsou nuly a posledních degree+1 složek jsou jedničky. Proto se parametr t pohybuje v intervalu 0 .. 1, křivka začíná v prvním řídícím bodě a končí v posledním řídícím bodě, což je pro technickou praxi důležité

    Bohuzel i pres to ze je to pro snazsi pochopeni, jsem nepochopil proc pri volbe tohoto uzloveho vektoru se parametr t pohybuje v 0 .. 1, proc krivka zacina a konci ve zminovanych bodech a proc je to v technicke praxi dulezite. Ale verim ze kdybych se dukladne ponoril do vzorcu z minuleho dile a precetl si nejakou literaturu o nurbs krivkach v technicke praxi tak to pochopim, beru to jako svou chybu.

    Celý algoritmus je založen na opakování metody nazvané knot insertion = vkládání uzlu

    pekna veta, autorka rozhodne neni grafomanka :-)

    Celý algoritmus je založen na opakování metody nazvané knot insertion = vkládání uzlu. Počet těchto opakování je v programu určen proměnnou h. Pokud se parametr t v uzlovém vektoru nevyskytuje, je h rovno stupni křivky. Pokud se parametr t vyskytuje v uzlovém vektoru (t0, t1, ... tn+m+1), opakování knot insertion se o tuto hodnotu sníží. Celý tento postup se nazývá deBoorův, někdy též Cox-deBoorův algoritmus.

    Opet nerozumim :-( volim si h a podle jeho hodnoty mi vyjde pocet opakovani nebo naopak? kde se vezme v uzlovem vektoru parametr t a v jakem tvaru? Co znamena "opakovani knot insertion se o tuto hodnotu snizi"? o jakou hodnotu? jak se vubec muze snizit "opakovani"?

    Jelikož je b-spline funkce stupně nula rovna jedné, jsou prvními výsledky kroku nula samotné řídící body.

    Tomu mi asi nezbyde nez verit.

    Pro parametr t se spočítají hodnoty alfa, což je výraz před bázovými polynomy v definici b-spline funkce. Termin bazovy polynom se v serii objevuje poprve.

    Následně se provede výpočet s hodnotou vypočtenou v předchozím kroku a s příslušnou hodnotou alfa. Celý výpočet se opakuje h-krát.

    Jaky vypocet?

    .......

    samotny zdrojak jiz rozebirat nebudu, ale jak rikam, kdyby se dal opravdu spustit a nebyly to jen komentovane fragmenty kodu, libilo by se mi to podstatne vic.

    Grafikou se nezabyvam, takze toho ze jsem NURBS z clanku nepochopil prilis nelituji. Myslim si ale ze pro lidi co se grafikou zabyvaji existuji schudnejsi cesty jak NURBS vstrebat nez je cteni teto serie.

  • 10. 3. 2006 8:31

    david (neregistrovaný)
    Zda se mi ze ve fragmentech kodu jsou chyby:

    4. pouziva se neexistujici operator in
    6. 7. v cyklech je spatne ukoncovaci podminka, mysleno je zrejme napr. j < h + 1 misto j > h + 1
  • 10. 3. 2006 12:53

    Jindřich Makovička
    in je zjevne klasicke "elementitko", ale taky nechapu, proc ho autorka neopsala pomoci nerovnosti, kdyz jinak vsechno kolem vypada jako C.
  • 10. 3. 2006 14:29

    Culibrk (neregistrovaný)
    Treba proto, ze generovala C z nejakeho pseudo-basicu, ve kterem byvaji casto algoritmy uvadeny ve tretich zdrojich (knizkach). Mozna jsem se netrefil, kazdopadne je videt, ze tento kod nikdy jako C nebezel. Tim nechci snizovat kvalitu algoritmu, spise jeho interpretace v C.
  • 10. 3. 2006 14:54

    Jana Procházková (neregistrovaný)
    Funkcni program najdete na adrese prochazkovajana.ic.cz/files/nurbs2.c Redakce ho asi zapomnela pripojit. Po zadani parametru t se vraci bod na ctvrtkruznici o stredu [0,0,0] a polomeru 1. Staci pridat metodu na vykresleni. Body i vsechny parametry si muzete libovolne menit, jen musi splnovat vstupni podminky.

    Pouziti v technicke praxi je napriklad takove:
    -chcete delat oblouk mostu, prvni a posledni bod musite zadat na krivce
    -pri navazovani nemuzou krajni body jen tak litat nekde uprostred krivky


    Pro parametr t se vypocita bod krivky C(t), to je snad pochopitelne. Parametr t je z intervalu <0,1>, uzlovy vektor je posloupnost cisel take v intervalu <0,1> Pokud se t=t_i pro nejake i=0,1,..,n+m+1, tak se toto cislo v intervalu vyskytuje. Kolikrat je v tom uzlovem vektoru stejne cislo jako t, takove cislo se odecte od stupne krivky a vysledek je promenna h. A tolikrat probehne knot insertion.
  • 10. 3. 2006 15:12

    Culibrk (neregistrovaný)
    Diky.
  • 10. 3. 2006 9:18

    z (neregistrovaný)
    Stupeň křivky se zadává mezi 2 a horní hranicí - vhodně zvolené číslo (je možné i od jedné, potom kreslí lomenou čáru)...

    No to asi nebude obecně platit, že :-) Přímka je taky křivka :-P
  • 10. 3. 2006 14:16

    anonymní
    samozřejemě se dá použít i rozmezí od jedné, ale většina softwaru, co znám, k vykreslení úsečky používá jinou jednoduchou metodu. Je zbytečné používat na ně NURBS, ale samozřejmě to jde.
  • 10. 3. 2006 12:22

    Daniel Mašek
    Nejenze jsou zde chyby v ukoncovacich podminkach cyklu, ale jeste k tomu jsem se po dvou pokracovanich nic nedozvedel :-)
  • 10. 3. 2006 14:32

    Pavel Píša (neregistrovaný)
    Nejsem matematik ani počítačový grafik. V současné době mě však zajímají spojité křivky z pohledu řízení robotů a obráběcích strojů. Protože si myslím, že seriál nezačal příliš šťastně, pokusím rekapitulovat, co jsem pochopil. NURBS není vlastně nic jiného, než vážený průměr bodů řízený přes funkce b_x(t) jedním (v ploše dvěma) parametry. Funkce b_x(t) odpovídají postupně podle řádu delta funkci, rampám ve tvaru trojúhelníku, śekům parabol prvního a vyšších řádů. Je to stejné jako ve statistice a stejně jako u zákona o velkých číslech tedy musí platit, že b_+inf(t) bude Gaussova funkce. To zároveň osvětluje, proč se člověku zdají tyto křivky přirozené a jimi popsané oběkty připomínají člověku známé tvary z přírody. Na rozdíl od klasických rozdělení však NURBS křivky pracují nad neuniformě rozdělenými přírůstky parametru (osy x pro rozdělení) a tím umožňují specifikovat i složitější tvary s různě ostrými hranami. K pochopení mi pomohly především informace z práce Lubomíra Alexandra a článků Pavela Tišnovského. Zároveň i na pravděpodobné autorčině domovské stránce se nachází množství užitečných informací http://prochazkovajana.ic.cz/ Je škoda, že odkazy na tyto informace k článku nepřidala. Též se mi nelíbí, že nebyl přiložen celý kód popisované funkce, protože při jeho napsání a otestování by autorka mohla eliminovat chyby a zvláštnosti, které silně stěžují pochopení. Nyní můj dotaz. Existuje nějaký výpočetně schůdný způsob, jak po úsecích převést NURBS křivku na polinomiální úseky konečného řádu? Předvedený výpočet je iterativní a jeho náročnost třeba pro řízení robota v reálném čase se mi zdá vysoká. Můj první odhad z definice funkce C(t) mi vychází, že je určitě možné funkci pro jednu souřadnici mezi každými dvěma uzly převést na podíl dvou polynomů řádu n, kde n bude lineárně růst se stupněm (spojitosti/hladkosti) NURBS křivky. Bylo by možné se nějak zbavit požadavku na ten podíl? Není nějak zaručeno, že by se sumy ve jmenovateli daly vypočítat dopředu pro celé úseky? Jsou-li váhy shodné, tak je to myslím zaručené. Nejsou-li shodné, tak se mi to zdá problematické. Zabýval se již někdo tímto problémem?
  • 10. 3. 2006 15:09

    Jana Procházková (neregistrovaný)
    do robotiky nevidim, ale zaujalo me k robotice http://www.cs.kent.ac.uk/pubs/1999/825/content.ps
    Jak jsem psala v jine reakci, zdrojak je na adrese prochazkovajana.ic.cz/files/nurbs2.c
  • 10. 3. 2006 17:42

    Pavel Píša (neregistrovaný)
    Děkuji za informace.
    Článek vypadá velmi zajímavě.
  • 10. 3. 2006 14:47

    Pavel Píša (neregistrovaný)

    Nepovedlo se mi formátování, proto posílám příspěvek znovu.

    Nejsem matematik ani počítačový grafik. V současné době mě však zajímají spojité křivky z pohledu řízení robotů a obráběcích strojů.

    Protože si myslím, že seriál nezačal příliš šťastně, pokusím rekapitulovat, co jsem pochopil.

    NURBS není vlastně nic jiného, než vážený průměr bodů řízený přes funkce b_x(t) jedním (v ploše dvěma) parametry. Funkce b_x(t) odpovídají postupně podle řádu delta funkci, rampám ve tvaru trojúhelníku, úekům parabol prvního a vyšších řádů. Je to stejné jako ve statistice a stejně jako u zákona o velkých číslech tedy musí platit, že b_+inf(t) bude Gaussova funkce. To zároveň osvětluje, proč se člověku zdají tyto křivky přirozené a jimi popsané oběkty připomínají člověku známé tvary z přírody.

    Na rozdíl od klasických rozdělení však NURBS křivky pracují nad neuniformě rozdělenými přírůstky parametru (osy x pro rozdělení) a tím umožňují specifikovat i složitější tvary s různě ostrými hranami.

    K pochopení mi pomohly především informace z práce Lubomíra Alexandra a článků Pavela Tišnovského.

    Zároveň i na pravděpodobné autorčině domovské stránce se nachází množství užitečných informací http://prochazkovajana.ic.cz/ Je škoda, že odkazy na tyto informace k článku nepřidala. Též se mi nelíbí, že nebyl přiložen celý kód popisované funkce, protože při jeho napsání a otestování by autorka mohla eliminovat chyby a zvláštnosti, které silně stěžují pochopení.

    Nyní můj dotaz. Existuje nějaký výpočetně schůdný způsob, jak po úsecích převést NURBS křivku na polinomiální úseky konečného řádu? Předvedený výpočet vyžaduje několik iterací a jeho náročnost třeba pro řízení robota v reálném čase se mi zdá vysoká. Můj první odhad z definice funkce C(t) mi vychází, že je určitě možné funkci pro jednu souřadnici mezi každými dvěma uzly převést na podíl dvou polynomů řádu n, kde n bude lineárně růst se stupněm (spojitosti/hladkosti) NURBS křivky. Bylo by možné se nějak zbavit požadavku na ten podíl? Není nějak zaručeno, že by se sumy ve jmenovateli daly vypočítat dopředu pro celé úseky? Jsou-li váhy shodné, tak je to myslím zaručené. Nejsou-li shodné, tak se mi to zdá problematické. Zabýval se již někdo tímto problémem?

Měšec.cz: Nový sazebník mBank radost nedělá

Nový sazebník mBank radost nedělá

Podnikatel.cz: Karuselové podvody. Jak se nepřiplést?

Karuselové podvody. Jak se nepřiplést?

120na80.cz: I tuto vodu můžete pít

I tuto vodu můžete pít

DigiZone.cz: Kauza technik: oficiální vyjádření Novy

Kauza technik: oficiální vyjádření Novy

Podnikatel.cz: Rekord! Na vedlejšák podniká přes 400 000 lidí

Rekord! Na vedlejšák podniká přes 400 000 lidí

Podnikatel.cz: Přerušil SVČ, nic nehlásil. Dál musí platit

Přerušil SVČ, nic nehlásil. Dál musí platit

Lupa.cz: eIDAS: Nepřehnali jsme to s výjimkami?

eIDAS: Nepřehnali jsme to s výjimkami?

Měšec.cz: Cool karta: recenze předplacenky

Cool karta: recenze předplacenky

120na80.cz: Nyní středně velké riziko

Nyní středně velké riziko

Lupa.cz: Japonská invaze. Proč SoftBank kupuje ARM?

Japonská invaze. Proč SoftBank kupuje ARM?

Podnikatel.cz: Fotogalerie: Jesenka už má skoro 50 let

Fotogalerie: Jesenka už má skoro 50 let

DigiZone.cz: Discovery Channel v HD? Snad už brzy

Discovery Channel v HD? Snad už brzy

Podnikatel.cz: Místa, kde hází podnikání klacky pod nohy

Místa, kde hází podnikání klacky pod nohy

Měšec.cz: Udali ho na nelegální software a přišla Policie

Udali ho na nelegální software a přišla Policie

DigiZone.cz: Oživení ekonomiky by mělo navýšit reklamu

Oživení ekonomiky by mělo navýšit reklamu

Měšec.cz: Na návštěvě: telefonní centrum Europ Assistance

Na návštěvě: telefonní centrum Europ Assistance

120na80.cz: Řepík má protizánětlivé účinky a detoxikuje

Řepík má protizánětlivé účinky a detoxikuje

Měšec.cz: Do ostravské MHD bez jízdenky. Stačí vaše karta

Do ostravské MHD bez jízdenky. Stačí vaše karta

Lupa.cz: IT scéna po brexitu: přijde exodus vývojářů?

IT scéna po brexitu: přijde exodus vývojářů?

Měšec.cz: Zelená karta – kde neplatí povinné ručení?

Zelená karta – kde neplatí povinné ručení?