14장. 스플라인 학습목표 제어점, 지역성, 컨벡스 헐 등의 용어가 지닌 개념을 명확히 이해한다.

Slides:



Advertisements
Similar presentations
1. 도형의 연결 상태 2. 꼭지점과 변으로 이루어진 도형 Ⅷ. 도형의 관찰 도형의 연결상태 연결상태가 같은 도형 단일폐곡선의 성질 연결상태가 같은 입체도형 뫼비우스의 띠.
Advertisements

수치해석 (Numerical Analysis) 보간법 (Interpolation). Page 2 보간법 (Interpolation) In this chapter … 보간법이란 ? 통계적 혹은 실험적으로 구해진 데이터들 (x i ) 로부터, 주어진 데이터를 만족하는 근사.
1.3.1 원의 방정식. 생각해봅시다. SK 텔레콤에서는 중화동에 기지국을 세우려고 한다. 이 기지국은 중화고, 중화우체국, 뚝방에 모두 전파를 보내야 한다. 기지국은 어디에 세워야 할까 ? 중화동의 지도는 다음과 같다 원의 방정식.
재료수치해석 HW # 박재혁.
제2장 주파수 영역에서의 모델링.
(Numerical Analysis of Nonlinear Equation)
공차 및 끼워맞춤.
연결리스트(linked list).
수치해석 6장 예제문제 환경공학과 천대길.
사원수 (Quaternion)
차량용 교류발전기 alternator Byeong June MIN에 의해 창작된 Physics Lectures 은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 3.0 Unported 라이선스에 따라 이용할 수 있습니다.
실험 11. 트랜지스터 증폭기의 부하선 해석 방 기 영.
Chapter 02 순환 (Recursion).
학습목표 8장. 가시성 판단 후면제거의 정의와 처리방법을 이해한다. 절단작업의 정의와 처리방법을 이해한다.
10 Three-Dimensional Object Representations  고려대학교 컴퓨터학과 김 창 헌.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
다각형.
행렬 기본 개념 행렬의 연산 여러가지 행렬 행렬식 역행렬 연립 일차 방정식 부울행렬.
3차원 객체 모델링.
10장 컴퓨터 기반 데이터 획득 응용 프로그램 LabVIEW 사용법
제4장 제어 시스템의 성능.
Ⅲ. 이 차 방 정 식 1. 이차방정식과 그 풀이 2. 근 의 공 식.
빅데이터 연구회 6주차 발표 주제 : 서포트 벡터 머신 통계학과 서태석.
학습 주제 p 역학적 에너지는 보존될까?(1).
피타고라스 정리 Esc.
Chapter03 캔버스(1) HTML5 Programming.
마인드 맵.
도형의 기초 3. 기본작도 삼각형의 작도 수직이등분선의 작도 각의 이등분선의 작도.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Samsung Software Membership 3D MIM 신진수
Metal Forming CAE Lab., Gyeongsang National University
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
4장 기하학적 객체와 변환 - 기하 1장 – 그래픽스 시스템과 모델 2장 – 그래픽스 프로그래밍 3장 – 입력과 상호작용
COMPUTER ANIMATION (Key Frame Animation)
8장. spss statistics 20의 데이터 변환
제어시스템설계 Chapter 4 ~ Chapter 5.
P 등속 직선 운동 생각열기 – 자동차를 타고 고속도로를 달릴 때, 속력계 바늘이 일정한 눈금을 가리키며 움직이지 않을 때가 있다. 이 때 자동차의 속력은 어떠할까? ( 속력이 일정하다 .)
삼각형에서 평행선에 의하여 생기는 선분의 길이의 비
Fitting / Matrix / Excel
홍수추적 담당교수명 : 서 영 민 연 락 처 :
미분방정식.
이차방정식과 이차함수의 관계 이차함수의 그래프와 축의 위치 관계 이차방정식 의 그래프와 축이 만나는 점의 좌표는 이차방정식
1. 선분 등분하기 (1) 주어진 선분 수직 2등분 하기 ① 주어진 선분 AB를 그린다. ② 점 A를 중심으로 선분AB보다
수학10-나 1학년 2학기 Ⅰ. 도형의 방정식 1. 평면좌표 (2~3/24) 선분의 내분점과 외분점 수업계획 수업활동.
2장. 일차원에서의 운동 2.1 평균 속도 2.2 순간 속도 2.3 분석 모형: 등속 운동하는 입자 2.4 가속도
1. 스케치 평면 설정 평면상의 스케치 스케치를 할 평면 선택 스케치시 Horizontal (x축)으로 사용할 기준축 선택
홍수추적 담당교수명 : 서 영 민 연 락 처 :
작도 작도 작도: 눈금 없는 자와 컴퍼스만을 사용하여 도형을 그리는 것
Chapter 1 단위, 물리량, 벡터.
제 5장 제어 시스템의 성능 피드백 제어 시스템 과도 성능 (Transient Performance)
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
7장 전위이론 7.2 금속의 결정구조 7.4 인상전위와 나선전위 7.5 전위의 성질.
원의 방정식 원의 방정식 x축, y축에 접하는 원의 방정식 두 원의 위치 관계 공통접선 원과 직선의 위치 관계
Chapter 1 단위, 물리량, 벡터.
1. 접선의 방정식 2010년 설악산.
1. 정투상법 정투상법 정투상도 (1) 정투상의 원리
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
Summary of Pointers and Arrays
Chapter 7 – Curves Part - I
컴퓨터공학과 손민정 Computer Graphics Lab 이승용 교수님
제 4 장 Record.
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
 6장. SQL 쿼리.
