6 장 Modeling Shapes With Polygonal Meshs(part 1) 창원대학교 정보통신공학과 박동규.

Slides:



Advertisements
Similar presentations
/11 CUDA 를 이용한 병렬 프로그래밍 DirectX 3D 를 이용한 3D 프로그래밍
Advertisements

Reverse Engineering (RapidForm). 실습 일정 및 프로그램  얻어낸 공간 위치 데이터를 RapidForm (Analysis software) 을 이용하여 3D 객체 생성 후 제출  시간 : 4/11 ( 수요일 ) 오후 6: 30, 오후 9:00.
Surface [1] Surface Feature [2] Surface의 조작 [3] Datum Curve
Master Thesis Progress
학습목표 10장. 조명과 음영 조명과 음영의 차이점을 이해한다. 지역 조명모델과 전역 조명모델의 차이점을 이해한다.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
Sequence Control -Introduction-
Sources of the Magnetic Field
Mathematics for Computer Graphics
Project #2-2. Pintos User Program
스테레오 비젼을 위한 3장 영상의 효율적인 영상정렬 기법
Computer Graphics 한신대학교 컴퓨터공학부 류승택 2015년 2학기.
6.9 Redundant Structures and the Unit Load Method
OpenGL Programming (III) 1. Drawing in 3D 2. Manipulating 3D Space
10장. 조명과 음영 학습목표 조명과 음영의 차이점을 이해한다. 지역 조명모델과 전역 조명모델의 차이점을 이해한다.
학습목표 10장. 조명과 음영 조명과 음영의 차이점을 이해한다. 지역 조명모델과 전역 조명모델의 차이점을 이해한다.
Computer Graphics Laboratory Korea University
축산 인식개선을 위한 농협의 추진 사례 ( ) 농협중앙회 축산지원단장 박인희.
Mesh Saliency 김 종 현.
Procedural Modeling of Buildings
Internet Computing KUT Youn-Hee Han
OpenGL Programming (II) 3D Graphics Fundamentals
회전과 Quaternion HyoungSeok Kim
III. Problems of Second Chapter (Fluid Statics)
Mechanical CAD Lecture 2.
8장. 가시성 판단 학습목표 후면제거의 정의와 처리방법을 이해한다. 절단작업의 정의와 처리방법을 이해한다.
10 Three-Dimensional Object Representations  고려대학교 컴퓨터학과 김 창 헌.
Chapter 13. Computer Animation
Dynamic Programming.
1 도시차원의 쇠퇴실태와 경향 Trends and Features of Urban Decline in Korea
Chapter 2. Finite Automata Exercises
Point Pattern Matching by Using Parameterization
1. 인터페이스 1 풀 다운 메뉴 2 새 파일 만들기 3 파일 불러오기 4 리소스 바.
계수와 응용 (Counting and Its Applications)
GPU Gems 3 Chapter 13. Volumetric Light Scattering as a Post-Process
Medical Instrumentation
Matrix 및 Rendering 파이프라인
스케줄링 (Scheduling) 시스템 내부시간(time in the system): 스케줄링 문제
Mathematical Description of Continuous-Time Signals
2013 2학기 세미나 Editable Poly (편집).
Draw the basic Geometry Objects
Kyoungju Park Computer Graphics Kyoungju Park
①Protrusion & Cut 의 개념 [1]Protrusion 과 Cut 의 의미
운영체제 (Operating Systems) (Memory Management Strategies)
Introduction to Programming Language
Tae-Young Park1, Rae-Jun Park2 Sang-Suk Lee1
Term project ‘Maya를 이용한 얼굴 근육과 표정변화와의 관계 애니매이션’
The normal distribution (정규분포)
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
3D Shapes 3개 핵심 Properties가 존재 1.Material 표면의 재질을 설정합니다.
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
Surface—나름대로 요약(수업용) [1] Surface Feature [2] Surface의 조작
이산수학(Discrete Mathematics)
CHAP 10 : 그래프.
Geo JSON.
스케줄링 (Scheduling) 시스템 내부시간(time in the system): 스케줄링 문제
점화와 응용 (Recurrence and Its Applications)
Pspice를 이용한 회로설계 기초이론 및 실습 3
창 병 모 숙명여대 전산학과 자바 언어를 위한 CFA 창 병 모 숙명여대 전산학과
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
Definitions (정의) Statistics란?
이산수학(Discrete Mathematics)
알고리즘의 분석(analysis) 공간적 효율성(Space Efficiency)과 시간적 효율성(Time Efficiency)
Geometry and Algebra of Projective Views
Introduction to Computer System 컴퓨터의 이해 3: 데이터 표현
The Graphics Process: Summary
Ray Casting 발표자 : 박 경 와
Chapter 4. Energy and Potential
알고리즘의 분석(analysis) 공간적 효율성(Space Efficiency)과 시간적 효율성(Time Efficiency)
Chapter 7: Deadlocks.
Presentation transcript:

