1. Trang chủ
  2. » Giáo Dục - Đào Tạo

đường cong trong không gian 3d curve

7 335 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 429,8 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Quỹ đạo chuyển động của 1 điểm trong không gian Đ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.. Khoa CNTT

Trang 1

Khoa CNTT DHBK Hanoi

1

Đường cong trong không gian

3D CURVE

Khoa CNTT DHBK Hanoi

2

Đường cong - Curve

Why use curves? Quỹ đạo chuyển động của 1 điểm trong không gian

Đ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).

Khoa CNTT DHBK Hanoi

3

Phân loại

Trên cơ sở ràng buộc giữa điểm và đường trong cả ứng dụng khoa

học và thiết kế ta co thể phân làm 2 loại:

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

hàm bậc cao tuy nhiên kết quả thường có những hiệu ứng phụ như

sai số phóng đại hay độ nhấp nhô của đường cong do đa thức bậc

cao tạo nên

Trong thiết kế nôi suy là cần thiết với các đối tượng nhưng không

phù hợp với các đối tượng có hình dáng bất kỳ "free form“

Xấp xỉ-Approximation - đường cong không cần đi qua các điểm,với

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.

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 chất cả đường cong bậc 3

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

các tham biến trong

Độ 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

các điểm kiểm soát-control point Với B-splines tính liên tục trên đạo

hàm bậc 2 second derivative hay độ cong được đảm bảo curvature

Độ 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

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 nhất với chính các điểm kiểm soát gần chúng nhất

Đường cong đa thức bậc ba Phải đảm bảo là đường cong không gian với 3 trục toạ

độ x, y, z tránh được những tính toán phức tạp và những phần nhấp nhô ngoà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

– lowest degree that allows specification of endpoints and their

Trang 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

p3

P0

P'1

Đ ường cong bậc 3

Theo Lagrange:

x = a 1 + b 1 u + c 1 u 2 + d 1 u 3

y = a 2 + b 2 u + c 2 u 2 + d 2 u 3

z = a 3 + b 3 u + c 3 u 2 + d 3 u 3

3 phương trinh với 12 ẩn số Với 3 đ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 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

nghiêng tại hai điểm đó

p = p(u) = k 0 + k 1 u + k 2 u 2 + k 3 u 3

p(u) = ∑kiui i ∈n

p’ = p(u) = k 1 + 2k 2 u + 3k 3 u 2

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

cuối của đoạn [0,1]

k1+ 2k2+ 3k3= p1’

k0= p0 k1= p1’

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

k3= 2(p0-p1) + p0’ + p1’

Khoa CNTT DHBK Hanoi

10

Thay vào:

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

+ p0’(u-2u2+u3) + p1’(-u2+u3)

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

1 0 1 0

1 1 2 2

1 2 3 3

0 1 0 0

0 0 0 1

' '

p p p p

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

Trang 3

Khoa CNTT DHBK Hanoi

13

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)

p3’ = 3(p3– p2)

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

’(u-2u2+u3) + p1’(-u2+ u3)

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

+ p2(3u2- 3u3) + p3u3

Khoa CNTT DHBK Hanoi

14

p = p(u) = [ 1 u u2u3]

3 2 1 0

1 3 3 1

0 3 6 3

0 0 3 3

0 0 0 1

p p p p

Khoa CNTT DHBK Hanoi

15

Ưu điểm

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

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 soát

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

) )(

( )

(

) ( ) (

1 0

1 , 0 ,

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 n i u u

)!

i n ( i

! n ) i n (

C

=

Tính chất

P0 và Pn nằm trên đường cong

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

Tiếp tuyến của đường cong tại điểm P0 là đường P0P1

và tại Pn là đường Pn-1Pn Đường cong nằm trong đường bao lồi convex hull của các điểm kiểm soát.

This is because each successive Pi(j) is a convex combination of the points Pi(j-1) and Pi-1(j-1) P1 ,P2 , … ,Pn-1 nằm trên đường cong khi và chỉ khi

Trang 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 4 vector hệ số 4(1) cho 1 đoạn, và 2(1) điều kiện biên và

n-2 điều kiện về độ dốc cùng n-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 = 0 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 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)

Pn-1

Po’ P1

x z Po

p = [ 1 u u2 u3]

1 0 1 0

1 1 2 2

1 2 3 3

0 1 0 0

0 0 0 1

' '

p p p p

Đường cong B-spline

Đường cong B-spline là đường cong được sinh

ra từ đa giác kiểm soát mà bậc của nó không phụ

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

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

Trang 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 1 and back

down, then stay at zero Each function is 0 most of the time

– So each blending function is defined in pieces Each piece is a

polynomial of degree 1 (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 1 then

back down Again, each function is 0 most of the time

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

polynomial of degree 2

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

higher order

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 0 1 2 3 3 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 1 2 4 5 6 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+ 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<k<n+2

U=[U1,U2 Un+k+1]

i n

i

k

N

u

=

=

0

, ( ).

)

(

) ( ) (

) ( ) ( ) (

)

2 1

1 1

, 1 1

1

U U u U u N U U

U u

u

k i i

i k

i k i i

k i k

− +

+

− +

=

others 0

] , [ 1 )

