講義内容 - kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfrepresent free-form...

11
Represent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面 2006 2 講義内容 第1回 ガイダンス CAD入門 第2回 コンピュータグラフィックスによる表現技術 第3回 設計開発におけるコンピュータグラフィックス 第4回 認知科学とデザイン 第5回 認知科学とデザイン 第6回 CADのためのインタフェース(その1) 第7回 CADのためのインタフェース(その2) 第8回 CAD図面と立体形状 第9回 形状モデリング 多面体 第10回 形状モデリング 局所変形 第11回 形状モデリング 細分割曲面 第12回 プロダクトモデリング 第13回 CADとプロダクトデザインの現状 3 講義内容 細分割曲面 スケッチ入力による細分割曲面の生成 立体形状の展開のための切断線の生成 4 コンピュータと人の協力システム 知識 発想 外部モデル インタラクション コマンド解釈 実行制御 モデル処理 データベース 図面 NCデータ ロボット制御 計算機 インタフェース 6 Research Position and Background CAD/CAM CG Representation of Free-Form Surface Geometric Modeling •Hardware(Input/Output) •NC Process •Data Exchanger •Graph Data Management •Interface Technology •Geometric Modeling …... •Hardware(Input/Output) •Animation •Image Processing •Rendering Technologies •Morphing •Representation of Natural Phenomena •Interface technology •Data exchanger •Geometric Modeling ….. 7 Geometric Modeling Solid Model Surface Model Subdivision NURBS Subdivision

Upload: others

Post on 07-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 講義内容 - Kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfRepresent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面

Represent Free-Form Surfaces with Subdivision Methods

Kunio KONDOCAD 工学第11回

細分割曲面

2006

2

講義内容第1回 ガイダンス CAD入門

第2回 コンピュータグラフィックスによる表現技術

第3回 設計開発におけるコンピュータグラフィックス

第4回 認知科学とデザイン

第5回 認知科学とデザイン

第6回 CADのためのインタフェース(その1)

第7回 CADのためのインタフェース(その2)

第8回 CAD図面と立体形状

第9回 形状モデリング 多面体

第10回 形状モデリング 局所変形

第11回 形状モデリング 細分割曲面

第12回 プロダクトモデリング

第13回 CADとプロダクトデザインの現状

3

講義内容

細分割曲面

スケッチ入力による細分割曲面の生成

立体形状の展開のための切断線の生成

4

コンピュータと人の協力システム

要求 知識

発想

外部モデル

インタラクション

コマンド解釈実行制御

モデル処理

データベース

図面NCデータロボット制御

人 計算機インタフェース

6

Research Position and Background

CAD/CAM CG

Representation of Free-Form SurfaceGeometric Modeling

•Hardware(Input/Output)•NC Process•Data Exchanger•Graph Data Management•Interface Technology•Geometric Modeling…...

•Hardware(Input/Output)•Animation•Image Processing•Rendering Technologies•Morphing •Representation of Natural Phenomena•Interface technology•Data exchanger•Geometric Modeling…..

7

Geometric ModelingSolid Model Surface Model

Subdivision

NURBSSubdivision

Page 2: 講義内容 - Kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfRepresent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面

8

Mesh Modeling

•Polyhedral Meshes

Triangular Meshes

•Input Method:3D input Devices(Laser Scanner)

•Subdivision Surfaces(Data: Polyhedral networks. Scanned in Data or createdby designers)

Representation of Free-Form Surfaces in Geometric Modeling

Refinements

9

Representation of Free-Form Surfaces in Geometric Modeling

•Parametric PatchesBezier, Coons, B-spline, NURBS

•Trimmed NURBS

Cumbersome and Expensive, Easy to make numerical error.Problems:

1974. Chaikin’s algorithm --- A quadratic B-Spline curve1978. E.E.Catmull, J.H.Clark --- B-Spline surfaces (c1,c2 continuity)1978. D.Doo, M.Sabin --- B-Spline surfaces (C1 continuity)1986. S.T.Tan and K.C.Chan --- High order subdivision surfaces1987. A.H. Nasri --- Interpolation points in Doo/Sabin surfaces1987. Loop --- Loop Scheme, Triangular Polygon1988. P. Brunet --- Shape handles in (Nasri) Doo/Sabin surfaces1990. N.Dyn,D.Levin,J.Gregory -- Butterfly Subdivision surfaces1993. M.Halstead,M.Kass, --- Interpolation using Catmull/Clark surfaces

T.DeRose1994. Hoppe --- Modified Loop Scheme1995. U.Reif --- A Serious analysis on the smoothness

properties of subdivision surfaces1995. J. Peters, U. Reif --- box-spline (midedge)subdivision surfaces1996. D.Zorin, P.Schroder --- Interpolation butterfly subdivision surfaces1996. Kobbelt --- Kobbelt Interpolation Quadrilateral Scheme1997. A.H. Nasri --- Curve interpolation in Doo/Sabin surfaces1998. T.DeRose, M.Kass --- Subdivision Surfaces in Character Animation

(modified Catmull-Clark scheme)1998. Sederberg --- Non-Uniform Recursive Subdivision Surfaces1998. Suzuki --- LSF(Local Surface Fitting)

Research History of Subdivision Surfaces

11

Free-Form Surfaces

12

Chaikin’s algorithm (1974)

Vi-1

Vi Vi+1

Vi+2

V”i V’i+1

11

1

43

41'

41

43

++

+

+=

+=

iii

ii"i

VVV

VVV

