1. Trang chủ
  2. » Hoá học lớp 12

Bài giảng môn Đồ họa và hiện thực ảo - Bài 7: Đường cong trong không gian - 3D Curve

7 11 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 441,28 KB

Nội dung

Types of B-Splines Approximation Curves Used B-Spline approximations can be classified based on the spacing of the knot vector and the use of weights.. Uniform/Periodic B-splines : The [r]

(1)

Khoa CNTT DHBK Hanoi

1

Đường cong không gian

3D CURVE

Khoa CNTT DHBK Hanoi

2

Đường cong - Curve

Why use curves? Quỹđạo chuyển động điểm không gian

Điểm biểu diễn Đườngcong -curve represents points:

là phương phápđược sử dụng khoa học vật lý kỹ nghệ nói chung

– Các điểm liệu đo xác thực thể đối tượng sở Đường cong qua điểm liệu hiển thị hỗ trợ cho việc nhận xu hướng ý nghĩa điểm liệu

– Các kỹ thuật phức tạp “vd bình phương sai số” dùng đưa đường cong hợp với dạng toán học

Biểu diễn Điểmvà kiểm soát đường cong -Points represent-and control-the curve.

– đường cong đối tượng thường kết tiến trình thiết kế điểm đóng vai trị cơng cụđể kiểm sốt và mơ hình hố đường cong

– Cách tiếp cận sở lĩnh vực Computer Aided Geometric Design (CAGD)

Khoa CNTT DHBK Hanoi

3

Phân loi

Trên sở ràng buộc điểm đường cảứng dụng khoa học thiết kế ta co thể phân làm loại:

Nội suy-Interpolation - đường cong qua điểm, ứng dụng khoa học yêu cầu ràng buộc sử dụng đa thức hay hàm bậc cao nhiên kết thường có hiệu ứng phụ

sai số phóng đại hay độ nhấp nhô đường cong đa thức bậc cao tạo nên

Trong thiết kế nôi suy cần thiết với đối tượng không phù hợp với đối tượng có hình dáng "free form“

Xấp xỉ-Approximation - đường cong không cần qua điểm,với ứng dụng khoa học ta gọi trung bình liệu-data averaging hay thiết kếđiểu khiển đường cong

Khoa CNTT DHBK Hanoi

4

Polynomial Parametric Curves

What degree should we use to represent a curve?

– We choose the third degree:

Cubic polynomials

– Higher degrees:

Require more computation Have extra “wiggles”

Provide more flexibility than is required Are often used to model cars and aeroplanes

Tính cht cđường cong bc 3

Tham biến – parametric sử dụng tham biến để biểu diễn cho tham biến

Độ mượt - smooth.Với đường cong Hermite and Bézier tính liên tục continuity đường cong hay đạo hàm bậc 1-first derivative điểm kiểm sốt-control point Với B-splines tính liên tục đạo hàm bậc second derivative hay độ cong đảm bảo curvature

Độ biến đổi -"variation diminishing." đườngcong bị khuếch đại sai số điểm kiểm sốt hay tính nhấp nhơ đường cong hạn chế -oscillate

Ví dụ Bézier curve, for instance, lies within the convex hull(polygon envelope) of the set of control points

Điêm kiểm soát cục bộ-local control.đường cong bịảnh hưởng mạnh với điểm kiểm soát gần chúng

Đường cong đa thức bậc ba

Phảiđảm bảo làđường cong không gian với3 trục toạ độx, y, z

tránhđược tính tốn phức tạp phần nhấp nhơ ngồi ý muốn xuất hiệnởnhữngđườngđa thức bậc cao

Why cubic?

– lower-degree polynomials give too little flexibility in controlling the shape of the curve

– higher-degree polynomials can introduce unwanted wiggles and require more computation

(2)

Khoa CNTT DHBK Hanoi

7

Kinds of continuity:

– G0: two curve segments join together – G1: directions of tangents are equal at the joint – C1: directions and magnitudes of tangents are equal

at the joint

– Cn: directions and magnitudes of n-th derivative are equal at the joint

Khoa CNTT DHBK Hanoi

8 P0

P1 p2

p3

P0

P '0 P 1

P'1

Đường cong bậc3

Theo Lagrange: x= a1+ b1u+ c1u2+ d1u3

