Computer aided ship design Computer aided ship design
Part 1. Curve & Surface Part 1. Curve & Surface
[2008][03-2]
Computer aided ship design Computer aided ship design
Part 1. Curve & Surface Part 1. Curve & Surface
September 2008
Prof. Kyu-Yeul Lee
Geometrical Meaning of Geometrical Meaning of the de Boor Algorithm
the de Boor Algorithm
Geometrical Meaning of the de Boor Algorithm(1) Geometrical Meaning of the de Boor Algorithm(1)
d
2d
3d
4d
5D
2D
3D
4 3D D
4D
5D
4D
5D
6D
2D
3D
4D
5D
61
d
31
d
41
d
5d
1d
6( ) ( ) ( ) u
u u
u u u
u u
u
u u
iki k n i k i
i i k n i
k n k i
i
1 1 1 1
1 1
- - -
+ - -
- - -
+ - +
- + -
-
= - d d
d
u
0u
1u
2u
3u
4u
5u
6u
7u
8u
9u
1
= k
D
2D
3D
4D
5D
6d
0d
1d
7¡ Linear Interpolation 비율이 t:(1-t)로 일정했던 de Casteljau algorithm에 비하여 de Boor algorithm에서는 Linear Interpolation 비율이 변한다
¡ 이는 B-spline curve 를 구성하는 Bezier curve segment 의 매개변수 간격이
Geometrical Meaning of the de Boor Algorithm(2) Geometrical Meaning of the de Boor Algorithm(2)
d
2d
3d
4d
5 2d
4D
2D
3D
42
d
5D
3D
4D
5D
4D
5D
6D
2D
3D
4D
5D
61
d
31
d
41
d
5d
1d
6( ) ( ) ( ) u
u u
u u u
u u
u
u u
iki k n i k i
i i k n i
k n k i
i
1 1 1 1
1 1
- - -
+ - -
- - -
+ - +
- + -
-
= - d d
d
Computer Aided Ship Design 2008
Computer Aided Ship Design 2008 –– PART I: Curve & SurfacePART I: Curve & Surface
)
4( )
( )
( )
( )
( u d 0 N 0 3 u d 1 N 1 3 u d 2 N 2 3 u d n N n 3 u
r = + + + × × × +
u
0u
1u
2u
3u
4u
5u
6u
7u
8u
9u
1
= k
2
= k
D
2D
3D
4D
5D
6d
0d
1d
7Geometrical Meaning of the de Boor Algorithm(3) Geometrical Meaning of the de Boor Algorithm(3)
d
2d
3d
4d
5 2d
43
d
5D
2D
3D
42
d
5D
3D
4D
5D
4D
5D
6D
2D
3D
4D
5D
61
d
31
d
41
d
5d
1d
6( ) ( ) ( ) u
u u
u u u
u u
u
u u
iki k n i k i
i i k n i
k n k i
i
1 1 1 1
1 1
- - -
+ - -
- - -
+ - +
- + -
-
= - d d
d
u
0u
1u
2u
3u
4u
5u
6u
7u
8u
9u
1
= k
2
= k
3
= k
D
2D
3D
4D
5D
6d
0d
1d
7Geometrical Meaning of the de Boor Algorithm(3) Geometrical Meaning of the de Boor Algorithm(3)
d
2d
3d
4d
5 2d
43
d
5D
2D
3D
42
d
5D
3D
4D
5D
4D
5D
6D
2D
3D
4D
5D
61
d
31
d
41
d
5d
1d
6( ) ( ) ( ) u
u u
u u u
u u
u
u u
iki k n i k i
i i k n i
k n k i
i
1 1 1 1
1 1
- - -
+ - -
- - -
+ - +
- + -
-
= - d d
d
Computer Aided Ship Design 2008
Computer Aided Ship Design 2008 –– PART I: Curve & SurfacePART I: Curve & Surface
)
6( )
( )
( )
( )
( u d 0 N 0 3 u d 1 N 1 3 u d 2 N 2 3 u d n N n 3 u
r = + + + × × × +
u
0u
1u
2u
3u
4u
5u
6u
7u
8u
9u
1
= k
2
= k
3
= k
D
2D
3D
4D
5D
6d
0d
1d
7Relationship between Relationship between de Boor algorithm & B
de Boor algorithm & B--spline spline curves curves
¡ de Boor 알고리즘 : “Constructive Approach”
Input: d
i(de Boor Points)
Processor: 구간별로 d
i를 n 번 순차적 ‘linear interpolation’
Output : n 차 곡선상의 점
à ‘ B-spline function’(Cox-de Boor recurrence formula)
형태로 표현 됨
) ( )
( )
( )
( )
( u d 0 N 0 3 u d 1 N 1 3 u d 2 N 2 3 u d n N n 3 u
r = + + + × × × +
¡ de Boor 알고리즘 : “Constructive Approach”
Input: d
i(de Boor Points)
Processor: 구간별로 d
i를 n 번 순차적 ‘linear interpolation’
Output : n 차 곡선상의 점
à ‘ B-spline function’(Cox-de Boor recurrence formula)
형태로 표현 됨
Relationship between Relationship between de Boor algorithm & B
de Boor algorithm & B--spline spline curves curves
¡ de Boor 알고리즘 : “Constructive Approach”
Input: d i (de Boor Points)
Processor: 구간별로 d i 를 n 번 순차적 ‘ linear interpolation’
Output : n 차 곡선상의 점
à ‘ B-spline function’(Cox-de Boor recurrence formula)
형태로 표현 됨
¡ B-spline 곡선식: “B-spline function evaluation Approach”
Input: d i (de Boor Points)
Processor: 공간 상의 점 d i 와 B-spline function 을 “ blending” 하여
함수 값을 계산하면 곡선상의 점을 구할 수 있음
Output: B-spline function 과 d i 의 혼합 함수 형태로 표현
Computer Aided Ship Design 2008
Computer Aided Ship Design 2008 –– PART I: Curve & SurfacePART I: Curve & Surface
8
¡ de Boor 알고리즘 : “Constructive Approach”
Input: d i (de Boor Points)
Processor: 구간별로 d i 를 n 번 순차적 ‘ linear interpolation’
Output : n 차 곡선상의 점
à ‘ B-spline function’(Cox-de Boor recurrence formula)
형태로 표현 됨
¡ B-spline 곡선식: “B-spline function evaluation Approach”
Input: d i (de Boor Points)
Processor: 공간 상의 점 d i 와 B-spline function 을 “ blending” 하여
함수 값을 계산하면 곡선상의 점을 구할 수 있음
Output: B-spline function 과 d i 의 혼합 함수 형태로 표현
Bezier Curve and B
Bezier Curve and B--Spline Spline Curve Curve
항목 Bezier Curve B-Spline Curve
Make Curve
Given
Bezier Control Point b
iParameter t
Bernstein Polynomial Func.
B-Spline Control Point d
iParameter u
B-Spline Basis Func.
Find Bezier Curve r(t) B-Spline Curve r(u) Bernstein Polynomial Function B-Spline Basis Function
(Cox-de boor Recursive Formula)
).
( ...
) ( )
( )
(t b0B0n t b1B1n t bnBnn t
r = + + + r(u)=d0N03(u)+d1N13(u)+d2N23(u)+×××+dD-1ND3-1(u)
else 0
if ï î
ï í
ì £ £
= -
÷÷ = ø ö çç è æ
÷÷ - ø ö çç è
= æ
-n i i
n i
n i C
n
t i t
t n B
i n
i n i
n i
)! 0 (
!
! , ) 1 ( )
(
) (t
B
inN
in(u )
-
B-Spline Basis Function
(Cox-de boor Recursive Formula)
Constructive Approach
de Casteljau Algorithm de Boor Algorithm
Inter- Given Points on Curve: p , p , … , p Points on Curve: p , p , … , p
) ( )
( )
(
1 111 1
1
N u
u u
u u u
u N u
u u u
N
ini n i
n n i
i i n i n i
i
- + +
- + - - +
-
- + -
-
= -
î í
ì £ <
=
-else
if 0 ) 1
(
10 i i
i
u u u u
N å
-
=
=
1 0
1 ) ( ,
D i
n i
u N
( ) ( = 1 - )
ik-1+
ki+-11k
i
t t b t b
b ( ) ( ) ( ) u
u u
u u u
u u
u
u u
iki k n i k i
i i k n i
k n k i
i
1 1 1 1
1 1
- - -
+ - -
- - -
+ - +
- + -
-
= - d d
d
else 0
if ï î
ï í
ì £ £
= -
÷÷ = ø ö çç è æ
÷÷ - ø ö çç è
= æ
-n i i
n i
n i C
n
t i t
t n B
i n
i n i
n i
)! 0 (
!
! , ) 1 ( )
(
Example of
de Boor Algorithm
Example : de Boor Algorithm
– Given problem
( )
x u
0 0
Given: , Find:
i i
i
V u x
6 5 4 3 9 2
8 0 7
7
6 5
4 3
8 2 7 0 6
6
6 5 4
3 7 2
6 0 5
5
5 4 3
6 2 5 0 4
4
4 3 5 2
4 0 3
3
3 2 3
2 4 2
3 0 2
2
2 3 2
2 0 1
1
2 1 0 0
0
3
3
2 3
3 3
3 3
3
2 3
3 3
3
3 2 3
3 3
3 2 3
3
3 2 3
) (
0 3
3 3
0 0 3
3 0 0 0 0 3
D + D + D + D + D + =
= +
D
´ + D
´ + D
´ + D
´ + D
= ´ +
= +
D + D
´ + D
´ + D
´ + D
= ´ +
= +
D + D
´ + D
´ + D
= ´ +
= +
D + D
´ + D
= ´ +
= +
D + D
= ´ D + D + D
= + +
= +
= D D +
= + +
= +
+ =
= + +
= +
u u u
u u u
u u u
u u u
u u u
u u u
u u u
u u u
x x x x x x x x
0
V
00
V
1V
200
V
30
V
40
V
5V
600
V
7u
3u
4u
6D
2D
3D
4u
6 5 4 3 9 2
8 0 7
7
6 5
4 3
8 2 7 0 6
6
6 5 4
3 7 2
6 0 5
5
5 4 3
6 2 5 0 4
4
4 3 5 2
4 0 3
3
3 2 3
2 4 2
3 0 2
2
2 3 2
2 0 1
1
2 1 0 0
0
3
3
2 3
3 3
3 3
3
2 3
3 3
3
3 2 3
3 3
3 2 3
3
3 2 3
) (
0 3
3 3
0 0 3
3 0 0 0 0 3
D + D + D + D + D + =
= +
D
´ + D
´ + D
´ + D
´ + D
= ´ +
= +
D + D
´ + D
´ + D
´ + D
= ´ +
= +
D + D
´ + D
´ + D
= ´ +
= +
D + D
´ + D
= ´ +
= +
D + D
= ´ D + D + D
= + +
= +
= D D +
= + +
= +
+ =
= + +
= +
u u u
u u u
u u u
u u u
u u u
u u u
u u u
u u u
x x x x x x x x
u
0u
12u
0
x
0 0V
0u
5D
5u
7u
8u
9D
60
V
7 0x
1x
20x
30x
40x
50x
60x
70Example : de Boor Algorithm
– 1 st Knot Insertion
( )
x u
0
V
00
V
1V
200
V
30
V
40
V
5V
600
V
7D
2D3
D
4D
4D3
D5
D4
D5
D6
0 1 2 0
0
2 2 0
1 2 3
1
4 2 2 3 2 3 0
2 3
2
2 3
3 1 0
1 1
1 2
4
2 3 4
4 5
2 3 4 5
5 6
5 6 7
1 3
1 4
1 5
1 6
0 0 0
3 3 0
0 0
3 3 3
0 ( ) 2
3 3 3
3 2
3 3
3 3
3 3
3 3 2
3 3
ˆ
3 ˆ
ˆ
3
u u u
u u u
u u u
u u u
u u u u u
u
u u u
x
xx x x
x
x
x
d
x
x
d
d
+ + + +
= = = =
+ + + + D D
= = = =
+ + + D + D + D ´ D + D
= = = =
+ + ´ D + ´ D +
= =
+ + ´ D + ´ D + D +
= =
+ + ´ D + ´ D + ´ D + D +
= =
+ + ´
= = 2 3 4 5 6 50
2 3 4 5 6 0
6 7 8
6
0
7 8 9
2 3 4 5 6 7
1 7
1 8
3 3 2
3
3 3 3 3 2
3 3
3
u u u
u u u
x x
x x x
D + ´ D + ´ D + ´ D + D
= + + ´ D + ´ D + ´ D + ´ D + ´ D
= = =
+ +
= = D + D + D + D + D =
1
V
31
V
4 1V
5Computer Aided Ship Design 2008
Computer Aided Ship Design 2008 –– PART I: Curve & SurfacePART I: Curve & Surface
12
u
3u
4u
6D
2D
3D
4u
u
0u
12u
0
x
0 0V
0u
5D
5u
7u
8u
9D
60
V
7 0x
1x
20x
30x
40x
50x
60x
701
= k
u ˆ
d - D
4d
1
x
3x
41x
510 1 2 0
0
2 2 0
1 2 3
1
4 2 2 3 2 3 0
2 3
2
2 3
3 1 0
1 1
1 2
4
2 3 4
4 5
2 3 4 5
5 6
5 6 7
1 3
1 4
1 5
1 6
0 0 0
3 3 0
0 0
3 3 3
0 ( ) 2
3 3 3
3 2
3 3
3 3
3 3
3 3 2
3 3
ˆ
3 ˆ
ˆ
3
u u u
u u u
u u u
u u u
u u u u u
u
u u u
x
xx x x
x
x
x
d
x
x
d
d
+ + + +
= = = =
+ + + + D D
= = = =
+ + + D + D + D ´ D + D
= = = =
+ + ´ D + ´ D +
= =
+ + ´ D + ´ D + D +
= =
+ + ´ D + ´ D + ´ D + D +
= =
+ + ´
= = 2 3 4 5 6 50
2 3 4 5 6 0
6 7 8
6
0
7 8 9
2 3 4 5 6 7
1 7
1 8
3 3 2
3
3 3 3 3 2
3 3
3
u u u
u u u
x x
x x x
D + ´ D + ´ D + ´ D + D
= + + ´ D + ´ D + ´ D + ´ D + ´ D
= = =
+ +
= = D + D + D + D + D =
Example : de Boor Algorithm
– 1 st Knot Insertion
( )
x u
0
V
00
V
1V
200
V
3 1V
3D
2D3
D
4 0 2 3 42
0 3 4 5
1 3 3
2 3
ˆ
3 3 3
u u u
u u u
u u u
x
x x
+ + ì =
ï
ï + +
ï = í ï
+ + ï =
ï î
1 1 1 1
3 3 3 3
0 0 0 0
2
:
3 2:
3V V V V = x x x x
0 0
0 0
3 1
2
1 1
1 3 3
0 0 0 0 3
3 2 3 2
V
3x x V x x V
x x x x
- -
= +
- -
0 0
5 2
2 2 1
3 3
5 5 2
ˆ ˆ
u u
V V
u u u
u u
V - u -
= +
- -
u
3u
4u
6D
2D
3D
4u
u
0u
12u
0
x
0 0V
0u
5D
5u
7D
6 0x
1x
20x
301
= k
u ˆ
d - D
4d
1
x
3x
410 2 3 4
2
0 3 4 5
1 3 3
2 3
ˆ
3 3 3
u u u
u u u
u u u
x
x x
+ + ì =
ï
ï + +
ï = í ï
+ + ï =
ï î
를 잇는 선분을 내분한 점은 Δ 2 : Δ 3 : Δ 4 로 내분한 선분상에 Δ 구간에 위치한다
1 1 1
1
1 1
( ) ( ) ( )
k i n k k - i k -
i i i
i n k i i n k i
u u u u
V u V u V u
u u u u
+ - -
-
+ - - + - -
- -
= +
- -
de Boor algorithm
0 0
2
,
3V V
0 0
5 2
2 2 1
3 3
5 5 2
ˆ ˆ
u u
V V
u u u
u u
V - u -
= +
- -
( 아래의 식에서 i=3, n=3, k=1 인 경우 )
Example : de Boor Algorithm
– 2 nd Knot Insertion
( )
x u
0
V
00
V
1V
200
V
30
V
40
V
5V
600
V
7 1V
31
V
4 1V
5D
4D3
D4
D5
0 1 2 0
0
2 2 0
1 2 3
1
4 2 2 3 2 3 0
2 3
2
2 3
3 2 0
2 1
2 2
2 3
4
2 3
4
2 2
4
2 5 3 4
5 6
1
5
3
2 6
0 0 0
3 3 0
0 0
3 3 3
0 ( ) 2
3 3 3
3 2
3 3
3 3 2
3 3
ˆ ˆ ˆ ˆ ˆ ˆ
3 3 2
3 3
3 3
u u u u
u u u
u u u
u u u
u u u
u
u
uu
u x
x x x x x x
d d
d x x
x
x
+ + + +
= = = =
+ + + + D D
= = = =
+ + + D + D + D ´ D + D
= = = =
+ + ´ D + ´ D +
= = =
+ + ´ D + ´ D + ´
= =
+ + ´ D + ´ D + D + ´
= =
+ + ´
= =
2 3 4 52 3 4 5 6 0
5 6 7
5
2 3 4 5 6 0
2 7
2 8
2 9
6 7 8
6
0
7 8 9
2 5
5
6
1
3 4 7
3 2
3
3 3 3 2
3 3
3 3 3 3 2
3 3
3
u u u
u u u
u u u
d
x x x
x x
x
x
D + ´ D + ´ D + D +
= + + ´ D + ´ D + ´ D + ´ D + D
= = =
+ + ´ D + ´ D + ´ D + ´ D + ´ D
= = =
+ +
= = D + D + D + D + D =
2
V
42
V
5Computer Aided Ship Design 2008
Computer Aided Ship Design 2008 –– PART I: Curve & SurfacePART I: Curve & Surface
14
u
3u
4u
6D
2D
3D
4u
u
0u
12u
0
x
0 0V
0u
5D
5u
7u
8u
9D
60
V
7 0x
1x
20x
30x
40x
50x
60x
701
= k
u ˆ
d - D
4d
1
x
3x
41x
512
= k
2
x
4x
52u ˆ
0 1 2 0
0
2 2 0
1 2 3
1
4 2 2 3 2 3 0
2 3
2
2 3
3 2 0
2 1
2 2
2 3
4
2 3
4
2 2
4
2 5 3 4
5 6
1
5
3
2 6
0 0 0
3 3 0
0 0
3 3 3
0 ( ) 2
3 3 3
3 2
3 3
3 3 2
3 3
ˆ ˆ ˆ ˆ ˆ ˆ
3 3 2
3 3
3 3
u u u u
u u u
u u u
u u u
u u u
u
u
uu
u x
x x x x x x
d d
d x x
x
x
+ + + +
= = = =
+ + + + D D
= = = =
+ + + D + D + D ´ D + D
= = = =
+ + ´ D + ´ D +
= = =
+ + ´ D + ´ D + ´
= =
+ + ´ D + ´ D + D + ´
= =
+ + ´
= =
2 3 4 52 3 4 5 6 0
5 6 7
5
2 3 4 5 6 0
2 7
2 8
2 9
6 7 8
6
0
7 8 9
2 5
5
6
1
3 4 7
3 2
3
3 3 3 2
3 3
3 3 3 3 2
3 3
3
u u u
u u u
u u u
d
x x x
x x
x
x
D + ´ D + ´ D + D +
= + + ´ D + ´ D + ´ D + ´ D + D
= = =
+ + ´ D + ´ D + ´ D + ´ D + ´ D
= = =
+ +
= = D + D + D + D + D =
Example : de Boor Algorithm
– 2 nd Knot Insertion
( )
x u
0
V
00
V
1V
200
V
30
V
41
V
31
V
4 1V
5D
4D3
2 2 2 2
4 4 4 4
1 1 1 1
3
:
4 3:
4V V V V = x x x x
1 1
1 3 1
4
3 2 2
2 4
1 1 1 1 4
4 3 4
4
3
4
V V
V x x
x x x
x x x
-
= - +
- -
1 1
3
5 3
5 3 5 3
2
4 4
ˆ ˆ
u u
V u u
u u u V
V u
- -
= +
- -
3 4
4 5
1 3
1
2 4
4 4
ˆ ˆ
3 ˆ 3
ˆ 3 u u
u u u
u
u
u u x
x x
+ + ì =
ï
ï + +
ï = í ï
+ + ï =
ï î
2
V
4u
3u
4u
6D
2D
3D
4u
u
0u
12u
0
x
0 0V
0u
5D
5u
7u
8u
9D
6 0x
1x
20x
301
= k
u ˆ
d - D
4d
1
x
3x
412
x
4u ˆ
1 1
3
5 3
5 3 5 3
2
4 4
ˆ ˆ
u u
V u u
u u u V
V u
- -
= +
- -
( 아래의 식에서 i=4, n=3, k=2 인 경우 )
3 4
4 5
1 3
1
2 4
4 4
ˆ ˆ
3 ˆ 3
ˆ 3 u u
u u u
u
u
u u x
x x
+ + ì =
ï
ï + +
ï = í ï
+ + ï =
ï î
를 잇는 선분을 내분한 점은 Δ 2 : Δ 3 : Δ 로 내분한
1 1 1
1
1 1
( ) ( ) ( )
k i n k k - i k -
i i i
i n k i i n k i
u u u u
V u V u V u
u u u u
+ - -
-
+ - - + - -
- -
= +
- -
de Boor algorithm
1 1
3
,
4V V
Example : de Boor Algorithm
– 2 nd Knot Insertion
( )
x u
0
V
00
V
1V
200
V
30
V
40
V
5V
600
V
7 1V
31
V
4 1V
5 2V
42
V
5 3V
50 1 2 0
0
2 2 0
1 2 3
1
4 2 2 3 2 3 0
2 3
2
2 3
3 3 0
3 1
3 2
3 3
4
2 3
4
2 3
1 3
5
2 4 3
4
3 5
3 6
0 0 0
3 3 0
0 0
3 3 3
0 ( ) 2
3 3 3
ˆ 3 2
3 3
ˆ ˆ 3 3 2
3 3
ˆ ˆ ˆ 3 3 3
3 3
ˆ ˆ 3
3
u u u
u u u
u u u
u u u
u u u u u u u u u x
x x
x x x
x
x d
d x
x x x
d
+ + + +
= = = =
+ + + + D D
= = = =
+ + + D + D + D ´ D + D
= = = =
+ + ´ D + ´ D +
= = =
+ + ´ D + ´ D + ´
= = =
+ + ´ D + ´ D + ´
= =
+ +
= =
2 3 42 3 4 5
5 6
2 3 4 5 6 0
5 6 7
5
2 3 4 5
3 7
3 8
3 9
6 0
6 7 8
6
7 8 9 0
2 3
2
4
1 5
3
10 6 7
5
5
3 2
3
ˆ 3 3 2
3 3
3 3 3 2
3 3
3 3 3 3 2
3 3
3 u u u
u u u
u u u
u u u
x x
x x x
d d
x x
x x
´ D + ´ D + D + ´
= + + ´ D + ´ D + ´ D + D +
= = =
+ + ´ D + ´ D + ´ D + ´ D + D
= = =
+ + ´ D + ´ D + ´ D + ´ D + ´ D
= = =
+ +
= = D + D + D + D + D =
Computer Aided Ship Design 2008
Computer Aided Ship Design 2008 –– PART I: Curve & SurfacePART I: Curve & Surface
16
u
3u
4u
6D
2D
3D
4u
u
0u
12u
0
x
0 0V
0u
5D
5u
7u
8u
9D
60
V
7 0x
1x
20x
30x
40x
50x
60x
701
= k
u ˆ
d - D
4d
1
x
3x
41x
512
= k
2
x
4x
52u ˆ
3
x
5u ˆ
3
= k
0 1 2 0
0
2 2 0
1 2 3
1
4 2 2 3 2 3 0
2 3
2
2 3
3 3 0
3 1
3 2
3 3
4
2 3
4
2 3
1 3
5
2 4 3
4
3 5
3 6
0 0 0
3 3 0
0 0
3 3 3
0 ( ) 2
3 3 3
ˆ 3 2
3 3
ˆ ˆ 3 3 2
3 3
ˆ ˆ ˆ 3 3 3
3 3
ˆ ˆ 3
3
u u u
u u u
u u u
u u u
u u u u u u u u u x
x x
x x x
x
x d
d x
x x x
d
+ + + +
= = = =
+ + + + D D
= = = =
+ + + D + D + D ´ D + D
= = = =
+ + ´ D + ´ D +
= = =
+ + ´ D + ´ D + ´
= = =
+ + ´ D + ´ D + ´
= =
+ +
= =
2 3 42 3 4 5
5 6
2 3 4 5 6 0
5 6 7
5
2 3 4 5
3 7
3 8
3 9
6 0
6 7 8
6
7 8 9 0
2 3
2
4
1 5
3
10 6 7
5
5
3 2
3
ˆ 3 3 2
3 3
3 3 3 2
3 3
3 3 3 3 2
3 3
3 u u u
u u u
u u u
u u u
x x
x x x
d d
x x
x x
´ D + ´ D + D + ´
= + + ´ D + ´ D + ´ D + D +
= = =
+ + ´ D + ´ D + ´ D + ´ D + D
= = =
+ + ´ D + ´ D + ´ D + ´ D + ´ D
= = =
+ +
= = D + D + D + D + D =
Example:
Example:
n
n--th th B B--Spline Spline function function 으로부터 으로부터 n
n--th th Bezier function Bezier function 찾기 찾기
) (u y
0
V
00
V
10
V
20
V
30
V
4 1V
21
V
30
3
D
03
D
03
D
13
D
13
D
13 D
n
n--th th B B--Spline Spline function function 으로부터 으로부터 n n--th th Bezier function Bezier function 찾기 찾기
-- 원래 원래 knot knot 위치에 위치에 n n 번 번 knot knot 중첩 중첩
D
0D
1D
1D
0Computer Aided Ship Design 2008
Computer Aided Ship Design 2008 –– PART I: Curve & SurfacePART I: Curve & Surface
18
u
0
x
0x
10x
20x
30x
40u0 u1 u2
u3 u4
u5 u6
1
x
2x
31u4
u5 u6 u7
D
1D
0 03
D
03
D
03
D
13
D
13
D
13 D
0 1 2 0
2 0
1
0
3
u u u
x = + + = u = x
1 2 3 3 2
2 1
1 1
0 0 2
3 3
3
u u u u u
u u
x
x
+ + -
= = +
= + D =
2 3 2 3
3 2 0
3 2
3
1 4
2
3 3
3 3
u u u u
u u
u u u
x = + + = + =
- D
= - = -
3 5 5
3
1 0
1 4 4
3
3 3
3
u u u u u
x = + + = u + -
= D + D
1 4 4
4
4
5 6 5
5
0
5 1
5 5 3
3 3
3 3
u u u u
u u u
u
u u
x
x = + + = - -
- D
= - = - =
5 6 7 0
5 4
1
5
3
u u u
x = + + = u = x
) (u y
0
V
00
V
10
V
20
V
30
V
4 1V
21
V
30
3
D
03
D
03
D
13
D
13
D
13 D
n
n--th th B B--Spline Spline function function 으로부터 으로부터 n n--th th Bezier function Bezier function 찾기 찾기
-- 원래 원래 knot knot 위치에 위치에 n n 번 번 knot knot 중첩 중첩
2
V
3D
0D
1D
1D
0D
0D
1u
0
x
0x
10x
20x
30x
40u0 u1 u2
u3 u4
u5 u6
1
x
2x
31u4
u5 u6 u7
D
1D
0 03
D
03
D
03
D
13
D
13
D
13 D
u5
u6 u7 u8
2
x
30 1 2 0
2 0
2
0
3
u u u
x = + + = u = x
1 2 3 3 2
2 2
1
3 3
u u u u u
x = + + = u + - D
2 3 2 3
3 2
2
3
1 2 2
4
0 3
2
3 3
3 3
u u u u
u u u
u
u x
x = + + = +
- D
= - = - =
u + u + u
2 4 5
4
5 4
6
1 0
1 3 6
3 3
3
u u u u u u
x
x
+ + -
= = +
= D + D =
6 7 6
6
5 5
5
2
u u u u
u u
x = + + = - -
6 7 8
0 4 2
6
3
u u u
x x
+ +
=
=
) (u y
0
V
0n
n--th th B B--Spline Spline function function 으로부터 으로부터 n n--th th Bezier function Bezier function 찾기 찾기
-- 원래 원래 knot knot 위치에 위치에 n n 번 번 knot knot 중첩 중첩
0
V
10
V
20
V
30
V
4 1V
21
V
30
3
D
03
D
03
D
13
D
13
D
13 D
2
V
3D
0D
1D
1D
0D
0D
10
V
00
V
11
V
2 2V V
3321
V
30
V
30
V
4Computer Aided Ship Design 2008
Computer Aided Ship Design 2008 –– PART I: Curve & SurfacePART I: Curve & Surface
20
u
0
x
0x
10x
20x
30x
40u0 u1 u2
u3 u4
u5 u6
1
x
2x
31u4
u5 u6 u7
D
1D
0 03
D
03
D
03
D
13
D
13
D
13 D
u5
u6 u7 u8
2
x
31개의 B-Spline Function 1개의 B-Spline Function
2 개의 Bezier Function 으로 나누어짐
2 개의 Bezier Function 으로 나누어짐
u
3위치에 knot 를 차수(=3)만큼 중첩
분홍색 function: 를 y-control ordinate로 하는 Bezier Function
분홍색 function: 를 y-control ordinate로 하는 Bezier Function
0 0 1 2
0
,
1,
2,
3V V V V
녹색 function: 를 y-control ordinate로 하는 Bezier Function
녹색 function: 를 y-control ordinate로 하는 Bezier Function
2 1 0 0
3
,
3,
3,
4V V V V
Example
Example
Example: Knot Insertion of Bezier Curve Example: Knot Insertion of Bezier Curve
-- Knot Insertion #1 Knot Insertion #1
u
0 1
1 2
knot Insertion 1 knot Insertion 1
÷÷ø ö ççè æ 2 1
÷ ÷ ø ö ç ç è æ 3
÷÷ 4 ø ö çç è æ 4 2
÷÷ ø ö çç è æ 1
5
1 2 3 4 5
) (u y
0
b
00
b
10
b
20
b
3 1b
2 1b
11
b
3 10
1