<i<ni 1)(V

Quadratic BQuadratic B--splinespline curvecurve

V’i

V”i-1

V”i+1

V’i+2

13

Chaikin’s Algorithm

http://www.css.tayloru.edu/~btoll/s99/424/res/ucdavis/CAGDNotes/Chaikins-Algorithm/Chaikins-Algorithm.html

Page 3: 講義内容 - Kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfRepresent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面

14

Chaikin’s Algorithm

http://www.css.tayloru.edu/~btoll/s99/424/res/ucdavis/CAGDNotes/Chaikins-Algorithm/Chaikins-Algorithm.html 15

Doo-Sabin subdivision surfaces

Original Cube The 1st subdivision The 2nd subdivision

The 3rd subdivision The 5th subdivision

Examples

Initial Polyhedron

The Original polyhedron

The Doo/Sabinsurface

The Catmull/Clarksurface

The polyhedronafter fillet process

The Doo/Sabinsurface after fillet process

The Catmull/Clarksurface after fillet process

Examples

18

Fillet operations with Subdivision Surfaces

Fillet Operations

Fillet Operations

: Doo-Sabin subdivision process

The original The original polyhedronpolyhedron

The Doo/Sabinsurface

The Catmull/Clark surface

The polyhedron after fillet process

The 1st Doo/Sabinprocess

The 5th Doo/Sabinprocess

The 1st Catmull/Clark process The 5th Catmull/Clark

process

Fillet OperationsFillet Operations

Examples

Page 4: 講義内容 - Kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfRepresent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面

The original The original polyhedronpolyhedron

Doo/SabinDoo/Sabin surfacesurfaceof polyhedronof polyhedron

The polyhedronThe polyhedronafter fillet process(1)after fillet process(1)

Doo/SabinDoo/Sabin surface surface after fillet process(1)after fillet process(1)

The polyhedronThe polyhedronafter fillet process(2)after fillet process(2)

Doo/SabinDoo/Sabin surface surface after fillet process(2)after fillet process(2)

Examples

The Original polyhedron

The The CatumllCatumll/Clark /Clark surfacesurface

The The Doo/SabinDoo/Sabinsurfacesurface

The Polyhedron after fillet process

Fillet OperationsFillet Operations

The 2nd The 2nd Doo/SabinDoo/Sabinprocessprocess

The 5th The 5th Doo/SabinDoo/Sabinprocessprocess

The 2nd The 2nd CatumllCatumll/Clark /Clark processprocess

The 5th The 5th CatumllCatumll/Clark/Clarkprocessprocess

Examples

Fillet OperationsFillet Operations

Examples

23

The straight segment in Chaikin algorithm

M

The 3rd The 4th The 4th The 2nd

AT-Angle=0.1

Dead v-face Dead e-face Dead f-face

Doo/Sabin Method

Adaptive refinements(Proposed method)

Polygon

AT-Angle=10

After the 3rd subdivision process.

After the 4th subdivision process

Page 5: 講義内容 - Kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfRepresent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面

Local Subdivision

Simplification

Subdivision Surfaces with some features

Zorin SGISGRAP’98 COURSE 36

29

Fillet Operations for Triangular Meshes

30

Motivation

Loop Subdivision Process

Drawn by Designers

Generating Complex Polyhedron Loop Subdivision Process

Fillet Operation

32

Loop Subdivision Surfaces

Original Polyhedron After 1st Subdivision

After 2nd Subdivision After 3rd Subdivision After 5th Subdivision

34

Fillet Operations ProcessStep 1: Calculate Fillet Value for each edge.

Step 2: Generate triangles by fillet subdivision rules.

Step 4: Implement Corner-Fitting process for each vertex.

Step 3: Adjust fillet points.

Step 5: Generate smooth Loop shape.

Page 6: 講義内容 - Kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfRepresent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面

35

Examples

The Loop Subdivision Surface

The Original Polyhedron

The Generated Complex Polyhedron

Fillet Operation

36

Examples

The Original polyhedron

Fillet Operation

The Generated Complex Polyhedron

The Loop Subdivision Surface

37

Different Fillet Values

(a) Original Polyhedron (b) Loop surface (c) Loop surface (d) Loop surface after 1 iteration after 2 iterations after 3 iterations

(i) Loop surface (j) Loop surface (k) Loop surface (l) Loop surfaceafter 3 iterations after 3 iterations after 3 iterations after 3 iterations(Fillet value: 0.2) (Fillet value: 0.3) (Fillet value: 0.4) (Fillet value: 0.5)

(e) After fillet operation (f) Loop surface (g) Loop surface (h) Loop surface(Fillet value: 0.1) after 1 iteration after 2 iterations after 3 iterations

46

Adaptive Subdivision Scheme for Triangular Meshes

47

ProblemTraditional Subdivision Scheme

Higher costSubdivision uniformly

Adaptive Subdivision SchemeLower costLocal subdivision is possible

48

Proposed MethodConical Angle method

Area (C0,C1,C2): limit surface of triangle (V0,V1,V2)

Analyze the planar areas in subdivision surfaces

Planar areas analysis

Page 7: 講義内容 - Kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfRepresent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面

49

Conical Angle Definition})N,angle(N{max 1ii

i +CA =

The dead face will not be subdivided in the further subdivision steps.

Ni is the normal vector of face iDead Face: (a,b,c)Dead Edge: (a,b), (a,c), (b,c)Dead Vertex: a, b, c.

51

Adaptive Subdivision Refinement

Generate new faces with new subdivision rules for each face

Output results

Smooth Enough?

Give a tolerance (0~180)

Y

N

(n+1)-th level subdivision

Calculate CA for each vertex

Set flag of flat or dead to each vertex

52

Analysis of Results

Loop subdivision schemeNumber of triangles: 19752

Our proposed schemeNumber of triangles: 9172

53

Computational Analysis13056 52224 12606 32512

11040 21420 6912 8962

Regular subdivision Our method with CA=7

Our method with CA=11 Our method with CA=22

We compare the costs of our scheme on a bunny shape.

(3.45%) (37.74%)

(15.44%) (58.98%) (47.06%) (82.83%)

a a1

a2 a3

b b1

b2 b3

61

3D Sketch Interpreter System by Using T-LIB

62

ProblemCAD system

DifficultMany commandsTime consuming3D

SketchEasyQuick, Rough, Vague2D

Page 8: 講義内容 - Kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfRepresent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面

63

Research Purpose

Idea 3D Surface Model3D Solid Model

Fillet, SubdivisionSketch Interface

Modeling Interface

A 3D Sketch Interpreter System by T-LIB with Subdivision Surfaces for Geometric Modeling

64

Motivation

1. 3D Sketch Interpreter System by Using T-LIB

2. Fillet Operation for Triangular Meshes

3. Adaptive Subdivision for Triangular Meshes

Generate complex polyhedra

Make freeform surfaces

Generate polyhedra from freefrom sketch lines

65

Introduction1. OriginalityThe idea is to use a template topology library(T-LIB) as an essential tool to reconstruct and modifty 3D object with sketch lines.

Sketch Lines Local Edge Graph Gi+1

Gi T-LIB

3. Edge Graph

2. Modeling process

66

System Overview

Reconstruct 3D shapefrom T-LIB

Analyze topology

Exist? Yes

Input strokes

Analyze the local region around the strokes

Match library (T-LIB)OK?

No

Fillet Operation

Output data

Adaptive Subdivision

Build 2D Edge Graph

3D ObjectExist?

Project 2D Edge Graph to 3D object

and Modify it

New template definition

Yes No

No

Yes

67

Template Library (T-LIB)

Triangular Pyramid

Triangular Prism

Cube

3D Shape2D Edge GraphT-LIB

68

Basic Shape ReconstructionInput stroke on Sketch Plane

Build Edge Graph

Analyze topology

Create 3D shape from T-LIB

The basic 3D shape is calculated by evaluating a camera normal and using parallel projection.

(g-de)( )2+2(cg-cde) +(fh+gc2-cdh-cef)=0z

1vz

1v

Page 9: 講義内容 - Kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfRepresent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面

69

3D Shape Modification

3D object

Input stroke

Modify3D object

Q1: About parallel information?A: Use angle (<θ) threshold.

Q2: About cracking problem?A: Detect firstly.

Input stroke on Sketch Plane

Build Edge Graph

Analyze topology

Modify 3D shape

Project Edge Graph to 3D object

71

Modeling a Mouse-like Shape

72

Modeling a Clock-like Shape

73

Modeling a Clock-like Shape

76

Modeling a Printer-like Shape

77

Modeling a Printer-like Shape

Page 10: 講義内容 - Kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfRepresent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面

84

ポリゴンへの切断線生成手法

背景:ストロークによるメッシュモデルの切開

人台メッシュモデルを元に型紙を作成したい

マウスストロークで切開線を指定したい

85

背景:スケッチインターフェース

スケッチインターフェースによるモデリングが研究されている

ストロークの形で「立体を切断する」機能は無くてはならない

[Igarashi99]

[Owada04]

86

ストロークによる切断の原理

ストロークを投影面に垂直にスイープ(切断面)

対象形状と切断面との交わりの検出

三角形の分割

数値演算の誤差で結果が破綻することがある→厳密な実装は困難

87

目的:より簡易な実装方法を提案する

ラフな解が許容されるストロークを利用している

再現性が無い。誤差が含まれる↓

ストローク形状の多少の変更は許容される

三角形メッシュで表現されている

曲面の近似表現↓

元のメッシュの解像度以上の詳細情報は重要でない

簡易な実装方法←厳密な解を追求しない

88

提案手法の概要 1モデルの頂点移動

ストロークに乗るようにモデルの頂点を移動する演算誤差による交差判定ミスの除去

扁平三角形の生成防止

近接頂点への移動 近接辺への移動と頂点挿入

89

提案手法の概要2ストロークの簡略化

1つの三角形を複数回横切らないように簡略化する

実装の簡略化↑わずか3つの分割パターンの実装で対応可能

細かい三角形が生成されることを防止

Page 11: 講義内容 - Kondolabkondolab.org/archive/2000/lect/cad/cadpdf/cad2006-11.pdfRepresent Free-Form Surfaces with Subdivision Methods Kunio KONDO CAD 工学第11回 細分割曲面

91

実験結果1

92

実験結果2

93

実験結果3 (鋭角点を含む場合)

94

ストロークによるメッシュモデルの切開

98

まとめ

細分割曲面

スケッチ入力による細分割曲面の生成

立体形状の展開のための切断線の生成