y= a2+ b2u+ c2u2+ d2u3

z= a3+ b3u+ c3u2+ d3u3

3 phương trinh với12 ẩn số

Với3 điểm P0, P1, P2, P3 phương trình xácđịnh

Khoa CNTT DHBK Hanoi

9

Đường cong Hermite

Phương pháp Hermite dựa sởcủa cách biểu diễn Ferguson hay Coons năm 60

đường bậc ba sẽxác định hai điểm đầu vàcuối với hai góc nghiêng hai điểm

p = p(u) = k0+ k1u + k2u2+ k3u3 p(u) = ∑kiui i∈n

p’= p(u) = k1+ 2k2u + 3k3u2

p0 vàp1ta có hai độdốc p0’vàp1’với u = vàu = hai điểm đầu

cuối đoạn [0,1] k1+ 2k2+ 3k3= p1’ k0= p0 k1= p1’

k2= 3(p1–p0) - 2p0’ –p1’

k3= 2(p0-p1) + p0’+ p1’ 10 Khoa CNTT DHBK Hanoi

Thay vào:

p= p(u) = p0(1-3u2+2u3) + p1(3u2-2u3) + p0’(u-2u2+u3) + p1’(-u2+u3)

p = p(u) = [ u u2 u3]

⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢

⎢ ⎢ ⎢ ⎣ ⎡

− − −

1

1 1 2 2

1 2 3 3

0 1 0 0

0 0 0 1

' ' .

p p p p

Khoa CNTT DHBK Hanoi

11 12 Khoa CNTT DHBK Hanoi

Đường cong Bezier

Sửdụngđiểm 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 giá trịsố(Hermite).

Paul Bezier, RENAULT, 1970 đường bề mặt

(3)

Khoa CNTT DHBK Hanoi

13

po, p3 tương đương với p0, p1 đườ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 p3

p0’ = 3(p1– p0) p3’ = 3(p3– p2)

p = p(u) = p0(1-3u2+2u3) + p1(3u2-2u3) + p0 ’(u-2u2+u3) + p

1’(-u2+ u3)

p = p(u) = p0(1 - 3u + 3u2- u3) + p1(3u-6u2+3u3) + p2(3u2- 3u3) + p

3u3

Khoa CNTT DHBK Hanoi

14

p = p(u) = [ u u2u3]

⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − 1 3 0 3 0 p p p p

Khoa CNTT DHBK Hanoi

15

Ưu đim

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 đ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 đó

Khoa CNTT DHBK Hanoi

16

De Casteljau algorithm

Biểu thức Bezier-Bernstain Tổng quát hoá với n+1 điểm kiểm sốt

p0 pn: vector vịtrí củađa giác n+1 đỉnh

) )( ( ) ( ) ( ) ( 1 , , i i n i n i i n i n i P p u B n u p p u B u p − = ′ = + = − = ∑ ∑ i n i n

i u C ni u u B ( )= ( , ) (1− ) −

, )! i n ( ! i ! n ) i , n ( C − =

Tính cht

P0 Pn nằm đường cong

Đường cong liên tục có đạo hàm liên tục tất bậc

Tiếp tuyến đường cong điểm P0 đường P0P1 và Pn đường Pn-1Pn

Đường cong nằm đường bao lồi convex hull các điểm kiểm soát.

(4)

Khoa CNTT DHBK Hanoi

19

Review:

Bézier Curve Prop’s [1/6] We looked at some properties of Bézier curves. Generally “Good” Properties

– Endpoint Interpolation

– Smooth Joining

– Affine Invariance

– Convex-Hull Property

Generally “Bad” Properties – Not Interpolating

– No Local Control

Khoa CNTT DHBK Hanoi

20

Đường bậc ba Spline

Spline đi qua n điểm cho trước màmỗi đoạn là

đường bậc ba độc lập cóđộdốc vàđộcong liên tục tại mỗi điểm kiểm soát hay điểm nút

Với n điểm:n-1 đoạn với mỗi đoạn vector hệsố 4(n-1) cho n-1 đoạn, và 2(n-1) điều kiện biên và n-2 điều kiện vềđộdốc cùng n-2 vềđộcong

Spline dùng đểchỉ phương pháp biểu diễn

đườ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

Khoa CNTT DHBK Hanoi

21

Đường cong bậc ba Spline u0 = với: (u0 un-1)uj+1> uj ui+1= ui+ di+1

C0đểkhơng có sựgiánđoạn giữa haiđoạn cong

C1tính liên tục bậc nhất hayđạo hàm bậc nhất tạiđiểm

nối

C2đạo hàm bậc hai liên tục củađường cong tạiđiểm nối

Khoa CNTT DHBK Hanoi

22

tính liên tục củađạo hàm bậc hai cácđiểm nối có thểdễ

dàngđạtđược 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) 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)

