martynas sabaliauskas. bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių...

22
Martynas Sabaliauskas Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei Panevėžys, 2015-09-19 VU MII

Upload: lietuvos-kompiuterininku-sajunga

Post on 15-Apr-2017

183 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Martynas Sabaliauskas

Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Panevėžys, 2015-09-19

VU MII

Page 2: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Bezjė kreivės

Pavyzdys, kai n=2: Pavyzdys, kai n=3:

Page 3: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Bezjė paviršiai

Pavyzdys, kai n=m=3.

Raudona spalva pažymėti kontroliniai taškai.

Mėlyna spalva pažymėtas kontrolinis tinklas.

Juoda spalva pažymėta Bezier paviršiaus aproksimacija.

Page 4: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Trečios eilės Bezjė paviršius

Page 5: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Catmull-Clark algoritmas (1978 m.)

Pavyzdžiai:

Page 6: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

C2 paviršiusGlodus paviršius, sudarytas iš atskirų mažesnių paviršių, kurių sandūroje sutampa antros eilės išvestinės kiekvieno tokio paviršiaus atžvilgiu.

C2 paviršiaus konstravimo metodai:

Catmull-Clark algoritmas Aproksimavimo Bezier paviršiais metodas

Page 7: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

C2 paviršiaus konstravimas iš Bezjė paviršių (1)

Trečios eilės Bezjė kreivių tenzorinės sandaugos koeficientai (kaukės):

Pagal šias kaukes apskaičiuojami Bezjė paviršiaus kontroliniai taškai.

Page 8: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Kontrolinių Bezjė paviršiaus taškų apskaičiavimas

Page 9: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Skaitmeninių modelių formatai

*.ply, *.stl, *.obj, *.qobj, *.off, *.ptx, *.vmi, *.bre, *.dae, *.ctm, *.pts, *.apts, *.xyz, *.pcl, *.gts, *.pdb, *.tri, *.asc, *.x3d, *.x3dv, *.wrl, *.bw.

Page 10: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

C2 paviršiaus konstravimas iš Bezjė paviršių. Pavyzdžiai

Page 11: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Bezjė paviršių konstravimas ypatingųjų taškų aplinkoje

Naudojamos šios kaukės paviršių dalinimui.Naujo taško koordinatės viršūnės vietoje:

Naujo taško koordinatės briaunos vietoje:

Naujo taško koordinatės sienos vietoje:

Page 12: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

K. Karčiauskas, J. Peters (2007)

Programa vizualizavimui: BezierView, failo formatas: .bw.

Page 13: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Matthias Nießner, Charles Loop, Microsoft Research, Mark Meyer and Tony DeRose (2012)

Page 14: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Begalinio proceso keitimas baigtiniu (1)

Iteracijų skaičius:

Page 15: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Begalinio proceso keitimas baigtiniu (2)

Page 16: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

C2 paviršiaus formavimas ypatingųjų taškų srityse

Page 17: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Bendroji algoritmo idėja

Page 18: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Algoritmo taikymas

• Ši Bezjė paviršių aproksimavimo metodika gali būti taikoma optimizavimo uždaviniuose, kuriuose pagrindinis tikslas maksimizuoti C2 paviršiaus detalumą, kai:– kompiuterio pastovioji atmintis, skirta

C2_pavršius(n) algoritmo rezultato išsaugojimui, turi tam tikrus apribojimus;

– yra žinoma perteklinė informacijos riba, pavyzdžiui, naudojant 3D spausdintuvą trimačiams objektams suformuoti, papildomas C2 paviršiaus taškų skaičius neturi įtakos rezultato kokybei.

Page 19: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

„Neįmanomas“ trikampis

Page 20: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Loop-Schaefer algoritmas (2008)

Page 21: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Algoritmų palyginimas

Paviršių dalinimo algoritmas

Privalumai

Catmull-Clark

(1978)

Loop-Schaefer

(2008)

Siūlomas algoritmas

Tinka bet kokiam skaitmeniniam

modeliui + - -Egzistuoja parametrinė išraiška

- + +Grąžinamas C2 paviršius

+ - +

Page 22: Martynas SABALIAUSKAS. Bezjė paviršių aproksimavimo algoritmas atskirai kvadrianguliarių paviršių klasei

Ačiū už dėmesį.