.[ ČeskéHry.cz ].
problem s b spline krivkami

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
elf



Založen: 28. 07. 2007
Příspěvky: 76
Bydliště: Slovensko

PříspěvekZaslal: 20. březen 2008, 20:35:45    Předmět: problem s b spline krivkami Odpovědět s citátem

Caute, snazim sa vykreslit b-spline krivky cez de Boorsov algoritmus a mam problem s interpretaciou zadania. vychadzam zo vzorcov na wiki. Problem je s tym,ako pre kazdy bod vypocitam to X (uzlovy vektor pre dany bod) zo vzorca s(x)= suma(i=0,p-1) Di .....
Neviete poradit, ako na to alebo nasmerovat na nejake materialy? Hladal som na google a zatial som sa k nicomu rozumnemu nedostal ohladom toho vypocitania toho X. vdaka.
_________________
Niesom Elf ale elf Twisted Evil
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mem



Založen: 28. 07. 2007
Příspěvky: 1959
Bydliště: Olomouc

PříspěvekZaslal: 20. březen 2008, 21:44:04    Předmět: Odpovědět s citátem

Vubec uz netusim, jakou metodou to je tam pocitane, ale mam tady nejaky zapocet do geometrie, ktery kresli pomoci b-spline kruznici o 7/9 vrcholech:

http://mem.nepsin.com/projects/bsc.zip
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
igor



Založen: 28. 07. 2007
Příspěvky: 196

PříspěvekZaslal: 20. březen 2008, 23:06:38    Předmět: Odpovědět s citátem

Pokud nejsem uplne mimo:

Uzlovy vektor je jen 1 pro celou krivku, ne pro kazdy bod - obsahuje hodnoty parametru pro kazdy uzel - v pripade uniformni b-spline je vzdalenost mezi temito hodnotami parametru konstantni, u NURBS musi byt neklesajici. V tomto algoritmu by mel slouzit k urceni, ktere body budou ovlivnovat krivku v danem intervalu hodnot parametru.
U uniformnich b-spline se to proste naseka na stejne useky, u NURBS je to soucast zadani krivky (ruzne vektory zpusobi ruzne tvary). X bude asi proste prochazet s nejakym krokem cely mozny interval hodnot parametru, ovsem zrejme ne od prvniho uzlu, ale od nejakeho dalsiho v zavislosti na stupni krivky. Na wikipedii je o tom vzdy neco malo v clancich o b-spline, NURBS atd.

Tady je asi neco o generaci vektoru (asi hlavne teda NURBS - ale spis to bude jen "odhad" podle ocekavaneho vysledku, ten vektor je soucasti zadani NURBS) http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/INT-APP/PARA-knot-generation.html

Jinak ja s tim moc zkusenosti nemam, pisu jen to co si vicemene pamatuju a lehce jsem si to overil, mozna me nekdo setre, ani nevim proc sem pisu Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
elf



Založen: 28. 07. 2007
Příspěvky: 76
Bydliště: Slovensko

PříspěvekZaslal: 20. březen 2008, 23:49:35    Předmět: Odpovědět s citátem

mem -> pozeral som ten zdrojak a neviem, akym algoritmom to bolo kodene, ale bohuzial mi to moc nepomohlo, ale vdaka za snahu.
igor -> jj, s tym uzlovym vektorom som to zle napisal. uzlovy vektor je len jeden a potom je pre kazdy riadiaci bod uzol.
mne ide o toto:
uzlovy vektor mam vytvoreny, len neviem, akym X ho v tom vztahu mam zavolat a ako to X mam postupne menit. chcem tu krivku tak, ze zadam pocet bodov, ktore bude pre tu krivku generovat (bude ovplivnovat vyslednu hladkost krivky). uzly mam uniformovane, cize rozdiel dvoch susednych uzlov je konstantny.
napriklad mam zadanych 10 riadiacich bodov a chcem vykreslit krivku s tym, ze vygenerujem 100 bodov, tak ako mam postupne pre kazdy bod menit to X. vsade nachadzam tu istu grupu vzorcov, ale zatial som nenatrafil ani na jeden ,ktory by sa tomu venoval hlbsie, ako to X postupne upravovat. Rolling Eyes
_________________
Niesom Elf ale elf Twisted Evil
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
igor



Založen: 28. 07. 2007
Příspěvky: 196

PříspěvekZaslal: 21. březen 2008, 00:30:31    Předmět: Odpovědět s citátem

Tak cely interval moznych hodnot parametru se rozdeli na tech 100 casti, ne (mozna jsem to zase spatne pochopil, popr. nestudoval uplne poradne ten algoritmus, k cemu se priznavam)? V uniformnich b-spline by pak byl v kazdem useku mezi uzly konstantni pocet bodu (v NURBS pak jde tim odstupem mezi uzly menit clenitost jendotlivych useku) no a pro kazdou z techto hodnot parametru se zjisti, do ktereho useku mezi uzly spada - to je ten [Ul, Ul+1) - l a l+1 pak bude aktualni index bodu, ktere jsou "v akci", z l se pak vypocitaji ruzna i atd pro kazdy usek.
+Zda se mi, ze zacatek, odkud ma ten parametr x "jet", je az od nejakeho dalsiho v zavislosti na stupni krivky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
elf



Založen: 28. 07. 2007
Příspěvky: 76
Bydliště: Slovensko

PříspěvekZaslal: 21. březen 2008, 00:43:01    Předmět: Odpovědět s citátem

prave som to skodil. som chcel napisat, ale igor ma predbehol Smile
jj, je to presne tak. nechapem, ako mi to uniklo,iked popravde som sa pred 20 minutami "zobudil z toho",ze nekodim non-uniform ale uniform b-spline, takze .... Laughing
no aj taka vdaka za pomoc
_________________
Niesom Elf ale elf Twisted Evil
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna