• 검색 결과가 없습니다.

서울대학교 조선해양공학과

N/A
N/A
Protected

Academic year: 2022

Share "서울대학교 조선해양공학과"

Copied!
196
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

전산 전산 선박 선박 설계 설계 Part 2.

Part 2. 곡선 곡선 , , 곡면 곡면

2006.9.

서울대학교 조선해양공학과

(2)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

2/196

목 목 차 차

Ch1. 학습 목표

y 주어진 점을 지나는 곡선/곡면 생성방법 습득 Æ 선박 형상 곡면 생성

Ch2. 곡선(Curve)

2.1 Parametric function/curves

2.2 Bezier curves (de Casteljau algorithm)

2.3 B-spline curves (de Boor algorithm, C1 C2 continuity)

Ch3. 곡면(Surface)

3.1 Parametric surfaces

3.2 Tensor product Bezier surfaces 3.3 Tensor product B-spline surfaces 3.4 B-spline surface interpolation

Ch4. 과제(Term Project)

y 선박의 Offset data로부터 선박 형상 B-spline 곡면 생성 및 가시화

(3)

Ch1.

Ch1. 학습목표 학습목표

1.1 주어진 점을 지나는 곡선 만들기

(4)

1.1 1.1 주어진 주어진 점을 점을 지나는 지나는 곡선 곡선 만들기 만들기

1.1.1 함수/곡선의 다항식 표현 1.1.2 3차 Bezier 곡선 보간

1.1.3 3차 B-spline 곡선 보간

1.1.4 선형 표현을 위한 주요 곡선 – Section line

1.1.5 선형 표현을 위한 주요 곡선 – Water line 생성

(5)

1.1.1

1.1.1 함수 함수 / / 곡선의 곡선의 다항식 다항식 표현 표현

ƒ Given :

ƒ Find : cubic polynomial function

[ ]

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

= +

+ +

=

3 2 3

3 2

2 1

0

1 )

(

t t t t

t t

t a a a a a a a a

r

0 1 2 3

The monomial form :

a

3

a a

a

0

,

1

,

2

,

) (t r

The Bezier form :

3 3

3 2

3 2 1

3 1 0

3 0

3 3 2 2 1

2 0

3

) ( )

( )

( )

(

) 1 ( 3 )

1 ( 3 )

1 ( ) (

b b

b b

b b

b b

r

t B t

B t

B t

B

t t

t t

t t

t

+ +

+

=

+

− +

− +

=

[ ] [ ]

-1

3 2

1 0

3 2

1

0

b b b a a a a

b

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

= 0 0 3 3

3 6

3 0

1 3

3 1

[ ]

=

(t) (t) (t) (t) b

b b

b

0 1 2 3

3 3

3 2 3 1

3 0

B

B

B

B

(6)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

6/196

1.1.2 3

1.1.2 3 차 차 Bezier Bezier 곡선 곡선 보간방법 보간방법 (1) (1)

ƒ If we are given fitting points P

i

and we wish to pass a curve through them. There, the points are 2D, but the curve might as well be 3D.

This is called “curve interpolation”.

p 1

p 3 p 2

p 0

ƒ We may choose among many kinds of curves; for right now, we will use a cubic Bezier curve.

Æ “cubic Bezier curve interpolation”

) (t r

3 3

3 2

3 2 1

3 1 0

3

0

( ) ( ) ( ) ( )

)

( b b b b

r t = B t + B t + B t + B t

ƒ Given parameter t

i

corresponding to P

i

, we want a cubic Bezier curve such that:

. 3 , 2 , 1 , 0

; )

( t i = p i i =

r

(7)

1.1.2 3

1.1.2 3 차 차 Bezier Bezier 곡선 곡선 보간방법 보간방법 (2) (2)

ƒ The cubic Bezier curve of the form:

ƒ All interpolation conditions are:

. ) ( )

( )

( )

( )

(

03

b

0 13

b

1 23

b

2 33

b

3

r t = B t + B t + B t + B t

. ) ( )

( )

( )

(

, )

( )

( )

( )

(

, ) ( )

( )

( )

(

, )

( )

( )

( )

