• 검색 결과가 없습니다.

Euler operator

N/A
N/A
Protected

Academic year: 2022

Share "Euler operator"

Copied!
27
0
0

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

전체 글

(1)

Euler operator

Human-Centered CAD Lab.

(2)

Euler operator

Facilitates the process of adding or deleting faces, edges, vertices during model modification

Guarantees consistent topology data

Shows systematically how a modeling command is implemented

Data structure can be separated from the modeling

program

(3)

Euler operator – cont’

Example Euler operators accepted by Stroud, Hillyard, Braid

MEV(Make Edge Vertex) & KEV(Kill Edge Vertex)

MEF(Make Edge Face) & KEF(Kill Edge Face)

MEKH(Make Edge Kill Hole) & KEMH(Kill Edge Make Hole)

etc.

(4)

Euler operator – cont’

A change in a topology entity always accompany changes in other topology entities

Changes in faces caused by an addition of edge

(5)

Euler operator – cont’

Better to manipulate a group of topology entities as a group

→ Euler operator

5 independent variables in Euler equations

→ Minimum of 5 Euler operators are needed

Different set of Euler operators are used in different

modeling systems

(6)

Euler operators used in SNUMOD

1. MEVVLS and KEVVLS

make (kill) an edge, two vertices, a peripheral loop, and a shell

V2

L1 E1

S1

V1 MEVVLS

KEVVLS

(7)

Euler operators used in SNUMOD – cont’

Allocates memory space for a shell

Creates two vertices, an edge between the vertices, and a peripheral loop

A face with empty geometry is created

MEVVLS (B(solid), &E1, &V1, &V2, &L1, &S1, X1, Y1, Z1, X2, Y2, Z2)

KEVVLS (B, E1, V1, V2, L1, S1, &X1, &Y1, &Z1, &X2,

&Y2, &Z2)

Inverse operation is used in implementing ‘Undo’ operation

(8)

Euler operators used in SNUMOD – cont’

2. MEL and KEL

make(kill) an edge and a peripheral loop

V2

V1

L1 L1

L2 E1

V1

V2 MEL

KEL

V1

L1 V2

L2 E1 MEL

V1 KEL

L1 V2

(9)

Euler operators used in SNUMOD – cont’

Divide original loop L1,into two new loops L1 and L2.

Update edge connections at V1 and V2, and edge- loop relations

MEL (B, L1, V1, V2, &E1, &L2)

KEL (B, &L1, &V1, &V2, E1, L2)

(10)

Euler operators used in SNUMOD – cont’

3. MEV and KEV (make (kill) an edge and a vertex)

V2

V1

L1 E1 L1

V1

V2 MEV

KEV

MEV

KEV V1

L1

V1 L1 E1 V2

(11)

Euler operators used in SNUMOD – cont’

Create edge E1 from vertex V1 located on loop L1

Add the edge E1 to L1

New vertex V2 is created at (X, Y, Z)

Edge connection at V1 is updated (E1 is included in L1)

MEV (B, L1, V1, &E1, &V2, X, Y, Z)

KEV (B, &L1, &V1, E1, V2, &X, &Y, &Z)

(12)

Euler operators used in SNUMOD – cont’

4. MVE and KVE (make (kill) a vertex and an edge)

Split edge E1 by adding V1 on E1 at (X, Y, Z)

E1 is replaced by two new edges E1, E2

MVE (B, E1, &V1, &E2, X, Y, Z)

KVE (B, &E1, V1, E2, &X, &Y, &Z)

E1

E1

E2 V1 MVE

KVE

(13)

Euler operators used in SNUMOD – cont’

MVE ( B, E1, V1, E2, x, y, z )

Body *B ;

Edge *E1 ;

Vertex **V1 ;

Edge **E2 ;

double x, y, z ;

{

( *V1 ) = malloc ( sizeof ( Vertex ) ) ; ( *E2 ) = malloc ( sizeof ( Edge ) ) ; ( *E2 )->tail_vertex = *V1 ;

( *E2 )->head_vertex = E1->head_vertex ; ( *E2 )->right_leg = E1 ;

( *E2 )->left_leg = E1 ;

( *E2 )->right_arm = E1->right_arm ; ( *E2 )->left_arm = E1->left_arm ; ( *E2 )->right_loop = E1->right_loop ; ( *E2 )->left_loop = E1->left_loop ; ( *V1 )->edge = *E2 ;

( *V1 )->point.x = x ; ( *V1 )->point.y = y ; ( *V1 )->point.z = z ; E1->right_arm = E1->left_arm = *E2 ;

E1->head_vertex = *V1 ; }

(14)

Euler operators used in SNUMOD – cont’

5. MEKH and KEMH

make (kill) an edge and kill(make) a hole loop

Connects vertex V1 on L1 and V2 on L2 by adding E1

MEKH (B, V1, V2, L1, L2, &E1)

KEMH (B, &V1, &V2, &L1, &L2, E1)

V2 V1

L1 L2

V2 V1

L1 E1 MEKH

KEMH

L1 V1 V2 L2

MEKH

KEMH

L1

V1 V2 E1

(15)

Euler operators used in SNUMOD – cont’

6. MZEV and KZEV

make (kill) a zero-length edge and a vertex

Split vertex V1 into V1 and V2 by adding E1

E1 is created such that it belongs to both L1 and L2

MZEV (B, L1, L2, V1, &E1, &V2)

MEKH (B, &L1, &L2, &V1, E1, V2)

V1

L1 L2

V1

L1 L2

V2 E1 MZEV

KZEV

(16)

Euler operators used in SNUMOD – cont’

7. MPKH and KPMH

make (kill) a peripheral loop and kill (make) a hole loop