6 장 Modeling Shapes With Polygonal Meshs(part 1) 창원대학교 정보통신공학과 박동규

IVIS Lab, Changwon National University Index 6.1 Introduction 6.2 Introduction to Solid Modeling with Polygonal Meshs 6.3 Polyhedra 6.4 Extruded Shapes 6.5 Mesh Approximations to Smooth Objects 6.6 Summary

IVIS Lab, Changwon National University 6.1 Introduction(1/2 ) 다각형 메쉬 (Polygonal mesh) 는 – Simply collections of polygons, – “faces”, that together form the “skin” of an object – A standard way of representing a broad class of solid shapes in graphics – Many rendering systems, including OpenGL, are based on drawing objects by drawing a sequence of polygons

IVIS Lab, Changwon National University 6.1 Introduction(2/2 ) 면을 이용하여 복잡한 다각형 메쉬 만들기 – 일부 오브젝트는 다각형 메쉬로 완벽하게 표현가능, – 근사적으로 밖에 표현할 수 없는 objects 도 있음 –( 그림 a): 평평한 면을 가진 오브젝트로 모서리 사이의 면은 표현가 능함 –( 그림 b, c) : 부드러운 곡선을 가진 벽면은 다각형만으로는 완전하 게 구현 할 수 없음 (chap8 의 shading 방법으로 구현 )

6.2 Introduction to solid modeling with polygonal meshs

IVIS Lab, Changwon National University Introduction to solid modeling with polygonal meshs 다각형 메쉬 (Polygon mesh) – 솔리드 형태와 “ 얇은 ” 껍데기를 가진 메쉬를 사용 – 각 다각형의 면이 향하고 있는 방향에 관한 정보를 가진 다각형의 리스트 로 주어진다 – 방향 정보는 법선 벡터 (normal vector) 라 함.(used in the shading process)

IVIS Lab, Changwon National University Tomas Akenine- Mőller © 2002 State-of-the-Art Real- Time Rendering 2001

IVIS Lab, Changwon National University Tomas Akenine- Mőller © 2002 State-of-the-Art Real- Time Rendering 2001

IVIS Lab, Changwon National University Tomas Akenine- Mőller © 2002 Which one is a real photo, and which one is CG?

IVIS Lab, Changwon National University Tomas Akenine- Mőller © 2002 Complexity: 8 million triangles…

IVIS Lab, Changwon National University Vertex Normals Versus face Normals Vertex normals with each vertex of a face(highly advantageous) : one vector to an entire face –Clipping process –Shading process for smoothly curved shapes 그림과 같이 하나의 정점에 대해서는 여러 개의 법선 벡터가 존재할 수 있다. V1 and V5 are located at the same point in space, but use defferent normals

IVIS Lab, Changwon National University To Define a Polygonal Mesh  A Polygonal mesh is a collection of polygons, along with a normal vector associated with each vertex of each polygon  Example The “basic barn”

IVIS Lab, Changwon National University –Polygonal face : 7, vertices : 10 –Various ways to store information about a mesh  Polygon 에 대한 정보, 각각의 polygons 에 대한 vertices 정보 (30 개 ), 각각의 vertices 에 대한 normal 정보 (30 개 ) : quite redundant  only 10 distinct vertices, 7 normal  3 separate lists : a vertex list, a normal list, a face list

IVIS Lab, Changwon National University Vertex list : locational or geometric information Normal list : orientation information Face list : connectivity or topological information

IVIS Lab, Changwon National University Sample 2D File Format Source: Stanford University Computer Graphics Laboratory Scanner: Cyberware 3030 MS + spacetime analysis Number of scans: ~70 Total size of scans: 2,748,318 points (about 5,500,000 triangles) Reconstruction: vrip (conservatively decimated) Size of reconstruction: 566,098 vertices, 1,132,830 triangles

IVIS Lab, Changwon National University To Find the Normal Vectors If the face is considered flat –Figure 4.16 과 같이 cross product 로 계산  m=(V 1 -V 2 ) ☓ (V 3 -V 2 ) V1, V2, V3 : three adjacent points on the face –Two problems (if V 1 -V 2 and V 3 -V 2 are nearly parallel) cross product will be very small The polygon is not perfectly planar

IVIS Lab, Changwon National University Finding the Normal Vectors 법선을 얻기 위한 확실한 기법 (Martin Newell) – 법선벡터 m 의 m x, m y, m z 성분을 다음 공식에 따라서 구한다. 1. N : the number of vertices in the face(x i, y i, z i ) 2. Next(j) =(j+1) mod N : the index of the “next” vertex around the face after vertex j

IVIS Lab, Changwon National University Case Study 6.2 Derivation of the Newell method

IVIS Lab, Changwon National University

6.2.2 Finding the Normal Vectors Example –Vertiecs P0=(6, 1, 4), P1=(7, 0, 9), and P2=(1,1,2) –Solution 1. Newell method 2. Cross product = (2, -23, -15)  Newell == Cross product

IVIS Lab, Changwon National University Finding the Normal Vectors Practice Exercises –(6,1,4), (2,0,5), (7,0,9) compare(Newell method vs cross product)

IVIS Lab, Changwon National University Finding the Normal Vectors What about a nonplanar polygon? – a 가 zero 가 아닐 때 nonplanar polygon

IVIS Lab, Changwon National University Properties of Meshs 메쉬의 속성 (Properties of Mesh) –Solidity : faces 들이 한정된 공간을 둘러싸고 있으면 mesh 는 solid object 를 표현 –Connectedness : polygon edge 의 끊김없이 path 가 두 개의 vertices 에 존 재하면, mesh 는 connected 고, mesh 가 not connected 이면 하나이상의 object 로 간주 –Simplicity : object 가 solid 로 표현되고, hole 이 없으면 simple –Planarity : 모든 face 들이 planar polygon 으로 표현 –Convexity : 오브젝트의 내부에 존재하는 두 점을 연결한 직선이 오브젝 트의 외부와 만나지 않을 경우

IVIS Lab, Changwon National University Mesh Models for Nonsolid Objects Polygonal mesh 로 이루어지는 오브젝트의 예시 – 무한히 얇은 shell 로 간주함

IVIS Lab, Changwon National University Working with Meshes in a Program Mesh 를 class 로 정의 Mesh : pt(vertex list), norm(normal list), face(face list) 로 구성 F 번째 face 에서 v 번째 vertex : pt[face[f].vert[v].vertIndex] F 번째 face 에서 v 번째 normal : norm[face[f].vert[v].normindex]

IVIS Lab, Changwon National University Working with Meshes in a Program Example 사면체 데이터 – 메쉬를 화면에 그리는 Mesh::draw() 메소드는 메쉬 오브젝트의 면 의 배열을 탐색한 후, 각 면의 정점 리스트와 법선을 OpenGL 그래 픽스 파이프라인으로 전송하여 그리기를 수행

IVIS Lab, Changwon National University draw 메소드의 소스

IVIS Lab, Changwon National University Using SDL to Create and Draw a Mesh Object 메쉬의 묘사를 SDL 언어를 통해서 읽도록 응용 프로그램 을 작성하는 것이 매우 편리함 shape 으로 부터 Mesh 클래스를 파생시킨후 drawOpenGL() 메소드를 첨가한다 Class Mesh : public Shape{ virtual void drawOpenGL(){ tellMaterialsGL(); glPushMatrix(); //load properties glMultmatrix(transf.m); draw(); glPopMatrix(); } } // end of Mesh class  Push translate scale 333 mesh pawn.3vn pop

IVIS Lab, Changwon National University Quake2 md2 file 1997 년 Quake 2 발표시에 id Software 사에서 개발한 3D 모델 파일 형식 간단하며 이해가 쉽다 Frame-by-Frame animation

IVIS Lab, Changwon National University 6.3 다면체 (POLYHEDRA) 정의 –A Polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space 정의에 의하여 다면체는 단일 솔리드 오브젝트를 표현하며, 이는 다음을 의미한다 –Every edge is shared by exactly two faces –At least three edges meet at each vertex –Faces do not interpenetrate: Two faces either do not touch at all, or touch only along their common edge.

IVIS Lab, Changwon National University 6.3 다면체 (POLYHEDRA) 오일러 공식 (Euler ’ s Formula) –Faces(F), edges(E), vertices(V) 의 기본적인 관계 제공 –V+F-E =2  Example cube V=8, F=6, E=12 –Hole 이 존재할 때 : V+F-E =2 +H-2G H : faces 에서 발생하는 holes 의 개수 G : polyhedron 을 관통하는 holes 의 개수

IVIS Lab, Changwon National University 6.3 다면체 (POLYHEDRA) Example –figure(a) : V=16, F=16, E=32, H=0, G=1 –figure(b) : V=24, F=15, E=36, H=3, G=1

IVIS Lab, Changwon National University 6.3 다면체 (POLYHEDRA) Schlegel diagram – 하나의 face 의 바깥쪽 center 에서 polyhedron 을 바라보고 있을때 polygon Figure (a) : PYRAMID 의 Schlegel diagram Figure(b), (c) : basin barn 의 Schlegel diagram

IVIS Lab, Changwon National University Prisms and Antiprisms A Prism is a particular type of polyhedron that embodies symmetries A prism is defined by sweeping a polygon Polygon P 는 vector d 를 sweeping( 그림 참조 )

IVIS Lab, Changwon National University Prisms and Antiprisms 정규 프리즘 (Regular prism) – 정다각형을 기반 + side faces 는 정사각형 반프리즘 (Antiprism) – 그림 (b) 와 같이 top n-gon 은 bottom n-gon 에서 180/n rotate 정규 프리즘과 반프리즘은 “ 반정규 (semiregular) ” 다면체 의 예시이다

IVIS Lab, Changwon National University 정다면체 (The Platonic Solids) 정다면체 –Regular polyhedron 또는 Platonic Solid 라 함 – 사이트 참조 –Polyhedron 의 모든 faces 가 동일하고, 각 polyhedron 이 regular polygon –5 개의 object 만 존재 –Hexahedron(6 면체 ) : square( 정사각형 ), dodecahedron(12 면 체 ) :pentagons(5 각형 ), 나머지 3 개 : equilateral triangles –Hexahedron 은 regular prism, octahedron 은 antiprism

IVIS Lab, Changwon National University 정다면체 (The Platonic Solids) 각 solid 에 대한 V, F, E, Schlaefli symbol(p, q) –p : face 를 이루는 p-gon –q : vertex 와 만나는 face 의 수 – 메쉬 목록을 만드는 방법 –Solids 들의 “ duality ” 을 이용하여 20 면체에서 12 면체을 만들수 있음 ( 다음 슬라이드 설명 )

IVIS Lab, Changwon National University 쌍둥이 다변체 (Dual polyhedra) Platonic solid P 는 dual polyhedron D 을 가짐 D 의 vertices 는 P faces 의 중점 D 의 edges 는 인접하는 P 의 faces 의 midpoint 를 연결 Duality –Tetrahedron 의 dual 은 tertrahedron –Cube 와 octahedron 은 dual Duality

IVIS Lab, Changwon National University 쌍둥이 다변체 (Dual polyhedra) Dual 은 E(edges 개수 ) 가 서로 같고, D 의 V 의 개수는 P 의 F 의 개수 One dual 이 Schlaefli symbol (p, q) 이면 (q, p) 임 Build method –Platonic solid P 의 vertex list 를 알면, D 의 vertex list 을 만들 수 있음  D 의 vertex k 는 P 의 face K 의 center Vertex 와 face 의 numbering 을 위해 하나의 model 를 사용 –edge 을 slicing and unfolding 하여 lie flat –Ex) cube and octahedron(dual pair) Cube 의 face 4 는 vertices 1, 5, 6, 2 이므로, octahedron 의 vertex 4 는 faces 1, 5, 6, 2 로 이루어 짐 –Ex1) tertrahedron(self dual) Kth face 을 이루는 vertice list  kth vertex 를 이루는 faces list –Octahedron 의 vertex 4 은 cube 의 face 4 center 이므로

IVIS Lab, Changwon National University Normal Vectors for the Platonic Solids Solid 가 원점을 중점으로 가지면 각 face 의 normal vertor 는 원점에서 face 의 중점으로 통하는 vector 임.