(

3 3 3

3 2

3 3 2 1

3 3 1 0

3 3 0 3

3 3 2

3 2

3 2 2 1

3 2 1 0

3 2 0 2

3 3 1

3 2

3 1 2 1

3 1 1 0

3 1 0 1

3 3 0

3 2

3 0 2 1

3 0 1 0

3 0 0 0

b b

b b

p

b b

b b

p

b b

b b

p

b b

b b

p

t B t

B t

B t

B

t B t

B t

B t

B

t B t

B t

B t

B

t B t

B t

B t

B

+ +

+

=

+ +

+

=

+ +

+

=

+ +

+

=

4 Unknown Vectors, 4 Vector Equations

(8)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

8/196

1.1.2 3

1.1.2 3 차 차 Bezier Bezier 곡선 곡선 보간방법 보간방법 (3) (3)

ƒ To find the solution of these four equations for four unknowns, we can write in matrix form:

ƒ To abbreviate the above form as:

ƒ The solution is:

ƒ Although it is looks like the solution to one linear system but it is the two or three systems depending on the dimensionality of the .

. )

( )

( )

( )

(

) ( )

( )

( )

(

) ( )

( )

( )

(

) ( )

( )

( )

(

3 2 3 3

3 3 3

2 3 3

1 3 3

0

3 2 3 3 2

2 3 2

1 3 2

0

3 1 3 3 1

2 3 1

1 3 1

0

3 0 3 3 0

2 3 0

1 3 0

0 1

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

=

⎥ ⎥

⎥ ⎥

⎢ ⎢

⎢ ⎢

b b b b

p p p p

1 0

3 2 0

t B t

B t

B t

B

t B t

B t

B t

B

t B

t B t

B t

B

t B

t B t

B t

B

. MB P =

1

P . M B =

p i

[ x y ]

T

or [ x y z ]

T

ex

)

p

0 = 0 0

0 0 0

(9)

1.1.3 3

1.1.3 3 차 차 B B - - spliine spliine 곡선 곡선 보간방법 보간방법

Given:

Find:

곡선 상의 점 pi 곡선의 놋트ui 양끝단의 접선 벡터

곡선 상의 점 pi을 지나고 C2 연속 조건을 만족하는 3차 B-Spline 곡선

(B-Spline 조정점)

p

0

p

1

p

4

p

3

p

2

p

5

가정 : 각 곡선 세그먼트는 3차 Bezier Curve 이다.

u

2

u

3

u

4

u

5

u

6

u

1

u

0

Δ

2

Δ

3

Δ

4

Δ

5

u

7

u

8

u

9

Δ

6

u

-1

u

10

v

0

v

1

v

2

v

3

v

4

v

5

v

6

v

7

u

(10)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

10/196

곡선 부분

직선 부분

직선 부분

호 부분

St. 19.75

St. 15

p

0

p

1

p

2

p

3

p

4

p

5

p

6

p

7

p

8

p

9

p

10

p

11

p

12

p

13

p

14

p

1

p

2

p

3

p

4

1.1.4

1.1.4 선형 선형 표현을 표현을 위한 위한 주요 주요 곡선들 곡선들 - - Section Line Section Line

ƒ 선형 좌표계에서 y-z 평면에 존재하는 곡선을 말하며, 이러한 선형 곡선들이 모여 선도(lines)의 정면도(Body Plan)를 구성

ƒ 보통 선형의 section line은 선박의 길이(LBP)를 20 등분한 station이라는 위치에서 주어지므로 station line이라고도 말함

St. 19.75

St. 1

(11)

1.1.5

1.1.5 선형 선형 표현을 표현을 위한 위한 주요 주요 곡선들 곡선들 - - Water Line Water Line 생성 생성 (1) (1)

St.15 St.19

St.19.75

¨ z = a 평면과 주요 곡선 및 모든 section line들과의 교차 계산을 통해 waterline 생성

z = a

z = a에서의 waterline 생성을 위한 교차점

Z

Y

(12)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

12/196

1.1.5

1.1.5 선형 선형 표현을 표현을 위한 위한 주요 주요 곡선들 곡선들 - - Water Line Water Line 생성 생성 (2) (2)

z = a 위치에서의 모든 교차점들을 NURB 곡선을 이용하여 보간(fitting)

¨ z = a에서의 waterline 생성

z = a 위치에서의 교차점들

section line(station)

원하는z 위치에 대해 위 과정을 반복 수행

Waterline 생성

ª

St.15 St.19

St.19.75

z = a Z

Y

(13)

1.1.5

1.1.5 선형 선형 표현을 표현을 위한 위한 주요 주요 곡선들 곡선들 - - Water Line Water Line 생성 생성 (3) (3)

(14)

1.2 1.2 주어진 주어진 점을 점을 지나는 지나는 곡면 곡면 만들기 만들기

1.2.1 요트 형상의 선박형상곡면 생성

1.2.2 구상선수를 갖는 선박형상곡면 생성

(15)

1.2.1

1.2.1 요트 요트 형상의 형상의 선박형상 선박형상 곡면 곡면 생성 생성 (1) (1)

* 출처 : 서울대 조선해양공학과 2005년 2학년 교과목『 조선해양공학계획』강좌 중에 학생들이 설계한 선형

사각형 패치의 꼭지점 결정

(16)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

16/196

1.2.1

1.2.1 요트 요트 형상의 형상의 선박형상 선박형상 곡면 곡면 생성 생성 (2) (2)

‰ 점들의 x좌표 사이의 거리가 거의 일정하도록 점을 추출한 후 Æ 이 점 data로부터 선형곡면을 생성한 결과

11x11 points

(17)

1.2.2

1.2.2 구상선수를 구상선수를 갖는 갖는 선박형상곡면 선박형상곡면 생성 생성 (1) (1)

선수부

(18)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

18/196

1.2.2

1.2.2 구상선수를 구상선수를 갖는 갖는 선박형상곡면 선박형상곡면 생성 생성 (2) (2)

‰ 주어진 곡선그물망 이외의 보조선을 생성하여 곡선 보간에 적합한 data를 생성한 후, 점 data로부터 선수부 선형곡면을 생성한 결과

왜곡 감소

(19)

Ch 2.

Ch 2. 곡선 곡선 (Curves) (Curves)

2.1 Parametric function/curves 2.2 Bezier Curves

(20)

2.1 Parametric function/

2.1 Parametric function/

curves curves

2.1.1 양함수/음함수/매개변수 함수 2.1.2 매개변수 함수의 특징

2.1.3 일반함수의 매개변수 함수 표현 2.1.4 매개변수 함수의 직관적 표현방법

(21)

2.1.1 Explicit / Implicit / Parametric function 2.1.1 Explicit / Implicit / Parametric function

ƒ Explicit function(양함수식)

y 함수가 y=f(x) 의 형태로 나타내어지면

양함수라고 함

y x가 주어지면 y를 쉽게 구할 수 있음

ƒ Implicit function(음함수식)

y 변수가 x, y 두 개일 때, 함수 f(x, y) = 0 와 같은 형태로 표현되는 식을

음함수라고 함

y 주어진 점이 곡선의 내부 또는 외부, 왼쪽 또는 오른쪽 )에 있는지 판단하기 쉬움

y f(x, y) = 0인 함수를 y에 대해 풀어서 y = f(x)의 형태가 얻어지면 양함수로 변환이 가능함 . 모든 음함수가 양함수로 변환될 수 있는 것은 아님

ƒ Parametric function(매개 변수 함수식)

y 2변수 함수가 매개 변수 t를 이용하여, x = f(t),

y = g(t)로 나타내어지면 이를

매개 변수 함수라고 함

y 즉, 매개 변수 t를 매개로 하여 x와 y를 표현하는 형식

2

) y r

2

x ex = −

0 ) x

2

+ y

2

r

2

= ex

x y

t

(rcost , rsint)

x y

r

( ) ( )

( ) ( ) 0

0 0

0 )

2 2 2

2 2 2

>

− +

<

− +

r r

r

r ex

2

) y r

2

x

ex = ± −

(22)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

22/196

2.1.2

2.1.2 매개변수 매개변수 함수 함수 (Parametric function) (Parametric function) 의 의 특징 특징 (1) (1)

ƒ 일반적인 함수

