Download Shape Analysis and Visualization: Topics, Algorithms, and Techniques and more Assignments Computer Science in PDF only on Docsity! 1 Basic Shape Analysis and Visualization Topics Today • Bounding box computation • Silhouette extraction • Edge construction Topics Today • Bounding box computation • Silhouette extraction • Edge construction Shape Descriptors • What are features? Shape Descriptors • How to compute them? Shape Descriptors - Bounding Boxes • Centers and variances 2 Center of Mass ),( ii yx ),( jj yx Center of Mass • Center of Mass ),( ii yx ),( jj yx ),( 11 N y N x N i i N i i ∑∑ == Geometric Center • Geometric center ),( ii yx ),( jj yx ) 2 maxmin , 2 maxmin ( iiii yyxx ++ Centers • Geometric center • Center of Mass • Which one is better and why? ),( 11 N y N x N i i N i i ∑∑ == ) 2 maxmin , 2 maxmin ( iiii yyxx ++ Variance • What are the dominant directions? ),( ii yx ),( jj yx Variance • What are the dominant directions? • How are they defined? ),( ii yx ),( jj yx 5 Another Definition of Variance ),( ii yx ),( jj yx [ ] 2) )( )( (),( ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = pN pN dddph y x yx ))(),(( pNpN yx ),( kk yxp = Topics Today • Bounding box computation • Silhouette extraction • Edge construction How To Display a Shape? • Photorealistic How To Display a Shape? • Non-Photorealistic How To Display a Shape? • Non-Photorealistic Photorealistic Display • Regular shading • Wireframe • Polygon ID (homework 1) • Normal map (homework 1) • Checkerboard (homework 1) 6 Non-Photorealistic Display • Silhouette drawing – Suggestive contours – Ridges and valleys – Artistic shading • Hatching (later) Silhouette • Edge classification – Front face – Back face fnf fr ff rnfG •=)( 0)( >fG 0)( <fG Silhouette • Edge classification – Front face – Back face – Silhouette edge: incident to front and back faces. fnf fr ff rnfG •=)( 0)( >fG 0)( <fG Silhouette • Levelset: – Compute for each vertex v – For each edge e=(v, w) • If and then find where G(p)=0 for point p on e – For each triangle, connect aforementioned points using line segments. vv rnvG •=)( 0)( >vG 0)( <wG Silhouette • Levelset: – Compute for each vertex v – For each edge e=(v, w) • If and then find where G(p)=0 for point p on e – For each triangle, connect aforementioned points using line segments. • Why this might be better? Homework. vv rnvG •=)( 0)( >vG 0)( <wG Topics Today • Bounding box computation • Silhouette extraction • Edge construction 7 Data Structures • Vertex • Edge • Face • Corner • Polyhedron PLY format -1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1 -1 1 1 -1 1 1 1 1 -1 1 1 4 0 1 2 3 4 5 4 7 6 4 6 2 1 5 4 3 7 4 0 4 7 3 2 6 4 5 1 0 4 1 5 74 30 2 x y z 6 0 3 2 5 4 1 Edge (Optional) • Can be inferred from element vertex and face. • Very useful when performing operations that are related to edges, such as edge collapse in mesh simplification. A B E=(A,B) Edge • index • length • Other properties • How to construct all edges? Edge Construction • Mark every face as unvisited • For every face – Construct edges candidates – For every edge candidate E=(A,B) • Search all faces that are incident to either A, B • For each such face G marked as visited – Find whether it contains an edge of (A, B) » If yes, reject E » Else, accept E, and link it to A, B, and F. – Mark F as visited )...,,,( 110 −= nVVVF A B ),( 1+= iii VVE Any questions?