IVIS Lab, Changwon National University The Tetrahedron Tetrahedron 은 cube 내에 정의될수 있음 Tetrahedron 의 4 개의 vertices 는 cube 의 코너에 나타남 Tetrahedron 의 4 개의 edge 는 cube 의 face 에 나타남 Tetrahedron 의 하나의 vertex 가 cube 의 (1, 1, 1) 에 있을때 vertex list 와 Face list

IVIS Lab, Changwon National University The Icosahedron Vertex list 만드는 방법 –3 개의 golden rectangles 를 사용 –Golden rectangle 의 긴쪽은 – 1 ~ 1 로 확장 –Golden rectangle 의 짧은 쪽은

IVIS Lab, Changwon National University The Icosahedron Icosahedron 의 모델 위의 icosahedron 을 변경 – 음영으로 된 antiprism 과 2 개의 pentagonal pyramide 로 구성

IVIS Lab, Changwon National University Other Interesting Polyhedra Truncated cube –Archimedan solid: regular polygon 으로 이루어져 있으며, face 는 여러가지 형태를 가지고 있음 –8-gons 과 3-gons 를 가지고 있음 – 각 vertex 는 1 개의 trianlge 과 두개의 8-gons 로 이루어짐  Symbol 3  8  8 로 간략화 –Cube 의 각 edge 는 3 개의 part 로 구성 ( 그림 c) –Edge 의 middle part 의 길이는 – 어떤 cube edge 의 endpoint 가 C, D 라면 두개의 새로운 Vertice V, W 는 아래의 식과 같음

IVIS Lab, Changwon National University

Other Interesting Polyhedra Buckyball –Archimedean solid 중 truncated icosahedron –5  6  6(1 개의 regular pentagon 과 2 개의 hexagon) 으로 구성 –List 생성 Icosahedron 의 model 를 만듦 ( 그림 6.35 참조 ) Icosahedron 의 각 edge 를 3 등분해서 2 개의 new vertice 만듦

6.4 Extruded Shapes Sweeping polygons 에 대해서 mesh 를 생성하는 방법을 다룸

IVIS Lab, Changwon National University Creating Prisms Prism 을 xy-plane 상에 polygon P 로 시작 ( 그림 a) P 는 z 축으로 distance H 만큼 swept( 그림 b)  그림 6.19 의 vector d Prism 의 모든 vertex 개수 : 14 P 의 vertex 가 면 대응하는 vertex 는 ARROW prism 모델 ( 그림 c) Prism 은 flat faces 므로 하나의 face 을 이루는 모든 vector 는 같 은 normal vector 을 가짐

IVIS Lab, Changwon National University Building a Mesh for the Prism  Building a Mesh for the Prism 1.Mesh 을 만들기 위한 가정 1.1 Prism ’ s base(P) 는 N 개의 vertices(xi, yi) 로 이루어진 polygon 1.2 P 의 vertex 수는 0, …., N-1 이고 cap 의 vertex 수는 N, …, 2N-1( 그림 c) 2. Vertex list 는 (xi, yi, 0) 와 (xi, yi, H) 로 쉽게 만들어짐 (i = 0, 1, …, N-1) 3. Face list 만들기 3.1 side face 를 먼저 만들고, base 와 cap face 를 추가 개의 vertex : j, j+N, next(j)+N, next(j) 로 side face 를 만듬 (j=0,1, …,N-1) 주의 ) j = N-1 이면 next(j) =0  next(j) =(j+1) modulo N  P/G code, next =(j<n-1)) ? (j+1) : 0

IVIS Lab, Changwon National University Arrays of Extruded Prisms: “ Bricklaying ” OPENGL 은 convex polygon 에 대해서 완벽하게 drawing 그림 6.28 의 arrow 은 정확한 drawing 을 보장할수 없음  Extrude 을 convex polygon or convex prism 으로 분할 (array) 하여 drawing Prism array 에 대한 method 필요 void mesh :: makePrismArray(convex base polygons 의 list 와 vector d)

IVIS Lab, Changwon National University Special Case: Extruded Quad-Strips –Family of prisms 으로 구성된 prisms 을 좀더 효율적으로 만드는 방 법 (Quad-Strips 사용 ) –Quad-Strips : 체인으로 연결된 4 변형의 array –Quad-strips 은 vertices 의 sequence 에 의해 표현  –Quad-strips 에서의 vertices 는 쌍으로 간주  쌍 : 홀수 vertices 와 연결되는 edge, 짝수 vertices 와 연결되는 edge