y 하나의 x 값에 대해 y 값이 두 개이상 나올 수 있음 (multi-value function)

y 미분 계수를 표현하기 어려운 경우가 있음

ƒ 매개 변수 함수

y 하나의 매개 변수 값에 대해 하나의 값만이 나옴

y 미분 계수를 표현하기 쉬움

Ædy/dx를 각 요소별로 나누어서 계산함: dy/dt, dx/dt

x y1

y2

2 2

2 y r

x + =

2 2

2

y r

x + = y = ± r

2

x

2

t r

t y t r

t

x

( ) = cos , ( ) = sin

x y

t

(rcost , rsint)

t dt r

t dy dt r

dx

= − sin ,

= cos

x y

x y

r

r

= ∞

=r

dx

x

dy

,

(23)

2.1.2

2.1.2 매개변수 매개변수 함수 함수 (Parametric function) (Parametric function) 의 의 특징 특징 (2) (2)

ƒ y = f(x)의 양함수식

y 원래의 양함수 곡선을 회전 ,이동 등을 통하여 변형한 후 , 이를 다시 양함수 곡선으로 표현 * 하기 어려움

ƒ f(x, y) = 0의 음함수식

y 곡선 상의 점을 순차적으로 계산할 수 없다

y 차원 확장이 어렵다.

ƒ x = f(t), y = g(t)의 매개 변수식

y 매개 변수를 통해 곡선 상의 점을 순차적으로 계산할 수 있다.

y 차원을 쉽게 확장할 수 있다.

¨ CAD 시스템에서 매개 변수식을 많이 사용하는 이유

*차원확장

(24)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

24/196

ƒ The curve is defined by parametric functions

ƒ If the curve is rotated by 90°,

형상은 변하지 않고, 위치만 변함

⎥ ⎦

⎢ ⎤

= −

⎥ ⎦

⎢ ⎤

2 2

2 t t t

y x

⎥ ⎦

⎢ ⎤

⎡ − +

⎥ =

⎢ ⎤

t

t t

y

x 2 2 2

x y

x y

2.1.2

2.1.2 매개변수 매개변수 함수 함수 (Parametric function) (Parametric function) 의 의 특징 특징 (3) (3)

(25)

2.1.3

2.1.3 일반 일반 함수의 함수의 매개변수 매개변수 함수 함수 표현 표현 (1) (1) 1

2 4

2 32 + +

= x x x

y

1 1.1 1.2 1.3 1.4 1.5 1.6

Given:

x

y

(26)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

26/196

2.1.3

2.1.3 일반 일반 함수의 함수의 매개변수 매개변수 함수 함수 표현 표현 (2) (2) 1

2 4

2 32 + +

= x x x

y

⎥ ⎦

⎢ ⎤

+ +

= −

⎥ ⎦

⎢ ⎤

= ⎡

⎥ ⎦

⎢ ⎤

= ⎡

1 2