Convert a hole loop L1 to a peripheral Loop

MPKH (B, L1, &L2)

KPMH (B, L1, L2)

L1

L2 L2

MPKH

KPMH

L1

(17)

Applications of Euler operators

Translational sweeping

Input : n points Pi ( I = 1, …, n ) on XY-plane & height of the object

1. An object composed of one edge E1, two vertices V1 and V2, and one loop L1 is created by MEVVLS

E1

L1

V2

V1

(18)

Applications of Euler operators – Translational sweeping

2. MEV operation is applied (n-2) times

V3 V2

V1

Vn

L1

(19)

Applications of Euler operators – Translational sweeping

3. MEL is applied

4. MEV is applied n times

L1 L2

L1

L2

(20)

Applications of Euler operators – Translational sweeping

5. MEL is applied n times  L1 becomes the Loop of top face

L1

L2 L3

(21)

Applications of Euler operators – Rotational Sweeping

Input : Pi ( i = 1,…., n ) on XZ plane Rotate with Z-axis

1. MEVVLS from P1 and P2 MEV (n-2) times

V2 Z

X V1

L1

Z

X

L1

(22)

Applications of Euler operators – Rotational Sweeping

2. Symmetric profile lines w.r.t. YZ plane are created by Euler operators as in step1.

3. L2 becomes the hole loop of L1’s hole loop by KPMH, and the shell associated with L2 is eliminated

Z

X

L1 L2

(23)

Applications of Euler operators – Rotational Sweeping

4. L2 is merged to L1 by MEKH

5. MEL is applied (n-1) times

Z

X

L1

Z

L1

L2

L1

L2 Z

Ln

(24)

Applications of Euler operators – Rotational Sweeping

6. MEL is applied n times to create rear faces

L2

Ln

L1

L2

Ln

L1 Ln+1

L2 Ln L1 Ln+2

L2n

Ln+1

(25)

Applications of Euler operators

– Primitive creation

(26)

Applications of Euler operators – Primitive creation

Body *Create_Block (W, D, H )

double W, D, H;

{

Body *B;

Shell *S;

Loop *L1, *L2, *L3, *L4, *L5, *L6;

Edge *E1, *E2, *E3, *E4, *E5, *E6;

Vertex *V1, *V2, *V3, *V4, *V5, *V6, *V7, *V8;

B = malloc ( sizeof ( Body ) );

MEVVLS ( B, &E1, &V1, &V2, &L1, &S, D/2, W/2, 0, -D/2, W/2, 0 );

MEV ( B, L1, V2, &E2, &V3, -D/2, -W/2, 0 );

MEV ( B, L1, V2, &E3, &V4, D/2, -W/2, 0 );

MEL ( B, L1, V4, V1, &E4, &L2 );

MEV ( B, L1, V1, &E5, &V5, D/2, W/2, H );

MEV ( B, L1, V2, &E6, &V6, -D/2, W/2, 0 );

MEV ( B, L1, V3, &E7, &V7, -D/2, -W/2, H );

MEV ( B, L1, V4, &E8, &V8, D/2, -W/2, H );

MEL ( B, L1, V5, V6, &E9, &L3 );

MEL ( B, L1, V6, V7, &E10, &L4 );

MEL ( B, L1, V7, V8, &E11, &L5 );

MEL ( B, L1, V8, V5, &E12, &L6 );

(27)

Example of

Modeling command

Splitting Hexagon

MPKH will detect the existence of separate shells

and store the split hexahedra into two separate shells.

4 X MVE

4 X MZEV

8 X MEL

4 X KEL

KEMH MPKH

(a)

(b)

(c)

(d)

(e)

참조

관련 문서

비가중치 모형에서는 모든 시점에서 이전 시점의 영어성취가 이후 시점의 사교육 참여 및 비용 에 유의한 정적 영향을 미치는 것으로 나타났다.. 그러나 선택편의를 조정 함에 따라 모든 시점에서 영어성취가 이후 시점에서 사교육비에 더 이상 유의한 영향을 미치지 않는 것으로

[r]

그림 3.16 그림 3.13과 마찬가지로, 움직이는 파동묶음도 많은 독립된 파들로 구성되어 있다. 그 결과로 입자가 움직임에 따라서

CATIA 에서 지원하 는 기능은 근본적으로 제품 사용 시 인체 자세에 관한 평가를 이미 구축해 놓은 근거 규정에 의해 수행하는 것이며 인체 자세 계산이 부정확하고 수동

아니오 l 구직활동이란 일자리를 얻기 위하여 공공기관이나 민간기관에 구직등록이나 이력서 제출, 면접 참여, 시험 응시, 일자리 상담 및 의뢰, 사업체 방문, 취업박람회 참석 등의 적극적인 활동을 한 경우를 의미합니다.. 단지 마음가짐으로만 구직을 하고자 하는 것은 해당하지

和歌山県 Wakayama 12,971 Marriage Support Business Hosting konkatsu event Establishing marriage support system across the prefecture 鳥 取 県 Tottori 13,398 Konkatsu Cheering Project

학생의 디지털 역량의 양상 에 대해 초등학교 교사는 학생의 디지털 역량 수준이 학생의 디지털 교 육 경험, 디지털 기기의 종류에 따라 차이가 나며 지역, 디지털 역량의 세부 영역 간의 차이가 존재하는데 디지털 교육 활동에 긍정적이며 적 극적으로 참여하는 학생들의 역량 수준이 성장한다고 인식하였다.. 다음 으로 학생의 디지털 역량

21 3.4 Model tumor antigen-displaying proteinticles as an immunotherapeutic vaccine To understand the immune response of mice after vaccination, changes in the lymph node were