: 3차원에서 입자의 운동 방정식 제일 간단한 경우는 위치만의 함수 : 시간, 위치, 위치의 시간미분 의 함수
7 생성자 함수.
6 객체.
Lecture #6 제 4 장. 기하학적 객체와 변환 (1).
Presentation transcript:

14장. 스플라인 학습목표 제어점, 지역성, 컨벡스 헐 등의 용어가 지닌 개념을 명확히 이해한다. 선형조합에 의해 곡선을 만드는 방법을 이해한다. 구간별 곡선의 연결에 가해지는 제약조건을 이해한다. 허미트 스플라인, 베지에 스플라인, 너브스의 특징과 장단점을 이해한다. 곡선을 확장하여 곡면을 생성하는 방법을 이해한다.

스플라인(Splines) 목수들이 부드러운 곡선을 긋기 위해 사용하던 얇은 금속 띠 추(Ducks)의 무게에 의해 부드러운 곡선 수학의 발전에 의해 다항식으로 표현. 다항식 곡선=스플라인 용도 곡선설계, 곡면설계 영상 윤곽의 디지타이제이션(제어점+스플라인) 애니메이션의 동작경로

제어점(CP: Control Points) 곡선의 모양을 제어하는 특징적인 점 제어점의 추가, 삭제, 위치변경 등에 의해 곡선의 모습을 제어 구간(Segment) = 한 쌍의 제어점 사이 스플라인 = 구간별 다항식(Piecewise Polynomials) 곡선에 대한 어파인 변환 제어점에 어파인 변환을 가한 후 변환된 제어점에 곡선의 식을 가함.

스플라인 분류 보간 스플라인(Interpolating Splines) 제어점을 통과(Pass-Throughness) 근사 스플라인(Approximating Splines) 부드러움을 위해 제어점을 통과하지 않음 제어점은 곡선을 끌어당기는 역할 (Remote Control) 경우에 따라서 첫점과 마지막 점은 통과

스플라인의 지역성 지역성(Locality) 제어점을 움직일 때 여타 구간에 미치는 영향력 이미 설계완료된 부분에 영향을 미치지 않도록 작을수록 좋음. 3개 구간 vs. 9개 구간(아래 예제에서 변하는 구간의 수) 구간별로 서로 다른 계수의 다항식: 지역성 향상을 위함.

제어 그래프, 컨벡스 헐 제어 그래프(Control Graph, Control Polygon, Defining Polygon) 제어점들을 순서대로 선분으로 연결한 그래프 컨벡스 헐(Convex Hull) :스플라인 차수에 의해 모양 결정 제어 그래프 일부에 대해서 시작점과 끝점을 연결한 도형 구간별 3차 다항식: 4개의 인접한 제어점 구간별 2차 다항식: 3개의 인접한 제어점

컨벡스 헐 특성 컨벡스 헐 특성(Convex Hull Property) 스플라인이 컨벡스 헐 내부에만 존재할 경우 진동(Oscillation)이나 이탈(Overshoot)을 방지 제어점이 일직선(Co-linear)이면 스플라인은 직선 직선도 곡선과 동일하게 취급

파라미터 표현 y = x + 1 (0 ≤ x ≤ 4) (t, t + 1) or (t2, t2 + 1) or (3t, 3t + 1) 정규화 파라미터(Normalized Parameter) (4t, 4t + 1) 파라미터는 범위가 (0 ≤ t ≤ 1) 파라미터 표현의 장점 균등 길이 유한 기울기(예: x = 1) 차원의 확장이 용이: (t, t+1, t+3, 2t, …) cf. 현시적 표현

스플라인의 연속성(Continuity) 곡선의 부드러움(Smoothness) 제어점 부근에서의 곡선의 기울기(Slope)와 곡률(Curvature) 불연속, C0, C1, G1, C2 C1 연속 들어오는기울기 = 나가는기울기. 기울기 = 접선 = 1차 미분계수 G1 연속 기하학적(Geometric) 또는 시각적(Visual) 연속성 나가는 기울기가 들어오는 기울기의 상수배, 방향만 같음. C2 연속 들어오는 기울기의 변화율(Curvature, 곡률, 기울기의 기울기, 2차 미분계수) = 나가는 기울기의 변화율. 가장 부드러운 곡선. 이를 위해 제어점을 피해 갈수 있음 = 근사 스플라인

바이어스(Bias), 텐션(Tension) Barsky의 Beta Spline 텐션(Tension) 곡선의 장력 즉 긴장도. 두 개의 제어점에 의해 정의된 하나의 구간에 적용 구간 BC가 AB보다 텐션이 높음. 바이어스(Bias) 제어점 근처에서의 곡선 행동 제어점 B에서 (a)는 나가는 방향으로 바이어스, (b)는 들어오는 방향으로 바이어스가 걸려있음.

카디날 스플라인(Cardinal Splines) 혼합함수(Blending Function) 점을 섞어 선분의 식을 표시 기반함수(Basis Function), 가중치 함수(Weighting Function) 이 경우 혼합함수는 (1-t), (t)이므로 선형 혼합함수

카디날 스플라인 (Cardinal Splines) 선분의 선형조합 m(t1)에서 t1 = 0 인 점 p1은 p(t)로 볼 때 t = 0인 점 m(t1)에서 t1 = 1 인 점 p2는 p(t)에서 t = 1/2 인 중간점으로 간주 m(t2)에서 t2 = 0 인 점 p2는 t = 1/2 따라서 t1 = 2t, t2 = 2t -1. 이를 윗 식에 대입

카디날 스플라인 (Cardinal Splines) 곡선의 선형조합 p2, p3 사이의 곡선. 굴절곡선은 2차함수로는 안되고 3차함수

카디날 스플라인 (Cardinal Splines) 제어점 p1, p2, p3, p4가 주어지면 곡선은 p2-p3 구간에서만 정의된다. 주어진 제어점들을 정확히 통과하는 보간 스플라인 C1 연속성을 지님. 지역성으로 인해 더 이상의 혼합을 가하지 않음. 4 개의 3차 기반함수에 의해 제어점 p1, p2, p3, p4를 혼합 기반함수:

허미트 스플라인(Hermite Splines) 양 끝점의 위치와 해당 점에서의 기울기에 의해 정의

허미트 스플라인(Hermite Splines) 좌변 첫 행렬의 역행렬을 곱해 MhPt를 구함

허미트 스플라인(Hermite Splines) 곡선의 개형 기울기 크기 변화, 기울기 방향변화

베지에 스플라인(Bezier Splines) 3 개의 제어점에 의한 베지에 곡선 베지에가 제안하기 이전에 이미 번스타인(Bernstein)에 의해 수학적으로 유도가 완료된 상태

베지에 스플라인(Bezier Splines) 선형혼합에 의함. 예시: 3개의 제어점, 4개의 제어점. 그림은 t = 1/3일 경우의 예

베지에 스플라인(Bezier Splines) 일반식 3개의 제어점에 의한 2차 베지에

베지에 스플라인(Bezier Splines) 2차 베지에 기반함수 J2,0(t),= (1-t)2, J2,1(t) = 2t(1-t), J2,2(t) = t2 기반함수 제어점이 곡선을 자신 쪽으로 끌어당기는 영향력 (가중치) t = 0 인 p0 에서는 J2,0(t)의 영향력만 1. 따라서 t = 0인 점에서의 곡선의 위치는 p0 점 자체 t = .5인 p1 에서는 p0 점의 영향력은 J2,0(.5) = .25, p1 점의 영향력은 J2,1(.5)=.5, p2점의 영향력은 J2,1(.5) = .25 만큼. 따라서 근사 스플라인

