1 대상물체의 형상화를 위해 사용되는 기술 인공물체 : 기하학적 Primitive ( 선, 면, 구, 육면체 ) 등을 이 용하여 형상화. 입력물 : 형상화 물체의 3 차원 좌표값 출력물 : 선구조형상 (Wire framed objects) Technique:Geometric Modeling –Solid Modeling –CSG (Constructive Solid Geometry) 모델링 (1/4)
2 자연물체 : Procedualism 에 의한 형상화 입력물 : 자연물의 구조를 정의하는 규칙 출력물 : 선구조 형상 Technique –Grammar based Modeling –Fractal Modeling –Particle System 모델링 (2/4)
3 모델링 (3/4) Representation of Objects Polygonal Objects are approximated by a net of planar polygonal facets. parametric patches Objects are represented exactly by nets of elements called patches Constructive solid geometry(CSG) Used in solid modeling Object is represented exactly by a collection of ‘elementary’ objects such as spheres, cylinders and boxes. Space subdivision techniques Embedding an object in a space where points in the space are labelled according to object occupancy
4 모델링 (4/4) Representation implicit function limited usefulness in CG –a limited number of object that can be represented the form of the object approximation –polygonal, space subdivision exact representation –patch, CSG Boundary/Volume representation boundary representation –polygonal, patch volume representation –space subdivision, CSG
5 Polygon Mesh What is a polygon mesh? boundary representation (B rep) a set of connected polygonally bounded planar surface a collection of edges, vertices, and polygons connected such that each edge is shared by at most two polygons Usage can be used not only planar objects but the objects with curved surfaces For curved surfaces, these exists obvious errors Maybe reduced by many subdivision Polygonal representation (1/3)
6 Polygonal representation (2/3)
7 Polygon Mesh Operation on Polygon mesh finding all the edges incident on a vertex finding the polygons sharing an edge or vertex finding the vertices connected by an edge finding the edges of a polygon Polygonal representation (3/3)
8 Real world objects are inherently smooth ex) character font, artist’s sketch, hand written form. Man-made objects are need to be smooth also ex) automobiles, ship hulls, aircraft fuselages, etc G.M. deals with the construction of smooth curves and surfaces Techniques Interpolation 기법 : Lagrange, Hermite Approximation 기법 : Bezier, B-spline Geometric Modeling
9 Parametric Curves Three basic forms of curves Explicit form y = f(x) –difficulties »impossible to get multiple values of y for single x ex) circle or ellipse »not rotationally invariant »describing curves with vertical tangents is difficult, slope of infinity is difficult to represent Implicit form f(x, y, z) = 0 –difficulties »given eg. may have more solutions than we want ex) »if two implicitly defined curve segments are join together difficult to determine the tangent direction agreement at joint point So, we use parametric form for curves and surfaces Parametric Curve (1/10)
10 Parametric form : based on the curve length each points (x, y, z) on a curve is represented as a function of a single parameter suitable for representing closed, multi-valued curves. The position vector of a point on a curve is fixed by the value of the parameter Parametric Curve (2/10)
11 Parametric form : based on the curve length For parameter t, we obtain equation we denote x=x(t), y=y(t) position vector p(t)=[x(t), y(t)] derivative slope of curve = axis independent because point on a curve is specified by a single value of parameter t. end point and length are fixed by parameter range usually normalized to Parametric Curve (3/10)
12 Ex) parametric rep. Of straight line from position vector to - each components of P(t) has a parametric representation when slope Parametric Curve (4/10)
13 Three Major types of Curves Hermite Two end points & two end point tangent vectors Bezier Defined by two end points and two other points that control the end point tangent vectors Spline Defined by four control points –uniform B-spline –non-uniform B-spline – - spline Parametric Curve (5/10)
14 Parametric Curve (6/10) Hermite Curve Two end points & two end point tangent vectors Bezier Curve two end points and two other points that control the end point tangent vectors
15 Parametric Curve (7/10) Bezier curve properties The first and last control points are the end points of the curve segment Convexhull property The curve is contained in shaded area formed from the control points The control points do not exert ‘local’ control Moving any control point affect all of the curve to a greater or lesser extent
16 Parametric Curve (8/10) B-spline curve property four control points convex hull property The curve is transformed by applying affine transformation A B-spline curve exhibit local control
17 Parametric Curve (9/10) Geometric continuity G 0 geometric continuity two curve segment join together G 1 geometric continuity the directions of the two segment’s tangent vectors are equal at a join point –not necessarily the magnitudes Parametric continuity C 1 parametric continuity tangent vectors of two curve segments are equal at the join point –direction and magnitude C n parametric continuity the direction and magnitude of d n /dt n [Q(t)] through the nth derivative are equal at the join point
18 Subdivision Purpose : To render a curve, rather than evaluate points along a curve, it is more cheaper to subdivide recursively until the convex hulls are sufficiently good approximation to the curve. The termination criterion. –linearity test applied to the convex hull. i.e., how far the interior control points deviate from the line connecting the two outer control points. Parametric Curve (10/10)
19 Biparametric patch (1/3)
20 Biparametric patch (2/3)
21 Biparametric patch (3/3) Joining Two patch
22 Constructive Solid Geometry(CSG) (1/3) CSG Used in solid modeling Object is represented exactly by a collection of Geometric primitives ‘elementary’ objects such as spheres, cylinders and boxes. combined using boolean set operators
23 Constructive Solid Geometry(CSG) (2/3) An object is stored as a tree The leaves contain simple primitives the nodes store operators or linear transformations
24 Constructive Solid Geometry(CSG) (3/3)
25 Space subdivision Technique (1/4) Space Subdivision Embedding an object in a space where points in the space are labelled according to object occupancy Techniques Octrees Binary Space Partitioning Tree
26 Space subdivision Technique (2/4) Octree an established hierarchical data structure that specifies the occupancy of cubic regions of object space The cubic regions are often called voxels
27 Space subdivision Technique (3/4)
28 Space subdivision Technique (4/4) Binary Space-Partitioning Trees recursively divide space into pairs of subspaces each separated by a plane of arbitrary orientation and position
29 To generate a 3-D surface, revolve a two dimensional entity, e.g., a line or plane about the axis in space. called surfaces of revolution Surface of Revolution (1/6)
30 When line segment and rotation axis are coplane and the line segment is not parallel to the rotation axis yields truncated right circular cone Surface of Revolution (2/6)
31 Line segment and axis of rotation are coplanar and the line segment rotation axis yields a planar disc. Surface of Revolution (3/6)
32 Closed polygon case Surface of Revolution (4/6)
33 Specification of surface of Revolution Entity to be rotated can be represent parametric eq. i.e., entity is a function of single parameter t Rotation can be done by angle parameter So, point on a S.O.R is specified by two parameters t and Surface of Revolution (5/6)
34 Any parametric curve i.e., cubic spline, can by used to generate S.O.R Parametrically blended Bezier B-spline Surface of Revolution (6/6)
35
36 Sweep surfaces (1/3) A 3-D surface is obtained by traversing an entity such as a line, polygon or curve, along a path in space the resulting surfaces are called sweep surfaces Frequently used in Geometric modeling ex) entity : point path : curve Generates curve
37
38 Closed polygons and curves generates finite volume by sweeping transformation ex) square or rectangle swept along a - straight path yields a parallel piped - circle on straight path cylinder - Rotation is also possible Sweep surfaces (2/3)
39 Two important consideration with polygon sweeping. First, what point in the polygon continuously lies on the path? any point in a polygon can continuously lie on the path Second, what is the direction of the normal to the polygon as the path is swept out? Two solution –1) normal is in the direction of instantaneous tangent to the path –2) normal direction is specified independent of path Sweep surfaces (3/3)