intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Đường cong trong không gian 3D CURVE - Lê Tấn Hùng

Chia sẻ: Sinh Nhân | Ngày: | Loại File: PDF | Số trang:7

62
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Đường cong trong không gian 3D Curve" cung cấp cho người học các kiến thức: Đường cong - Curve, phân loại, Polynomial Parametric Curve, tính chất của đường cong bậc 3, đường cong đa thức bậc ba, các loại đường cong trong đồ họa,... Đây là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin và Thiết kế đồ họa dùng làm tài liệu học tập và nghiên cứu.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Đường cong trong không gian 3D CURVE - Lê Tấn Hùng

  1. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn Đường cong - Curve Đường cong trong không gian Why use curves? Quỹ đạo chuyển động của 1 điểm trong không gian 3D CURVE Điểm biểu diễn Đường cong -curve represents points: – là phương pháp được sử dụng trong khoa học vật lý và kỹ nghệ nói chung. – Các điểm dữ liệu được đo chính xác trên các thực thể sẽ chính đối tượng cơ sở. Đường cong đi qua các điểm dữ liệu hiển thị hỗ trợ cho việc nhận ra xu hướng và ý nghĩa cả các điểm dữ liệu. – Các kỹ thuật phức tạp “vd bình phương sai số” được dùng đưa đường cong hợp với 1 dạng toán học cơ bản. Biểu diễn Điểm và kiểm soát đường cong -Points represent-and control-the curve. – đường cong là các đối tượng cơ bản thường là kết quả của tiến trình thiết kế và các điểm đóng vai trò là công cụ để kiểm soát và và mô hình hoá đường cong. – Cách tiếp cận này là cơ sở của lĩnh vực Computer Aided Geometric Design (CAGD). 1 Khoa CNTT DHBK Hanoi 2 Khoa CNTT DHBK Hanoi Phân loại Polynomial Parametric Curves Trên cơ sở ràng buộc giữa điểm và đường trong cả ứng dụng khoa What degree should we use to represent a học và thiết kế ta co thể phân làm 2 loại: curve? Nội suy-Interpolation - đường cong đi qua các điểm, trong ứng dụng khoa học các yêu cầu về ràng buộc sử dụng đa thức hay các – We choose the third degree: hàm bậc cao tuy nhiên kết quả thường có những hiệu ứng phụ như Cubic polynomials sai số phóng đại hay độ nhấp nhô của đường cong do đa thức bậc – Higher degrees: cao tạo nên. Require more computation Trong thiết kế nôi suy là cần thiết với các đối tượng nhưng không Have extra “wiggles” phù hợp với các đối tượng có hình dáng bất kỳ "free form“. Provide more flexibility than is required. Xấp xỉ-Approximation - đường cong không cần đi qua các điểm,với Are often used to model cars and aeroplanes các ứng dụng khoa học ta gọi là trung bình dữ liệu- data averaging hay trong thiết kế điểu khiển đường cong. 3 Khoa CNTT DHBK Hanoi 4 Khoa CNTT DHBK Hanoi Tính chất cả đường cong bậc 3 Đường cong đa thức bậc ba Tham biến – parametric sử dụng tham biến ngoài để biểu diễn cho Phải đảm bảo là đường cong không gian với 3 trục toạ các tham biến trong độ x, y, z Độ mượt - smooth. Với đường cong Hermite and Bézier tính liên tục continuity của đường cong hay đạo hàm bậc 1-first derivative tại tránh được những tính toán phức tạp và những phần các điểm kiểm soát-control point. Với B-splines tính liên tục trên đạo nhấp nhô ngoài ý muốn xuất hiện ở những đường đa hàm bậc 2 second derivative hay độ cong được đảm bảo curvature. thức bậc cao Độ biến đổi -"variation diminishing." đường cong ít bị khuếch đại sai số bởi các điểm kiểm soát hay tính nhấp nhô của đường cong Why cubic? hạn chế -oscillate. – lower-degree polynomials give too little flexibility in controlling the Ví dụ Bézier curve, for instance, lies within the convex hull (polygon shape of the curve envelope) of the set of control points. – higher-degree polynomials can introduce unwanted wiggles and Điêm kiểm soát cục bộ-local control. đường cong bị ảnh hưởng require more computation mạnh nhất với chính các điểm kiểm soát gần chúng nhất. – lowest degree that allows specification of endpoints and their derivatives – lowest degree that is not planar in 3D 5 Khoa CNTT DHBK Hanoi 6 Khoa CNTT DHBK Hanoi 1
  2. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn Đường cong bậc 3 Kinds of continuity: Theo Lagrange: – G0: two curve segments join together x = a1 + b1u + c1u2 + d1u3 y = a2 + b2u + c2u2 + d2u3 – G1: directions of tangents are equal at the joint z = a3 + b3u + c3u2 + d3u3 – C1: directions and magnitudes of tangents are equal 3 phương trinh với 12 ẩn số at the joint Với 3 điểm P0, P1, P2, P3 phương trình xác định – Cn: directions and magnitudes of n-th derivative are equal at the joint P'1 p3 P1 p2 P'0 P1 P0 P0 7 Khoa CNTT DHBK Hanoi 8 Khoa CNTT DHBK Hanoi Đường cong Hermite Phương pháp Hermite dựa trên cơ sở của cách biểu diễn Ferguson hay Coons năm 60 đường bậc ba sẽ xác định bởi hai điểm đầu và cuối cùng với hai góc Thay vào: nghiêng tại hai điểm đó p = p(u) = k0 + k1u + k2u2 + k3u3 p = p(u) = p0(1-3u2+2u3) + p1(3u2-2u3) p(u) = ∑kiui i∈n + p0’(u-2u2+u3) + p1’(-u2+u3) p’ = p(u) = k1 + 2k2u + 3k3u2 ⎡1 0 0 ⎤ ⎡ p0 ⎤ 0 ⎢0 ⎢ ⎥ p0 và p1 ta có hai độ dốc p0’ và p1’ với u = 0 và u = 1 tại hai điểm đầu 0 0 ⎥⎥ ⎢ p1 ⎥ 1 cuối của đoạn [0,1]. p = p(u) = [ 1 u u2 u3 ] ⎢ . k1 + 2k2 + 3k3 = p1’ ⎢− 3 3 − 2 − 1⎥ ⎢ p '0 ⎥ k0 = p0 k1 = p1’ ⎢ ⎥ ⎢ ⎥ k2 = 3(p1 – p0) - 2p0’ – p1’ ⎣2 2 1 1 ⎦ ⎣ p '1 ⎦ k3 = 2(p0-p1) + p0’ + p1’ 9 Khoa CNTT DHBK Hanoi 10 Khoa CNTT DHBK Hanoi Đường cong Bezier Sử dụng điểm và các vector kiểm soát được độ dốc của đường cong tại nhưng điểm mà nó đi qua.(Hermit) không được thuận lợi cho việc thiết kế tương tác, không tiếp cận vào các độ dốc của đường cong bằng các giá trị số (Hermite). Paul Bezier, RENAULT, 1970 đường và bề mặt UNISURF 11 Khoa CNTT DHBK Hanoi 12 Khoa CNTT DHBK Hanoi 2
  3. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn po, p3 tương đương với p0, p1 trên đường Hermite. diểm trung gian p1, p2 được xác định bằng 1/3 theo độ dài của vector tiếp tuyến tại điểm po và p3 p0’ = 3(p1 – p0) ⎡1 0 0 0⎤ ⎡ p0 ⎤ p3’ = 3(p3 – p2) ⎢ − 3 3 0 ⎥ 0⎥ ⎢p ⎥ p = p(u) = [ 1 u u2 u3 ] ⎢ ⎢ 1⎥ p = p(u) = p0(1-3u2+2u3) + p1(3u2-2u3) + p0’(u- ⎢ 3 −6 3 0⎥ ⎢ p2 ⎥ 2u2+u3) + p1’(-u2 + u3) ⎢ ⎥ ⎢ ⎥ ⎣− 1 3 − 3 1⎦ ⎣ p3 ⎦ p = p(u) = p0(1 - 3u + 3u2 - u3) + p1(3u-6u2+3u3) + p2(3u2 - 3u3) + p3u3 13 Khoa CNTT DHBK Hanoi 14 Khoa CNTT DHBK Hanoi Ưu điểm De Casteljau algorithm dễ dàng kiểm soát hi`nh dạng của đường cong hơn vector tiếp tuyến tại p0’ và p1’ của Hermite. Nằm trong đa giác kiểm soát với số điểm trung gian tuỳ ý( số bậc tuỳ ý) đi qua điểm đầu và điểm cuối của đa giác kiểm soát, tiếp xúc với cặp hai vector của đầu cuối đó 15 Khoa CNTT DHBK Hanoi 16 Khoa CNTT DHBK Hanoi Biểu thức Bezier-Bernstain Tính chất Tổng quát hoá với n +1 điểm kiểm soát P0 và Pn nằm trên đường cong. n Đường cong liên tục và có đạo hàm liên tục tất cả các p(u ) = ∑ Bi ,n (u ) pi bậc i =0 n Tiếp tuyến của đường cong tại điểm P0 là đường P0P1 p′(u ) = n ∑ Bi ,n −1 (u )( pi +1 − Pi ) và tại Pn là đường Pn-1Pn . i =0 Đường cong nằm trong đường bao lồi convex hull của Bi ,n (u ) = C ( n, i )u i (1 − u ) n −i các điểm kiểm soát. This is because each successive Pi(j) is a convex n! combination of the points Pi(j-1) and Pi-1(j-1) . C( n, i) = i! ( n − i)! P1 ,P2 , … ,Pn-1 nằm trên đường cong khi và chỉ khi p0 ... pn : vector vị trí của đa giác n+1 đỉnh đường cong là đoạn thẳng. 17 Khoa CNTT DHBK Hanoi 18 Khoa CNTT DHBK Hanoi 3
  4. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn Review: Bézier Curve Prop’s [1/6] Đường bậc ba Spline We looked at some properties of Bézier curves. Spline đi qua n điểm cho trước mà mỗi đoạn là Generally “Good” Properties đường bậc ba độc lập có độ dốc và độ cong liên – Endpoint Interpolation tục tại mỗi điểm kiểm soát hay điểm nút – Smooth Joining – Affine Invariance Với n điểm:n-1 đoạn với mỗi đoạn 4 vector hệ số – Convex-Hull Property 4(n-1) cho n-1 đoạn, và 2(n-1) điều kiện biên và n- Generally “Bad” Properties 2 điều kiện về độ dốc cùng n-2 về độ cong – Not Interpolating Spline dùng để chỉ phương pháp biểu diễn No Local Control – đường cong mềm thông qua các đoạn cong tham biến bậc ba với các điều kiện liên tục tại các điểm đầu nút 19 Khoa CNTT DHBK Hanoi 20 Khoa CNTT DHBK Hanoi y Pn-1’ Đường cong bậc ba Spline Pn-1 u0 = 0 với : (u0 ... un-1) uj+1 > uj Po’ P1 ui+1 = ui + di+1 x z Po C0 để không có sự gián đoạn giữa hai đoạn cong. C1 tính liên tục bậc nhất hay đạo hàm bậc nhất tại điểm ⎡1 0 0 0 ⎤ ⎡ p0 ⎤ ⎢ ⎢ ⎥ nối. p = [ 1 u u2 u3 ] ⎢ 0 0 1 0 ⎥⎥ ⎢ p1 ⎥ . ⎢− 3 3 − 2 − 1⎥ ⎢ p '0 ⎥ C2 đạo hàm bậc hai liên tục của đường cong tại điểm nối ⎢ ⎥ ⎢ ⎥ ⎣2 2 1 1 ⎦ ⎣ p '1 ⎦ tính liên tục của đạo hàm bậc hai tại các điểm nối có thể dễ dàng đạt được bằng cách đặt P’’i-1(ui-1=1) là đạo hàm bậc hai tại điểm cuối của đoạn (i-1) bằng với P’’i(ui=0) đạo hàm bậc hai tại điểm đầu của đoạn thứ i. P’’i-1(1)= P’’i(0) 21 Khoa CNTT DHBK Hanoi 22 Khoa CNTT DHBK Hanoi B-Splines: Đường cong B-spline The Idea [1/2] The repeated-lirping idea that produced the Bézier Đường cong B-spline là đường cong được sinh curves has the drawbacks that is produces polynomials ra từ đa giác kiểm soát mà bậc của nó không phụ with high degree that are nonzero almost everywhere. thuộc vào số đỉnh của đa giác kiểm soát. – Using functions defined in pieces, we can fix these two. Start: An order-1 B-Spline has blending functions that are always either 1 or 0. When a function is 1, all the rest are zero. – So an order-1 B-spline is just a sequence of points. – Any number of control points may be used. Now we make higher-order B-splines using a repeated- lirping procedure. – But this time, we can use any number of control points. 23 Khoa CNTT DHBK Hanoi 24 Khoa CNTT DHBK Hanoi 4
  5. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn B-Splines: B-Splines The Idea [2/2] We form an order-2 B-Spline by lirping between the order-1 blending functions. Types of B-Splines Approximation Curves Used – As discussed, we get functions that start at 0, ramp up to 1 and back down, then stay at zero. Each function is 0 most of the time. B-Spline approximations can be classified based on the – So each blending function is defined in pieces. Each piece is a spacing of the knot vector and the use of weights. polynomial of degree 1 (graph is a line). – So an order-2 B-spline is just the control polygon. 1. Uniform/Periodic B-splines : The spacing is – Again, any number of control points may be used. unform and the knots (control points) are equispaced e.g. [0,1,2,3,4,5] These have satisfactory smoothness but lack We form an order-3 B-Spline by lirping between the order-2 blending local control and the starting and ending poits are ill functions. defined as above. – Now blending functions are smooth. They start at 0, curve up to 1 then 2. Non-periodic: The knots are repeated at the ends m back down. Again, each function is 0 most of the time. times and the interior is equispaced. e.g. [0 0 0 1 2 3 3 3 – Again, each blending function is defined in pieces. Each piece is a ] These can be used to force the control point to start polynomial of degree 2. and finish at a control point. 3. Non-uniform B-Splines : The spacing is non- We continue this repeated-lirping procedure to define B-splines of uniform and or repeated knots e.g. [0 1 1 2 4 5 6 6 higher order. ] These can be used to obtain local control 25 – See the blue book for details and graphs. Khoa CNTT DHBK Hanoi 26 Khoa CNTT DHBK Hanoi B-spline n ⎧1 u ∈ [ui , ui +1 ] P(u ) = ∑ N i ,k (u ).Pi N i ,1 (u ) = ⎨ i =0 ⎩0 others (u − U i +1− k ) (U i +1 − u ) N i ,k (u ) = N i −1,k −1 (u ) + N i ,k −1 (u ) U i − U i +1− k (U i +1 − U i + 2 − k ) Ni,k(u) đa thức B-Spline cơ bản Với n+ 1 sô điểm kiểm soát Pi điểm kiểm soát thứ i k bậc của đường cong 1
  6. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn Không tuần hoàn Open – Non Uniform Một vector không tuần hoàn hoặc mở Cấp số lượng nút (m Vector nút là vector nút có giá trị nút tại các điểm k = n + k) không tuần đầu cuối lặp lại với số lượng các giá trị hoàn lặp lại này bằng chính cấp k của 2 6 [0 0 1 2 3 3] đường cong và các giá trị nút trong mỗi điểm lặp này là bằng nhau 3 7 [0 0 0 1 2 2 2] Nếu một trong hai điều kiện này hoặc cả hai điều kiện không được thoả mãn thì vecto nút là không đều. 4 8 [0 0 0 0 1 1 1 1] Cách tính Ui Ui = 0 1=
  7. CNTT-DHBK Hanoi hunglt@it-hut.edu.vn 37 Khoa CNTT DHBK Hanoi 7
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2