IVIS Lab, Changwon National University Special Case: Extruded Quad-Strips –Quad-Strip 으로 mesh 형성 Vertex list : 2M 개 Face list : 2M-2 개 필요한 Method(2D Points 의 array 와 extrusion vector(d))  Void mesh::makeExtrudedQuadStrip(Point2 p[], int numpts, vector3 d);

IVIS Lab, Changwon National University Extrusions with a “ Twist ” Twist Extrusions 는 cap polygon 크기를 base polygon 보다 크게 or 작게 and rotation 함 Affine transformation 사용 – 그림 a, b 는 scaling factor 0.7 과 H(z-axis) 만큼 translation – 그림 c 는 angle  만큼 rotate x,y 축 축소 Z 축 translate

IVIS Lab, Changwon National University Extrusions with a “ Twist ” – 그림 d 는 p ’ 로 회전 단면도 Twisted face list 은 original face List 와 동일 Vertex positions 바뀜

IVIS Lab, Changwon National University Building Segmented Extrusion: Tubes and Snakes Extrusions 의 sequence 를 사용하여 modeling –3 번의 square P 를 extruding( 방향, 크기, twists 포함 ) 으로 tube 가 완 성 –Segment : 그림 a(tube) 와 같이 M0P 와 M1P 가 첫번째 segment –Waists: tube 에서 transform 된 square 을 말함 –Vertex list :

IVIS Lab, Changwon National University Building Segmented Extrusion: Tubes and Snakes Designing Tubes Based on 3D Curves –Interesting and useful tubes and snake 디자인 방법 –Tube 는 curve(spine) 를 둘러싸고 있는 것으로 생각 –Curve 는 parametrically 로 표현 (C(t))  chap 3.8 참조 b: 상수 (6.11)

IVIS Lab, Changwon National University Building Segmented Extrusion: Tubes and Snakes – 각각에 Point C(ti) 에 대한 curve 와 수직인 평면상에 transformed polygon 를 만듦  각 Point 마다 local coordinate system 화 –Local coordinate system 을 결정하기 위해 differential geometry 의 Frenet frame(each point 에 대해 ) 을 사용

IVIS Lab, Changwon National University Building Segmented Extrusion: Tubes and Snakes Forming the Frenet Frame –Frame 은 C(t) 의 미분값으로 파생 –C(t) 가 미분가능하면 도함수, 접선을 구할 수 있음 – 을 normalize : unit tangent vector 를 구하기 위해 식 6.11 인 경우 ( 식 6.13) 식 6.13 와 cross product 인 vector 선정 ( :C(t) 의 2 차미분 )  T(t) 와 수직인 벡터를 구함 수직인 벡터 normalize(unit binormal)

IVIS Lab, Changwon National University –T(t) 와 B(t) 에 대하여 수직인 벡터를 구함 ( 외적을 사용 ) – 결국, C(t) 에서 local Frenet frame 를 형성하는 3 개의 vector 가 완성 –B(t), N(t) 를 대입하면 ( 식 6.11) Building Segmented Extrusion: Tubes and Snakes

IVIS Lab, Changwon National University

6.4.4 Building Segmented Extrusion: Tubes and Snakes Finding the Frenet Frame Numerically –C(t) 가 복잡한 공식일때 연속적인 미분은 힘듦 – 아래의 식을 사용하여 근소화 시킴

IVIS Lab, Changwon National University Building Segmented Extrusion: Tubes and Snakes 그림 6.47 –30 개의 Point 에 대해 Frenet frame 을 만 들어 완성 그림 6.48(a: p=2, q=5, b:p=1, q7)

IVIS Lab, Changwon National University “Discretely”Swept Surfaces of Revolution 그전 section 에서는 tube 에 대하여 각각의 spine point 에 대 하여 new coordinate system 을 형성하여 구현 만일 tube 가 pure rotation 이고 원점에 대하여 모든 spine point 가 위치한다면 ? – 여러 개의 polyhedral shapes 집합으로 나타남 – 그림 6.51: profile(base polygon) 을 y 축에 대하여 연속적으로 회전 (surface of revolution)

IVIS Lab, Changwon National University “Discretely”Swept Surfaces of Revolution 그림 6.52 –Polyline base –Y 축에 대하여 등간격 각도 K 에 polyline 를 위치시키면 transformation metrics 는 아래와 같음