베지에 스플라인(Bezier Splines) 3차 베지에 곡선

베지에 스플라인(Bezier Splines) 베지에 곡선의 특성 주어진 제어점 중 처음 점과 마지막 점만 통과 주어진 제어점에 의해 형성되는 컨벡스 헐 내부에만 곡선이 존재(임의의 t에서 기반함수 값이 모두 양이며 그 합이 항상 1) 처음 점과 마지막 점에서 곡선의 기울기는 제어 그래프와 일치 4 개의 제어점에 의한 3차 베지에 곡선은 제어점 p0, p1, p2, p3 전 구간에서 정의됨. cf. 카디날 스플라인 n 개의 제어점이 주어지면 베지에 곡선은 파라미터 t에 대한 (n - 1)차 함수. 지역성을 감안하면 3차 정도가 좋으므로 4 개의 제어점 단위로 구간 구간을 잘라서 정의.

베지에 스플라인 개형

베지에 스플라인 구간별 베지에 곡선의 연결조건 G1 연속성이 요구됨. 베지에 스플라인은 허미트 스플라인의 특수한 경우

베지에 스플라인 중점 분할(Midpoint Subdivision) 재귀 호출(Recursive Call)에 의해 베지에 곡선을 그리는 방법 1개의 구간이 2개의 구간으로 나뉘어짐. 이를 반복적으로 적용 구간별 연속성이 보장됨(7-9-8이 직선상에 존재)

B-스플라인 구간별 연결에 C2 연속성 보장 더욱 부드러운 곡선 일반적으로 제어점을 통과하지 않음 인접한 곡선끼리 제어점을 공유 3차 스플라인이라면 3개의 제어점을 공유

B-스플라인 3차 B-스플라인 제어점 4개에 의해 1개의 구간 곡선이 정의됨. 3개의 제어점이 공유되므로 q0, ..., q6 까지 6개의 구간 곡선 구간별 파라미터 [0, 1]의 범위 대신 [i, i+1]의 범위에서 움직임. 나트(매듭, Knot): t = i일 때의  곡선 상의 점 나트벡터(Knot Vector): 연속된 나트 값의 집합. B-스플라인의 나트벡터: 균등 나트벡터(Uniform Knot Vector) 나트벡터: 제어점에 추가로 곡선에 대한 제어를 강화

B-스플라인 B-스플라인의 B는 기반함수(Basis)를 의미함.

B-스플라인 제어점 p3가 영향을 미치는 구간곡선 q0에 대해서 B3, q1에 대해서 B2,  q2에 대해서 B1, q3에 대해서 B0의 가중치. 제어점 p3가 이웃한 4개의 곡선에 주는 영향 점 a, a', b, b', c는 나트에서의 기반함수 값. 다항식이므로 C2 연속을 보장

B-스플라인 제어점별 기반함수의 중첩

B-스플라인 곡선을 제어점 쪽으로 끌어당길 필요성이 존재 방법 1: 제어점 반복 수학적으로는 모두 C2 연속 시각적으로는 (b)는 G1 연속, (c)는 G0 연속

B-스플라인 방법 2: 나트 반복. 3번 제어점 으로 당기기 위해 동일한 나트 값을 2번 나열. 나트 t4=t5=1 로 설정

B-스플라인 차등 B-스플라인(Non-Uniform B-Splines) 나트간격을 불규칙하게 함으로써 곡선의 모습을 제어

B-스플라인 일반적인 B-스플라인 = 차등 B-스플라인 재귀호출에 의한 B-스플라인 기반함수 생성

B-스플라인 균등 나트벡터의 기반함수와 결과

B-스플라인 차등 나트벡터의 기반함수와 결과

B-스플라인 차등 나트벡터의 사용 나트벡터 변경 결과 곡선의 모습을 예측하기 어려움 첫 제어점과 마지막 제어점을 통과하도록 하는데 사용 예: 나트벡터 (0.0, 0.0, 0.0, 3.0, 4.0, 5.0, 6.0, 7.0) 뾰족한 부분(Kink)이나 각진 모서리(Corner)를 표현할 때 사용 예: 나트벡터 (0.0, 1.0, 2.0, 3.0, 3.0, 5.0, 6.0, 7.0) 제어점 p2의 나트 값을 2번 나열 k차 기반함수 나트에서 C(k-1)의 연속성. 2차 기반함수는 나트에서 C1 연속성 나트 값이 한 번 중복될 때마다 연속성이 1차씩 감소. 아래 2차 기반함수에서는 원래 C1 연속이 C0 연속으로 바뀜.