y Pn-1’

Pn-1 Po’ P1

x z Po

p = [ u u2 u3]

⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢

⎢ ⎢ ⎢ ⎣ ⎡

− − −

1

1 2

1 3

0 0

0 0

' '

p p p p

Khoa CNTT DHBK Hanoi

23

Đường cong B-spline

Đường cong B-spline đường cong được sinh ra từđa giác kiểm soát mà bậc của khơng phụ

thuộc vào sốđỉnh của đa giác kiểm soát.

Khoa CNTT DHBK Hanoi

24

B-Splines: The Idea [1/2]

The repeated-lirping idea that produced the Bézier curves has the drawbacks that is produces polynomials with high degree that are nonzero almost everywhere.

– Using functions defined in pieces, we can fix these two

Start: An order-1 B-Spline has blending functions that are always either or 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.

(5)

Khoa CNTT DHBK Hanoi

25

B-Splines: The Idea [2/2]

We form an order-2 B-Spline by lirping between the order-1 blending functions

– As discussed, we get functions that start at 0, ramp up to and back down, then stay at zero Each function is most of the time

– So each blending function is defined in pieces Each piece is a polynomial of degree (graph is a line)

– So an order-2 B-spline is just the control polygon

– Again, any number of control points may be used

We form an order-3 B-Spline by lirping between the order-2 blending functions

– Now blending functions are smooth They start at 0, curve up to then back down Again, each function is most of the time

– Again, each blending function is defined in pieces Each piece is a polynomial of degree

We continue this repeated-lirping procedure to define B-splines of higher order

– See the blue book for details and graphs 26 Khoa CNTT DHBK Hanoi

Types of B-Splines Approximation Curves Used B-Spline approximations can be classified based on the spacing of the knot vector and the use of weights

1 Uniform/Periodic B-splines: The spacing is unform and the knots (control points) are equispaced e.g [0,1,2,3,4,5] These have satisfactory smoothness but lack local control and the starting and ending poits are ill defined as above

2 Non-periodic:The knots are repeated at the ends m times and the interior is equispaced e.g [0 0 3 ] These can be used to force the control point to start and finish at a control point

3 Non-uniform B-Splines: The spacing is non-uniform and or repeated knots e.g [0 1 6 ] These can be used to obtain local control

B-Splines

Khoa CNTT DHBK Hanoi

27

B-spline

Ni,k(u) đa thức B-Spline cơ bản Với n+ sơ điểm kiểm sốt

Piđiểm kiểm soát thứ i

k bậc của đường cong 1<k<n+2

Ui vector nút của đường cong U=[U1,U2 Un+k+1]

i n

i k

i u P

N u P ∑ = = , ( ). ) ( ) ( ) ( ) ( ) ( ) ( )

