1 / 48

강의 내용 ( 일곱 번째 )

강의 내용 ( 일곱 번째 ). 오늘 강의 내용 (10 월 29 일 ) 트리 자료 구조의 사용 다른 트리 구조 언어 기반 모델 순환적 방법과 프랙탈 물리 기반 모형과 입자 시스템 예습 : Reading Assignment 11 장 물리 기반 모형과 입자 시스템 12 장 데이터로부터의 모델 숙제 8.10 절 읽을 것. 8.5 트리 자료 구조의 사용. 계층구조를 표현하고 모델에 독립적인 순회 알고리즘을 사용해서 렌더링한다 . Left-child-right sibling 을 이용하는 방법

rusk
Download Presentation

강의 내용 ( 일곱 번째 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 강의 내용(일곱 번째) • 오늘 강의 내용 (10월 29일) • 트리 자료 구조의 사용 • 다른 트리 구조 • 언어 기반 모델 • 순환적 방법과 프랙탈 • 물리 기반 모형과 입자 시스템 • 예습 : Reading Assignment • 11장 물리 기반 모형과 입자 시스템 • 12장 데이터로부터의 모델 • 숙제 • 8.10절 읽을 것

  2. 8.5 트리 자료 구조의 사용 • 계층구조를 표현하고 모델에 독립적인 순회 알고리즘을 사용해서 렌더링한다. • Left-child-right sibling을 이용하는 방법 • Figuretree.dsw 프로그램의 예 • 각 노드의 구조 • 각 노드에 객체를 정의하는 함수 • 그 객체를 부모에 상대적으로 위치시키는 좌표 행렬 • 모델-관측 행렬에 곱해진다.

  3. 그림 8.15

  4. Preorder 순위 순회 형제들에게는 지역행렬의 영향이 없어야 하므로

  5. Y축에 회전

  6. 노드의 동적인 접근 방식 • 노드의 정의를 동적으로 하면 유연성이 생긴다. • 대화식으로 구조를 변경하기를 원할 때 사용한다. • P377 참조할 것

  7. 8.9 다른 트리 구조들 • CSG 트리 • Geometric modeling은 표면을 기술하여 모델링을 하므로 입체에 관한 성질을 다룰 때 어려움을 야기한다. • 디스플레이 모호성을 야기 (그림 8.20) • BSP 트리 • 4진 트리(Quadtree)와 8진 트리(Octree)

  8. CSG(Constructive Solid Geometry) • Combination rules for solids • Each combines two solids • Union(+), Difference(-), Intersection (&) • Results can be used as a new solid • CSG Tree

  9. 그림 8.20

  10. 그림 8.22 CSG 객체

  11. 그림 8.23 CSG 트리 Postorder Tree Traversing

  12. 8.9.2 이진 공간 분할 (BSP) 트리

  13. 그림 8.25 다각형들의 평면도 BSP Tree : Backward in-order traversal F – D- E-A-C-B

  14. 그림 8.27 관측자를 뒤로 이동

  15. 8.9.3 4진 트리(Quadtree)와 8진 트리(Octree)

  16. 그림 8.30 4진트리

  17. 그림 8.31 8진 트리(Octree)

  18. Modeling Technique • Geometric Modeling • Bezier, Spline, NURBS • Solid Modeling • SOR, Sweeping, CSG • Advanced Modeling Technique • Proceduralism • Grammar Based Modeling • Particle System • Fractal Modeling

  19. Geometric Modeling • G.M. deals with the construction of smooth curves and surfaces by using polygon mesh Bezier Surface

  20. Solid Modeling • Representation of Volumes completely surrounded by surfaces. • Geometric Modeling : describe the boundary of objects • Need to distinguish between inside or outside • Also, be able to compute properties of object • ex) CAD, CAM application • Deals with the construction of volumetric objects & its operations. • Techniques • SOR, Sweeping, CSG

  21. Sweeping • Closed polygons and curves generates finite volume by sweeping transformation • Rotation, Sweeping

  22. SOR(Surface Of Revolution) • To generate a 3-D surface, revolve a two dimensional entity. e.g., a line or plane about the axis in space. • called surfaces of revolution

  23. 11.6 언어 기반 모델 (Grammar Based Modeling) • 식물이나 지형과 같은 실세계 객체 이미지 생성 • 트리 문법(Tree Grammar) • 생성 규칙 (production rule) • 예) A → BC, B→ABA • 무한히 많은 문자열 생성 • 하나 이상의 규칙 중에서 난수로서 적용할 규칙을 선택한다면 다양한 문자열을 생성 • 절차적 모델(procedural model)

  24. 11.6 Grammar Based Modeling • 자연물 모델링에 사용 • 식물학자 Lindenmayer에 의해서 제안 • Prusinkiewicz에 의해 발전됨(L-system) • 식물의 생성정보를 문법에 의해 반복 치환함으로써 모델링

  25. 터틀 그래픽스(turtle graphics) • 1 단위 이동 (F), 왼쪽(L), 오른쪽 (R) 방향 전환 • 방향을 바꾸는 각은 고정됨 • 삼각형 • 각이 120도이고, 문자열 FRFRFR • Koch 곡선 • - 60도, F → FLFRRFLF 그림 11.12 Koch 곡선 규칙

  26. 그림 11.10 공간 충전 곡선(Space filling Curve) • 모든 F에 대하여 똑같이 한 번 더 적용함. Turtle_koch • (a)를 삼각형에 적용함. (a) koch 곡선 (b) koch 눈송이

  27. 특수 기호 ([, ])의 사용 • stack에 turtle의 상태(위치와 방향)을 push/pop을 표시 그림 11.15 그림 11.14 규칙의 두 번 반복 그림 11.14 규칙 FF[RF]F[LF]F

  28. 다양한 트리 생성 • turtle의 전진 이동에 해당하는 길이를 조정함. • 보다 많은 생성 규칙과 규칙을 결정하는 확률함수를 추가하면 더욱 다양한 형태의 나무를 얻을 수 있다. 그림 11.16 그림 11.14에서 규칙을 임의로 적용한 결과

  29. 직접적인 접근법과 절차적 방법의 비교 • 직선, 다각형 등을 이용하여 각 객체를 필요한 만큼 그리는 방법은 직접적인 방법이다. • - 복잡한 장면의 경우, 사용되는 기본 요소가 매우 많음 • - 관측자로부터 멀리 떨어진 경우에는 아주 작은 크기로 렌더링되기 때문에 이미지로 나타나지 않는다. 그럼에도 불구하고 기본 요소를 다 그려야 한다. • 절차적 방법 • 간단한 알고리즘으로 복잡한 객체를 묘사 • 필요로 하는 상세 정도와 필요로 하는 객체만을 기하학적 객체로 생성할 수 있다.

  30. 형상 문법(shape grammar) 그림 11.17 Sierpinski 가스켓을 위한 세 개의 규칙들

  31. 11.7 순환적 방법과 프랙탈 • 프랙탈 기하학 (fractal geometry)에 기초한 모델링 방법으로 또 다른 절차적 방법 • 프랙탈 기하학 • Mandelbrot에 의해 개발 • 자기 유사성 (Self-similarity) 을 사용함. • 다른 방법으로는 쉽게 모델링 할 수 없는 많은 실세계의 실체를 모델링 • Graftal : 프랙탈에 의해서 생성된 객체

  32. Fractal Modeling • B. Mandelbrot에 의해 기본 개념 완성. • Self-similarity성질과 브라운 운동의 randomness를 결합하여 모델링 Fractal Mountain

  33. 11.7.1 자와 길이 • 해상도의 제한 혹은 측정의 최소 단위의 선택의 필요성 • 지도상의 해안선의 길이를 측정하여 보자. 해안선의 굴곡의 이미지 위에 실을 놓고 그 실의 길이를 측정할 수 있다. • 그러나, 좀 더 자세한 지도가 주어진다면? 더욱 긴 길이를 얻을 수 있다. • 더욱 자세한 지도가 주어진다면? 이러한 작업은 분자 단계까지 계속할 수 있다.

  34. 차원(Dimension)의 문제 • Koch의 곡선에서 길이가 1인 직선은 길이가 1/3인 4개의 선분으로 교체된다. • 선분을 교체할 때마다, 전체 선분의 길이는 4/3으로 늘어 난다. 무한히 반복할 수 있다. • 1차원? 혹은 2차원? • 곡선은 극한에서 무한대의 길이를 갖고 일차 미분은 어디서나 불연속이므로 통상적인 1차원은 아님. 그러나, 곡선은 2차원 평면을 채울 수 없음 따라서 2차원이 아님. 그림 11.18 Koch 곡선의 신장

  35. 11.7.2 프랙탈 차원할 그림 11.19 선분(1차원), 정사각형(2차원), 정육면체(3차원)

  36. 객체들의 h 계수에 의한 크기 변환 h=1/n 이라고 하자 선분의 경우 : K (=n)개의 동일한 선분으로 사각형의 경우 : K (= ) 개의 작은 사각형으로 정육면체의 경우 : K (= ) 개의 작은 정육면체로 분할 그림 11.20 객체들의 분할 h=1/3 ( n=3)

  37. 차원의 계산 분할에서 변하지 않는 것은 전체가 부분의 합이므로 어떤 객체에 대해서도 다음의 등식이 만족한다. 이므로 이다. 프랙탈 차원

  38. 차원의 계산 Koch 곡선의 경우 : 그림 11.21 Sierpinski 가스켓의 분할

  39. 그림 11.22 입체 가스켓 • 각 면을 분할하는 3차원 공간의 입체 가스켓 • 가운데 영역은 버림. 4개의 사면체를 유지함.

  40. 그림 11.23 입방체의 분할 • 각 면의 중심과 정육면체 중심에 있는 조각을 제거하면 총 27개의 조각 중에서 20개만 남음.

  41. 11.7.3 종점 분할과 브라운 운동 • 프랙탈 곡선은 1≤d≤2 : • - 낮은 차원의 곡선이 높은 차원의 곡선보다 부드러움. • 프랙탈 곡면은 2≤d≤3 : • -낮은 차원의 곡면이 높은 차원의 곡면보다 부드러움. • 거친 정도를 제어함.

  42. 11.7.3 종점 분할과 브라운 운동

  43. 그림 11.24 중점 이동 • 브라운 운동 : 유체 입자의 무작위적 움직임. 순환적인 방법 • - 선분의 중점을 찾고, 중점을 법선 방향으로 임의의 거리 만큼 이동 (a) 원래의 선분 (b) 분할 후의 선분

  44. 그림 11.25 1,2,4,8,16 단편으로 된 프랙탈 곡선들 • 앞의 중점 이동 과정을 임의의 횟수만큼 반복함 • 난수 발생기의 분산 및 평균 변위는 보통 ½로 줄여야 함. • 법선 방향만이 아닌 임의의 방향으로 중점을 이동시킬 수 있다. • 이 분할될 선분의 길이, 에 비례하는 분산을 갖는 평균이 0 인 • Gaussian 난수 발생기를 사용하면 d 는 생성된 곡선의 프랙탈 차원이며, d=1.5인 값은 실제 브라운 운동에 대응됨.

  45. 11.7.4 프랙탈 산 • 산악과 지형의 생성 그림 11.26 4면체 면의 중점 분할 • 변의 중점을 찾은 다음, 각 중점을 이동함. • 난수 발생기의 분산을 제어함으로써 생성되는 객체의 거친 정도를 제어

  46. 그림 11.27 프랙탈 산 • 임의의 mesh에도 적용 • x-z 평면에서 사각형 mesh에서 시작하고 좀 더 작은 4개의 사각형으로 분할하여 모든 정점을 y 방향으로 이동 시킴 → 색 그림판 7 (a) 메쉬 (b) 이동된 정점에 의한 분할된 메쉬

  47. 11.8 Mandelbrot 집합

More Related