1 ,

i i i

u u u u N

Khoa CNTT DHBK Hanoi

28

Đặc điểm

B-spline không đi qua hai điểm đầu và cuối trừ khi hàm hợp được

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 của đa giác kiểm soát Bằng cách thêm vào các nút tại vị trí

của các nút cuối của vector tuy nhiên các giá trị giống nhau không

nhiều hơn bậc của đường cong

Tính chất bao lồi của đa giác kiểm soát và tính chất chuẩn được thoa

mãn

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

các quan hệ ràng buộc:

0 ≤ u ≤ n - k + 2

1 (u) N

n

0 i k

i, =

=

Vecto nút là đều khi giá trị của chúng cách đều nhau một khoảng ∇ xác định Trong các bài toán thực tế, vecto nút đều được bắt đầu từ 0 và tăng 1 cho đến giá trị lớn nhất

Ví dụ: [ 0 1 2 3 4 5 ] với ∇ xác định = 1 [ -2 -1/2 1 5/2 4 ] với ∇ xác định = 3/2 Với cấp là k, số điểm kiểm soát là n+1 thì vecto nút đều là U=[0 1 2 n+k] khoảng tham số (k-1)≤u≤(n+1).

Khi vecto nút là đều thì ta có

Trang 6

Ni,k(u)=Ni-1,k(u-Khoa CNTT DHBK Hanoi

Không tuần hoàn Open – Non Uniform

Một vector không tuần hoàn hoặc mở

là vector nút có giá trị nút tại các điểm đầu cuối lặp lại với số lượng các giá trị lặp lại này bằng chính cấp k của đường cong và các giá trị nút trong mỗi điểm lặp này là bằng nhau

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

Cách tính Ui

Ui = 0 1=<i<=k

Ui = i-k k+1<i<=n+1

Ui = n-k+2 n+1<i<=n+k+1

Cấp

k số lượng nút (m = n + k) không tuần Vector nút

hoàn

Khoa CNTT DHBK Hanoi

33

B-Splines:

Properties

The most used B-splines are:

– Order 3 (“quadratic B-splines”)

Smooth.

– Order 4 (“cubic B-splines”)

Smoother, but control is a little less local.

B-splines have the following properties

An order-k B-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 3 or more) does not interpolate any of its control

points But we can deal with this …

Khoa CNTT DHBK Hanoi

34

Kết luận

B-spline là một dòng của 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 của đa thức giảm sự ảnh hưởng cục bộ của mỗi điểm nút càng

rõ ràng hơn

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

Chúng ta có thể thay đổi hình dạng đường cong B-spline bằng cách:

Thay đổi kiểu vecto nút : đều tuần hoàn, mở, không đều Thay đổi cấp k của đường cong

Thay đổi số đỉnh và vị trí các đỉnh đa giác kiểm soát

Sử dụng các điểm kiểm soát trùng nhau

Non-uniform Rational B-Splines(NURBS)

The last 3 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 w i defines a weight function If w iis set to 1 we get back the

non-uniform B-Spline Other values of the w ican be used to produce curves for straight

line, parabola, ellipse and hyperbola

Other Splines:

NURBS, etc.

There are any number of other types of splines

– Often we want a very general type of curve that will do 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 function is 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 tracing is 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 do ray tracing efficiently, we must be able to test quickly whether a particular ray hits a particular object and, if so, where.

– Types of surfaces in which this test can be done quickly will be more useful in 3-D graphics.

Trang 7

Khoa CNTT DHBK Hanoi

37

Ngày đăng: 12/11/2015, 21:24

TỪ KHÓA LIÊN QUAN

w