( ,

2 1 , 1

, N u

U U u U u N U U U u u

N ik

k i i i k i k i i k i k i − − + + + − − − + − + − − + − − = ⎩ ⎨ ⎧ ∈ = + others 0 ] , [ 1 ) ( 1 , i i i u u u u N

Khoa CNTT DHBK Hanoi

28

Đặcđim

B-spline không qua hai điểm đầu vàcuối trừkhi hàm hợp dùng làtuyến tính

B-spline cóthểđược tạo qua hai điểm đầu, cuối vàtiếp xúc với vector

đầu vàcuối đa giác kiểm soát Bằng cách thêm vào nút vịtrí

của nút cuối vector nhiên giátrịgiống khơng nhiều bậc đường cong

Tính chất bao lồi đa giác kiểm sốt vàtính chất chuẩn thoa mãn

Số lượng nút, bậc đường cong vàsốđiểm điều khiển ln có

các quan hệràng buộc: ≤u ≤n - k +

1 (u) N n i k i, = ∑ =

B Spline-Đu tun hoàn

Vecto nút giá trị chúng cách khoảng ∇xác định Trong toán thực tế, vecto nút đều tăng giá trị lớn Ví dụ: [ ] với∇xácđịnh= 1

[ -2 -1/2 5/2 ] với∇xácđịnh= 3/2

Với cấp k, số điểm kiểm sốt n+1 vecto nút U=[0 n+k] khoảng tham số (k-1)≤u≤(n+1).

(6)

Khoa CNTT DHBK Hanoi

31 32 Khoa CNTT DHBK Hanoi

Khơng tun hồn Open – Non Uniform Một vector khơng tuần hồn mở làvector nút cógiátrịnút điểm

đầu cuối lặp lại với số lượng giátrị lặp lại cấp k

đường cong vàcác giátrịnút điểm lặp làbằng

Nếu hai điều kiện hai điều kiện không thoả mãn vecto nút khơng

Cách tính Ui Ui = 1=<i<=k Ui = i-k k+1<i<=n+1 Ui = n-k+2 n+1<i<=n+k+1

2 [0 3]

3 [0 0 2 2]

4 [0 0 1 1]

Cấp

k số lượ= n + k)ng nút (m không tuVector nút ần hoàn

Khoa CNTT DHBK Hanoi

33

B-Splines: Properties

The most used B-splines are:

– Order (“quadratic B-splines”)

Smooth

– Order (“cubic B-splines”)

Smoother, but control is a little less local

B-splines have the following properties

– An order-kB-spline has blending functions that are defined in pieces, using polynomials of degree k–1

This is true for any number of control points We can choose the number of control points and the polynomial degree separately ☺

– B-splines are affine invariant (of course)

– They have the convex-hull property ☺

– They have local control ☺

– A B-spline (of order or more) does not interpolate anyof its control points But we can deal with this …

Khoa CNTT DHBK Hanoi

34

Kết lun

B-spline làmột dòng Bezier

Thực tếkhi ta chọn bậc k cho tập hợp k điểm thìthi B-spline chuyển thành Bezier

Khi bậc đa thức giảm sựảnh hưởng cục bộcủa điểm nút rõ ràng

Khi tồn anh hưởng cục bộcàng lớn vàđường cong phai qua điểm

đó

Chúng ta cóthể thay đổi hình dạng đường cong B-spline cách: Thay đổi kiểu vecto nút : tuần hồn, mở, khơng

Thay đổi cấp k đường cong

Thay đổi sốđỉnh vàvịtrícác đỉnh đa giác kiểm sốt Sửdụng điểm kiểm soát trùng

Khoa CNTT DHBK Hanoi

35

Non-uniform Rational B-Splines(NURBS)

The last types are good for representing free form curves but also introduce unnecessary approximations in the representation of conic sections NURBS build on non-uniform B-Splines and introduce a weight function to obtain an approximation that retains all the advantages of the non-uniform B-Splines and is also capable of exact representation of conic sections (circles, parabolas etc.).The general form is given below:

The curve is described as rational since it is expressed as the ratio of two polynomials.widefines a weight function If wiis set to we get back the

non-uniform B-Spline Other values of thewican be used to produce curves for straight

line, parabola, ellipse and hyperbola

Khoa CNTT DHBK Hanoi

36

Other Splines: NURBS, etc.

There are any number of other types of splines

– Often we want a very general type of curve that will whatever we want

One such type of curve that has been very successful is the NURBS.

– NURBS = Non-Uniform Rational B-Spline

– A NURBS is defined using rational functions A rational functionis a polynomial divided by a polynomial

– Control points can be given weights, so some are more important than others

– NURBS curves (and surfaces) are built into GLU, but can be rather complex to use

One important issue when defining curves and surfaces: – In advanced rendering the technique of ray tracingis often used

– In ray tracing, we determine the color of a pixel by tracing a ray of light backward from the viewer’s eye, through the pixel, and we see where the ray came from

– In order to ray tracing efficiently, we must be able to test quickly whether a particular ray hits a particular object and, if so, where

(7)

Khoa CNTT DHBK Hanoi

Ngày đăng: 09/03/2021, 06:07

TỪ KHÓA LIÊN QUAN