1 / 75

Ploskve

Ploskve. Kakšna predstavitev ploskve je dobra. Natančna Kratka in jedrnata Intuitivna specifikacija Lokalna podpora Neodvisna od afinih transformacij Poljubna topologija Zagotovljena zveznost Naravna parametrizacija Učinkovito prikazovanje Učinkovita sekanja.

eshana
Download Presentation

Ploskve

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ploskve

  2. Kakšna predstavitev ploskve je dobra Natančna Kratka in jedrnata Intuitivna specifikacija Lokalna podpora Neodvisna od afinih transformacij Poljubna topologija Zagotovljena zveznost Naravna parametrizacija Učinkovito prikazovanje Učinkovita sekanja

  3. Najpogostejše predstavitve ploskev (surfaces) • Poligonske mreže (polygon mesh) • Parametrične ploskve • Kvadrične ploskve

  4. Poligonske mreže • Nabor povezanih ravninskih ploskev omejenih s poligoni • Uporabno za škatle, modeliranje zunanjih objektov • Računske napake so lahko poljubno majhne, vendar za ceno pomnilnika in računskega časa • Povečave pokažejo geometrično zobčanje • Primerni za predstavitev objektov z ravnimi površinami • Redko uporabno za objekte s krivimi površinami • Prostorsko potratno • Enostavni algoritmi • Hardwersko podprto

  5. Prednosti in slabosti • Prednosti • Hitrost • Poljubna topologija • Preprosto šivanje • Slabosti • C0zveznost • Pri kompleksnih površinah veliko število • Težavno globalno urejanje

  6. Predstavitve ukrivljenih ploskev Eksplicitne (funkcije) Implicitne Parametrične Poddelitev (subdivision) Definirane z limito rekurzivnega procesa)

  7. Eksplicitne funkcije Meje definirane z eksplicitno funkcijo: z = f (x, y)

  8. Implicitne ploskve Meje opišemo z implicitno funkcijo Linearni primer: ravnina:

  9. Implicitne ploskve Primer: kvadrične Pogoste kvadrične ploskve

  10. Parametrične ploskve Meje definirane s parametrično funkcijo Primer: krogla

  11. Koordinatni sistem UV koordinatni sistem  UV je v razliko od kooordinatnega sistema XYZ  uporabljiv za točke  na ploskvi. Parametra u in v  ustrezata širini in dolžini. V primeru površine krogle je ta analogija jasna. Koncept prostora UV moramo razumeti, če želimo na površino ploskve  narisati krivuljo ali če želimo nanjo nalepiti teksturo. Usmerjenost u in v na ploskvi določa smer normale na površino. Pri tem pogosto uporabljamo "pravilo desne-roke:" desni palec kaže v smeri naraščajočega parametra  u, desni kazalec kaže v smeri naraščajočega parametra v, sredinec pa kaže smer normale, pravokotne na površino, kot to prikazuje slika

  12. Izoparametrične krivulje Parametrične ploskve pogosto ponazorujemo s takoimenovanimi   izoparametričnimi krivuljami. Pri teh krivuljah je eden od obeh parametrov konstanten, drugi pa se speminja.

  13. Parametrične krpe V primeru neplanarnih ploskev pogosto uporabljamo  takoimenovane "krpe" (patches). Število teh je enako produktu intervalov v smereh u in v. Vsako krpo določamo z mešanjem kontrolnih točk.

  14. Bilinearne krpe • Linearne vzdolž uinv • P0(u) in P1(u) so odseki premic P1(u) P10 P11 P0(u) = (1-u) P00 + u P01 P1(u) = (1-u) P10 + u P11 P00 P01 P0(u)

  15. Bilinearne krpe Da dobimo parametrično ploskev v obliki: P(u,v) = (1-v) P0(u) + v P1(u) Podano: P0(u) = (1-u) P00 + u P01 P1(u) = (1-u) P10 + u P11 Dobimo: P(u,v) = (1-v) [(1-u) P00 + u P01] + v [(1-u) P10 + u P11] oziroma: P(u,v) = (1-v)(1-u) P00 + (1-v)u P01 + v (1-u) P10 + uv P11

  16. Coonsova krpa (Bilinear Blended Surfaces) • Sestavimo • Ploskev, vlečena v smeri u • plus • ploskev, vlečena v smeri v • minus • bilinearna ploskev Coonsove krpe tvorijo pravokotno mrežo, ki jo interpoliramo med štirimi mejnimi krivuljami. Ta metoda nudi  omejeno možnost zveznega prehoda med  sosednjimi krpami

  17. Konstrukcija Coonsove krpe

  18. Coonsova krpa (Bilinearne mešane ploskve) Ruled surface in u P(u,v) = (1-v) P0(u) + v P1(u) Ploskev, povlečena v u Ploskev, povlečena v v Ruled surface in v P(u,v) = (1-u) P0(v) + u P1(v) Bilinearna ploskev Bilinear surface P(u,v) = (1-v)(1-u) P00 + (1-v)u P01 + v (1-u) P10 + uv P11

  19. Coonsova krpa (Bilinearne mešane ploskve) P(u,v) = [(1-v) Pu0(u) + v Pu1(u)] +[ (1-u) Pov(v) + u P1v(v)] – [(1-u) (1-v) P00+ u(1-v) P01u + P10v (1-u) + P11uv ] Where P00 = Pu0(0)=P0v(0) P01= Pu0(1)=P1v(0) P10 = Pu1(0)=P0v(1) P11= Pu1(1)=P1v(1)

  20. Prednosti in slabosti • Prednosti: • Hitro računanje. • enostavnost. • Zveznost omejujejo le vhodne krivulje • Slabosti: • Ploskve ne minimizirajo energije. • Pri ekstrapolaciji v približno singularnih verteksih lahko pride do pregiba.

  21. Parametrične krpe Točka Q(u,v) je tenzorski produkt parametričnih krivulj, definiranih s kontrolnimi točkami.

  22. Tenzorski produkt • Bezierova krpa • Tenzorski produkt dveh Bezierovih krivulj • Produkt Bernsteinovih polinomov • Bernsteinova interpolacija Bernsteinovih polinomov • Enak pristop z B zlepki

  23. Bikubične parametrične krpe

  24. Bézierove krpe

  25. Bézierove krpe Primer mreže kontrolnih točk:

  26. Bézierove krpe • Te krpe temeljijo na Bezierovih krivuljah • Enačba za kubično krpo: • C(u, v) = i0..3 j0..3Pij Bi (u) Bj (v) • That is mrežaBezierovih krivulj • Predvsem, 4 vodoravne krivulje (smer u) in 4 vertikalne krivulje (smer v) • Teh 8 krivulj si deli kontrolne točke tako, da imamo v mreži skupno 16 kontrolnih točk

  27. Bézierove krpe • Ploskev, ki jo dobimo s temi kontrolnimi točkami:

  28. Bézierove krpe • Ploskev temelji na Bezierovih krivuljah • Zato se ploskev ujema s kontrolnimi točkami le v štirih vogalih • Spreminjanje kontrolnih točk spreminja obliko ploskve: • Glej aplet: • http://www.nbb.cornell.edu/neurobio/land/OldStudentProjects/cs490-96to97/anson/BezierPatchApplet/ • Pri ploskvah podobna situacija kot pri krivuljah • Kontrolne točke imajo globalni nadzor • Povečanje štrvila kontrolnih točk bi povečalo stopnjo ploskve Demo

  29. Bézierove krpe • Zato delamo velike ukrivljene ploskve podobno kot krivulje: lepimo jih skupaj • Glej aplet na: • http://www1.ics.uci.edu/~frost/unex/JavaGraphics/course/Bezpatch.html • Spomnimo se omejitve zveznosti: • C0 zveznost: robovi se morajo ujemati • C1 zveznost: kolinearne kontrolne točke • Kar težko, če imamo 4 sosednje krpe Demo

  30. Krpe z b-zlepki(B-Spline Patches) • Krpe z B-zlepki so podobne Bezierovim krpam, le da temeljijo na krivuljah z B zlepki • Zato: • Imamo lahkopoljubno število kontrolnih točktako v smeri u kot v smeri v (4x4, 8x12, itd.), pa še vseeno ohranimo po delih C2 cubične krpe • Pri enakomernih krpah (Uniform patches) krpe ne bodo šle skozi kontrolne točke

  31. Krpe z b-zlepki Creating a spline surface involves taking the product of the same spline blending functions used for spline curves as follows • where the control points form a 2D array Pij. Most of the properties of the spline curve also apply to spline surfaces. For example • The surface passes through the end (corner) points • The surface lies within the convex hull of the control points • The smoothness of the surface can be controlled and this can be done independently in both directions. • The resolution of the surface can be controlled and this can be different in each direction.

  32. Krpe z B-zlepki

  33. Primer krpe z b-zlepki Ploskev, podana z matriko 4x5 kontrolnih točk, imamo stopnjo 3 v obeh smereh

  34. NURBS

  35. Enačba za ploskev NURBS Pri modeliranju s ploskvami NURBS moramo poznati pomen verteksov, stopnje, vozlov (knots) in uteži (weights). P(i,j) matrika verteksov:  število vrstic=(k1+1). število stolpcev=(k2+1) W(i,j) matrika uteži verteksov: po ena za vsak verteks bi(s) vrstične mešalne (blending) polinomske funkcije stopnje  M1 bj(t) stolpčne mešalne (blending) polinomske funkcije stopnje  M2 s polje parametrov vrstičnih vozlov t polje parametrov stolpčnih vozlov

  36. Modeliranje ploskev • Če premaknemo verteks, se v njegovi bližini premakne v smeri pomika tudi cela ploskev, kot bi bila na vzmeti. • Problem modeliranja s premiki verteksov:  • Ploskev težko naravnamo v točen položaj. • Mreža verteksov zakriva obliko ploskve Modeliranje s točkami na ploskvi: Vsakemu verteksu, ki "lebdi v zraku",  ustreza ena točka (edit point) na ploskvi. Nekateri modelirniki omogočajo premikanje teh točk. 

  37. Parametrične ploskve • Prednosti • Enostavno oštevilčenje točk na ploskvi • Opisujemo lahko kompleksne oblike • Slabosti • Kontrolne mreže morajo biti štiristranske • Omejitve zveznosti težko vzdržujemo • Težko najdemo presečišča

  38. Problemi z zlepki in krpami • Težavno šivanje “skupaj” • Vzdrževanje zveznosti je težavno • Obrezovanje robov je težavno • Težavno modeliranje objektov s kompleksno topologijo • V redu za diske, cilindre, toruse,..

  39. Subdivision in a production environment. • Traditionally spline patches (NURBS) have been used in production for character animation. • Difficult to control spline patch density in character modelling. Subdivision in Character Animation Tony Derose, Michael Kass, Tien Troung (SIGGRAPH ’98) (Geri’s Game, Pixar 1998)

  40. Deljenje ploskev (subdivision surfaces) • Princip • Povečevanje števila kontrolnih točk • Boljši vpliv na obliko krivulje • Zaporedno izboljševanje • Dobimo mehke ploskve • Številne matematične študije

  41. Zakaj delitev ploskev? • Ena ploskev za vse operacije modeliranja • Multi resolucijsko urejanje • Razširitve za podporo ostrih robov • Poljubna topologija • Ni špranj oziroma razpok

  42. Sharp Edges… • Tag Edges as “sharp” or “not-sharp” • n = 0 – “not sharp” • n > 0 – sharp • During Subdivision, • if an edge is “sharp”, use sharp subdivision rules. Newly created edges, are assigned a sharpness of n-1. • If an edge is “not-sharp”, use normal smooth subdivision rules. IDEA: Edges with a sharpness of “n” do not get subdivided smoothly for “n” iterations of the algorithm.

  43. Subdivision Terminology • Vertices: • Regular/Extraordinary • Odd/Even • Face/Edge • Edges: • Boundaries and Creases • Control Mesh

  44. Delitev (subdivision)

  45. Delitev krivulj (Curve Subdivision) p1 • Edge points • p21i = 1/2 pi + 1/2 pi+1 • edge points at midpoint between vertices • Vertex points • p2i1+1 = 1/8 pi + 3/4 pi+1 + 1/8 pi+2 • midpoint between midpoints between old vertices and new edge points • = 1/2 (1/2 p21i + 1/2 pi+1) + 1/2 (1/2 pi+1 + 1/2 p2i1+1) p21 p11 p2 p31 p01 p41 p0 p3

  46. Delitev ploskev (subdivision surfaces)

  47. Ključna vprašanja

  48. Pregled shem deljenja • Rezanje vogalov • Dodajanje verteksov • Interpolacija • Aproksimacija

  49. Rezanje vogalov • Old Vertices are Discarded • Common Schemes: • Doo-Sabin • Mid-Edge 2 steps 4 steps

  50. Interpolacija • Even Vertices Remain Stationary • ‘Inflates’ Out to Limit Surface (bad) • Common Schemes: • Modified Butterfly (triangle based) • Kabbelt (quad based)

More Related