4 2

) (

) ) (

(

3 2

t t

t

t t

y t x y

t x r

⎥ ⎦

⎢ ⎤

+

− +

− +

+

− +

− +

= −

⎥ ⎦

⎢ ⎤

= ⎡

⎥ ⎦

⎢ ⎤

= ⎡

3 3 2

2 1

2 0

3

3 3 2

2 1

2 0

3

) 1 ( 3 )

1 ( 3 )

1 (

) 1 ( 3 )

1 ( 3 )

1 ( )

( ) ) (

( t y t t y t t y t y

x t x

t t

x t t

x t t

y t x y

t x r

⎥ ⎦

⎢ ⎤

+

− +

− +

+

− +

− +

= −

⎥ ⎦

⎢ ⎤

+ +

3 0 2 1 2 2 3 3

3 3 2

2 1

2 0

3 2

3

( 1 ) 3 ( 1 ) 3 ( 1 )

) 1

( 3 )

1 ( 3 )

1 ( 1

2 4

2 t y t t y t t y t y

x t x

t t

x t t

x t t

t t

t

• 이러한 함수식과

계수 2, -4, 2, 1 으로는

그래프의 모양을 “직관적”으로 예상하기 어려움

• 함수식을 아래와 같은 형태로

표현할 수 있다면

(27)

2.1.3

2.1.3 일반 일반 함수의 함수의 매개변수 매개변수 함수 함수 표현 표현 (3) (3)

t x

t x

t t

x t t

x

t + − + − + =

− )

3 0

3 ( 1 )

2 1

3

2

( 1 )

2 3 3

1

(

0 3

3

0 3

6 3

1 3

3 0

3 2

1 0

2 1

0

1 0

0

= +

− +

= +

= +

=

x x

x x

x x

x

x x

x

1 3 / 2

3 / 1

0

3 2 1 0

=

=

=

=

x x x x

Linear Precision

n x i

b x i 0 = i =

상수의 계수 :

u의 계수: ¨

u

2

의 계수 :

u

3

의 계수 :

(28)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

28/196

2.1.3

2.1.3 일반 일반 함수의 함수의 매개변수 매개변수 함수 함수 표현 표현 (4) (4)

2 3

3

4 3

6 3

2 3

3 1

3 2

1 0

2 1

0

1 0

0

= +

− +

= +

= +

=

y y

y y

y y

y

y y

y

1 2

4 2

) 1 ( 3 )

1 ( 3 )

1

( − t

3

y

0

+ tt

2

y

1

+ t

2

t y

2

+ t

3

y

3

= t

3

t

2

+ t +

1 1

3 / 5 1

3 2 1 0

=

=

=

=

y y y

상수의 계수 : y

t의 계수: ¨

t2

의 계수 :

t3

의 계수 :

(29)

1.1 1.2 1.3 1.4 1.5 1.6

2.1.3

2.1.3 일반 일반 함수의 함수의 매개변수 매개변수 함수 함수 표현 표현 (5) (5)

⎥ ⎦

⎢ ⎤

⎣ + ⎡

⎥ ⎦

⎢ ⎤

⎣ + ⎡

⎥ ⎦

⎢ ⎤

⎣ + ⎡

⎥ ⎦

⎢ ⎤

= ⎡

⎥ ⎦

⎢ ⎤

⎣ + ⎡

⎥ ⎦

⎢ ⎤

− ⎡

⎥ +

⎢ ⎤

− ⎡

⎥ +

⎢ ⎤

− ⎡

=

⎥ ⎥

⎢ ⎢

⋅ +

− +

− +

⋅ +

− +

− +

= −

⎥ ⎦

⎢ ⎤

+ +

= −

⎥ ⎦

⎢ ⎤

= ⎡

⎥ ⎦

⎢ ⎤

= ⎡

1 ) 1 1 (

) ( )

1 ( ) 0 (

1 1 ) 1

1 ( 3 )

1 ( 1 3

) 0 1

(

1 1

) 1 ( 3 3

) 5 1

( 3 1 ) 1 (

3 1 ) 2 1

( 3 3

) 1 1

( 3 0 ) 1 ( 1

2 4

2 )

( ) ) (

(

3 3 23

3 2 53

13 3

1 3

0

3 3 2 2

53 13 2 3

3 2

2 3

3 2

2 3

2 3

t B t

B t

B t

B

t t

t t

t t

t t

t t

t t

t t

t t

t t

t t

t

t t

y t x y

t x

r

y

• 새로운 함수들에 곱해지는 계수들을 점으로 가시화 하면, 처음 점과 마지막 점은 곡선을 지나고,

• 점들을 직선으로 연결하면, 곡선의 모양과 비슷한

형태임을 알 수 있다.

(30)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

30/196

2.1.3

2.1.3 일반 일반 함수의 함수의 매개변수 매개변수 함수 함수 표현 표현 (6) (6)

매개변수 t를 시각

이라고 생각하면 , r(t)는 어떠한 물체(rigid body)가 이동하는 궤적 (trajectory)을 표현한 것으로 생각할 수 있다.

• 양함수, 음함수 함수식에서는 이동하는 물체의 궤적의 형상만 표현할 수 있지만, 매개변수 함수식으로는 이동하는 물체의 궤적의 형상뿐만 아니라

특정시각 t 에서의 위치 r(t)의 관계

를 함께 살펴볼 수 있다 .

⎥ ⎥

⎢ ⎢

⋅ +

− +

− +

⋅ +

− +

− +

= −

⎥ ⎦

⎢ ⎤

+ +

= −

⎥ ⎦

⎢ ⎤

= ⎡

⎥ ⎦

⎢ ⎤

= ⎡

1 1

) 1 ( 3 3

) 5 1

( 3 1 ) 1 (

3 1 ) 2 1

( 3 3

) 1 1

( 3 0 ) 1 ( 1

2 4

2 )

( ) ) (

(

3 2

2 3

3 2

2 3

2

3

t t t t t t

t t

t t

t t

t t

t

t t

y t x y

t x r

sec t = 0

sec t = 1

sec t = 2

가속도 물체의

속도 물체의

궤적

물체의

r r

r

(

t

): , &(

t

): , &&(

t

):

(31)

2.1.4

2.1.4 매개 매개 변수 변수 함수의 함수의 ‘ ‘ 직관적 직관적 ’ ’ 표현 표현 방법 방법

ƒ For any polynomial degree, on the cubic case

위와 같이 어떠한 함수도 매개 변수 형태로 표현할 수 있음 . 그러나 r(t)가 다항식으로 표현되는 경우는 직관적으로 곡선의 형상을 예상하기 어려움

<문제 제기> 어떻게 하면 함수를 직관적으로 알아 볼 수 있게 표현할 수 있을까?

ƒ The polynomial in terms of a combination of points;

= 3 n

b

b3

b0

b1

⎥ ⎦

⎢ ⎤

+

= −

⎥⎦ ⎤

⎢⎣ ⎡

=

23 3 2

) 1 ( 3 )

1 ( 3

) 1 ) (

( t t t t

t t

y t x

r

3 3 3 2

3 2 1

3 1 0

3 0

3 3 3

2 3

1 3

0

3 2

2 3

2 2

3 3

0 1 1

0 1

0 0

1

0 1 1

) 0 1 ( 1 3

) 0 1 ( 0 3

) 1 (1

) 1 ( 3 )

1 ( 3

) 1 ) (

(

b b

b b

r

B B

B B

B B

B B

t t

t t

t t

t t t

t

t t

y t x

+ +

+

=

⎥ ⎦

⎢ ⎤

⎣ + ⎡

⎥ ⎦

⎢ ⎤

⎡ + −

⎥ ⎦

⎢ ⎤

⎣ + ⎡

⎥ ⎦

⎢ ⎤

= ⎡−

⎥ ⎦

⎢ ⎤

⎣ + ⎡

⎥ ⎦

⎢ ⎤

− −

⎥ +

⎢ ⎤

− ⎡

⎥ +

⎢ ⎤

− ⎡−

=

⎥ ⎥

⎢ ⎢

+

= −

⎥ ⎦

⎢ ⎤

= ⎡

• 시작 조정점과 끝 조정점은 곡선상에 위치하고,

조정점들을

연결한 직선의 곡선의 모양과 비슷한 형상이다

Æ 조정점으로 곡선의 형태를 직관적으로 예상할 수 있음

Æ 프랑스 르노자동차의 엔지니어인 P. Bezier가 1971년 발견

(32)

2.2 Bezier curves 2.2 Bezier curves

2.2.1 Definition & Characteristics of Bezier curves 2.2.2 Degree Elevation/Reduction of Bezier curves 2.2.3 de Casteljau algorithm

2.2.4 Bezier Curve Interpolation / Approximation

(33)

2.2.1 Definition &

2.2.1 Definition &

Characteristics of Characteristics of

Bezier curves Bezier curves

2.2.1.1 Definition of Bezier curves

2.2.1.2 1st Derivatives of Cubic Bezier curves 2.2.1.3 Characteristics of Bezier curves

2.2.1.4 Higher order Bezier curves

2.2.1.5 1st Derivatives of higher order Bezier curves

(34)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

34/196

2.2.1.1 Definition of c

2.2.1.1 Definition of c ubic ubic “ “ Bezier Bezier ” ” c c urves urves

ƒ The cubic Bezier curve is defined by

where, : Bezier control points (bix, biy) or (bix, biy, biz) : cubic Bernstein polynomial

or Bernstein basis function : Bezier curve parameter

b

i

3 3 2

2 1

2 0

3

3 1 3 1

1 )

( ) (

) ( )

( )

( ( ) b ( ) b ( ) b b

z y x y

) x (

r t t t t t t

t t t t or

t t = − + − + − +

⎥ ⎥

⎢ ⎢

⎥ ⎦

⎢ ⎤

= ⎡

1 0 ≤ t

b

0

b

1

b

2

b

3

= 0

t

=1

t )

3

( t B

i

linearly independent (

어떤 하나라도 다른 것으로 표현할 수 없음

)

0 ) ( 1

)

(

3

3 0

3

= ≥

=

B t , B

i

t

i i

3 3

3 2

3 2 1

3 1 0

3

0

( t ) b B ( t ) b B ( t ) b B ( t ) b

B + + +

=

(35)

2.2.1.2 1

2.2.1.2 1 st st Derivatives Derivatives of Cubic Bezier Curves (1) of Cubic Bezier Curves (1)

ƒ First derivatives: Tangent vector of the curve : “시간 t에서의 물체의 속도”

where, : forward differences

) (

3

3 )

1 ( 6

) 1 ( 3

] [

3 )

1 ](

[ 6 )

1 ](

[ 3

3 ]

3 )