너브스(NURBS) 원근변환 원근변환 된 모습의 곡선을 그려내려면 기반함수 자체가 유리함수(Rational Function)이어야 함 너브스(NURBS) 차등 유리 B-스플라인(Non-Uniform Rational B Spline) 제어점 마다 가중치 wi를 부여: 규칙곡선이 가능

너브스(NURBS) 너브스 표현 는 기반함수에 가중치에 의해 크기조절이 가해진 결과 크게 봐서 의 형태

너브스(NURBS) 곡선의 제어 3 가지 방법 나트벡터의 간격. 예: 불규칙 나트벡터 나트벡터의 반복. 곡선을 제어점쪽으로 끌어당김 제어점의 가중치. 곡선을 제어점쪽으로 끌어당김 베지에 곡선 너브스의 특수한 경우 양 끝 제어점을 통과 예:불규칙나트벡터 (0, 0, 0, 0, 1, 1, 1, 1)을 가진 너브스 모든 베지에 곡선은 너브스로 표현가능

스플라인 연산 첫번째 함수호출에 따른 오버헤드를 없앤 것이 두번째. 세번째 호르너 규칙(Horner’s Rule) 적용: 연산속도, 정밀성 향상

스플라인의 분할 더욱 정밀한 제어를 위해 베지에 곡선: 중점 분할, 1/3점 분할, … 너브스 곡선: 나트 추가에 의한 새로운 제어점 생성

스플라인 곡면(Spline Surfaces) 곡면은 평면의 집합으로 근사화 균등분할(Uniform Subdivision), 가변분할(Adaptive Subdivision) 스플라인 곡선의 직접적인 확장이 스플라인 곡면 곡선의 제어 그래프가 서로 교차

스플라인 곡면 스플라인 곡선 양방향 3차 곡면(Parametric Bicubic Surface) u, w 파라미터가 필요함 우변 두 번째 행렬 M에 보간 방법과 점 p의 위치를 반영

공간상의 4 점이 주어졌을 경우 4점으로 채워진 곡면

2 개의 공간곡선이 주어졌을 경우 공간곡선(Space Curve) 3차원 곡선 괘선 면(Ruled Surface)

4 개의 경계곡선이 주어질 경우 4개 곡선의 영향력을 모두 감안 윗 식의 오류 수정 결과 = 쿤스 패치(Coon's Patch)

허미트 곡면(Hermite Surfaces) 이 곡선을 위로 올림 p1(w), p2(w)도 허미트 곡선.

베지에 곡면(Bezier Surface) 선형보간에 의함 1차 베지에 곡면 1차 베지에 곡면, 2차 베지에 곡면

베지에 곡면(Bezier Surface) 3차 베지에 곡면 4 by 4 = 16개의 제어점 J 는 베지에 곡선의 공식 양방향의 스플라인을 직접 곱하는 형식 = 직교적(直交積, Cartesian Product, Tensor Product)

베지에 곡면(Bezier Surface) 베지에 곡면의 연결 베지에 곡선과 마찬가지로 연결성에 유의 u, w 양 방향 모두에 대해 제어점이 일직선 위에 놓이게 제한

베지에 곡면(Bezier Surface)

B-스플라인 곡면(B-Spline Surfaces) C2 연속성을 보장. cf. 베지에 곡면: G1 연속성 적은 수의 제어점만으로 규칙적인 입체 표면을 완벽히 표현

2차곡면(Quadric Surfaces) 파라미터 표현이 아님. x, y, z에 관한 2차 함수. x, y, z 사이의 직접적인 관계에 의해 표현 예: 원구 일반적인 2차곡면 대각선 행렬(Diagonal Matrix). 대각선을 중심으로 서로 대칭

2차곡면(Quadric Surfaces) 장점 어떤 점이 표면 위에 존재하는지 검증하기 쉽다. x, y 좌표가 주어졌을 때 z 좌표를 계산하기 쉽다. 선분과의 교차점을 계산하기 쉽다. 표면의 법선벡터를 계산하기 쉽다. 법선벡터