1 ( 6 [

] ) 1 ( 6 )

1 ( 3 [ )

1 ( ) 3

(

2 2 2 2

1 1 2

0 0

2 2 1

2 0

2 2 3

1 2

2 0

1

3 2 2

2

1 2

0 2

B B

B

t t

t t

t t

t t

t t

t t

t t t

dt t t d

b b

b

b b

b

b b

b b

b b

b b

b r b

Δ + Δ

+ Δ

=

Δ +

− Δ

+

− Δ

=

− +

− +

=

+

− +

− +

=

3 3 2

2 1

2 0

3

3 1 3 1

1 ) b ( ) b ( ) b b

( )

(

r t = − t + − t t + − t t + t

i i

i b b

b = −

Δ +1

(36)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

36/196

2.2.1.2 1

2.2.1.2 1 st st Derivatives Derivatives of Cubic Bezier Curves(2) of Cubic Bezier Curves(2)

ƒ The derivative of the cubic curve is quadratic curve.

y where, :

quadratic Bernstein basis function.

ƒ Most important tangent vectors at the curve’s is Endpoints tangent vectors:

).

( ) 3

) (

(

0

B

02 1

B

12 2

B

22

dt

t

t d r b b b

r & = = Δ + Δ + Δ

i 2

B

) (

3 3

) 1 (

), (

3 3

) 0 (

2 3

2 0

b b

b r

b b

b

r

1 o

= Δ

=

= Δ

=

&

&

b

2

b

3

b

0

b

1

(37)

2.2.1.3 Characteristics of

2.2.1.3 Characteristics of Bezier Curves Bezier Curves (1) (1)

b

2

b 3

b 0

b 1 시작점에서의

접선 벡터의 방향

끝점에서의 접선 벡터의

방향 Convex Hull

ƒ Bezier 곡선은 최외각 조정점들로 구성되는 Convex Hull 내에 존재함

ƒ 처음 두 개의 조정점과 마지막 두 개의 조정점으로부터 시작점 및 끝점에서의 접선 벡터의 방향을 구할 수 있음

Bezier 조정점은 일종의 등대

( Q

3i=0

B

i3

( t ) = 1 )

(38)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

38/196

2.2.1.3 Characteristics of

2.2.1.3 Characteristics of Bezier Curves Bezier Curves (2) (2)

loop

cusp

Two inflection points

b

2

b

3

b

0

b

1

b

0

b

1

b

2

b

3

b

0

b

1

b

2

b

3

(39)

2.2.1.4 Higher order

2.2.1.4 Higher order Bezier Curves Bezier Curves (1) (1)

ƒ A Bezier Curve of degree can be defined by;

ƒ where, : Bernstein Polynomial Function.

ƒ For cubic case, the Bezier curve as:

).

( ...

) ( )

( )

(

t b

0

B

0n

t b

1

B

1n

t b

n

B

nn

t

r

= + + +

) (t

B

in

).

( )

( )

( )

( )

( t b 0 B 0 3 t b B 1 3 t b 2 B 2 3 t b 3 B 3 3 t

r = + 1 + +

n

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

(

1 ) ( with )

( )

1 ( ) ( )

( t = tB

11

t + − t B

1

t B

00

t

B

in in in

(40)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

40/196

2.2.1.4 Higher order

2.2.1.4 Higher order Bezier Curves Bezier Curves (2) (2)

( )

[ ] ( ) ( )

( )

[ ] [ ( ) ] [ ( ) ]

( ) ( ) ( )

( )

[ ] [ ( ) ] [ ( ) ]

( ) ( ) ( ) ( )

) ( )

( )

( )

( )

(

1 4 1

6 1

4 1

1 1

1

), ( )

( )

( )

(

1 3 1

3 1

1 1

1

), ( )

( )

(

1 2 1

1

4 4 4

3 4

2 4

1 4

0

4 3

2 2 3

4

3 4

3 3 3

2 3

1 3

0

3 2 2

3

2 3

2 2 2

1 2

0 2 2 2

t B t

B t

B t

B t

B

t t

t t

t t

t t

t t t

t t

t

t B t

B t

B t

B

t t

t t

t t

t t t

t t

t

t B t

B t

B

t t t t

t t

+ +

+ +

=

+

+

+

+

=

+

+

= +

+ +

+

=

+

+

+

=

+

+

= +

+ +

=

+

+

= +

• Bernstein Polynomial Function:

1 4 6 4 1

1 3 3 1

1 2 1

1 1

1

파스칼의 삼각형

(41)

2.2.1.4 Higher order

2.2.1.4 Higher order Bezier Curves Bezier Curves (3) (3)

5

th

-degree Bezier curve 6

th

-degree Bezier curve

7

th

-degree Bezier curve

7

th

-degree Bezier curve

(42)

서울대학교

서울대학교조선해양공학과조선해양공학과학부학부33학년학년교과목교과목“전산선박설계전산선박설계”, 2006, 2006학년도학년도2학기2학기

42/196

2.2.1.5

2.2.1.5 Derivatives Derivatives of Higher Order of Higher Order Bezier Curves Bezier Curves (1) (1)

ƒ For Cubic Case(n=3),

ƒ For degree=n,

where : forward difference.

ƒ Bezier CurveÆ differentiated by more than one by parameter

ƒ For the times derivative:

].

[ 3 )

( t b

0

B

02

b

1

B

12

b

2

B

22

r & = Δ + Δ + Δ

].

...

[ )

( t = n Δ b 0 B 0 n 1 + Δ b 1 B 1 n 1 + + Δ b n 1 B n n 1 1 r&

i i

i

b b

b = −

Δ

+1

)].

( )...

( )

( )! [

(

! )

(

1 1 0

0

B t B t B t

k n

n dt

t

d

n k

k n k n k k

n k

k n k

k

k

− −

+ Δ + Δ

− Δ

= b b b

r

'.

't

k th

참조

관련 문서

It showed the study that makes the tangent continuous approximated to become the curvature continuous in the connection points of Bezier curves.. Key Words :

원뿔곡선은 이차유리 베지에(quadratic rational Bezier curve)로 표현가능하며, 사실상

구한 변위를 중첩된 강성 매트릭스에 대입하여 미지의 힘과 모멘트를 구함 NAOE/SNU... ① 힘은 압력σ과

2.2.4 Bezier Curve Interpolation / Approximation 2.2.1 Definition &amp; Characteristics of Bezier curves 2.2.2 Degree Elevation/Reduction of Bezier curves 2.2.3

Key word : homogeneous barycentric coordinate, quadratic rational Bezier curve, isogonal conjugate, isotomic conjugate, centroid, incenter... 이차 유리

서울대학교 조선해양공학과 학부4학년 “창의적 선박설계” 강의 교재.. Ship design, Owner’s Requirements, Specification, Parent ships Data, 2008.3 NAOE/SNU..

서울대학교 조선해양공학과 학부4학년 “창의적

뷰잉좌표계의 x축의 방향은 y축과 z축을 외적하면 구할 수 있다... Craig, Introduction to Robotics: Mechanics and Control,