• 검색 결과가 없습니다.

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)

참조

관련 문서

( A ) Ⅰ예시답안Ⅰ half of their brain doesn ’ t sleep, so they can go up to the surface of water to breathe ( B ) Ⅰ예시답안Ⅰ they have black tongues like their

Edge 패널 핸들이 나타나지 않을 경우, 설정 앱을 실행해 디스플레이를 선택한 후 Edge 패널의 스위치를 눌러 기능을

To pray for the safety of each fisherman, the shaman walks around the edge of the boat, and offers sacrificial offerings to all the invited gods. The reason she walks around the

마지막문장 As a result , farmers try to kill the lions because they want to protect their animals.2. 나의 엄마는

SOCCER - Forty-one players from South Korea's K-League have had their lifetime bans extended worldwide following a match-fixing scandal, although 21 of them have been

- Transition to H-mode: state with reduced turbulence at the plasma edge - Formation of an edge transport barrier: steep pressure gradient at the edge...

The purpose of this study is to investigate the cognitive meanings of English causative verbs such as make make make make, have have have have, , , le , le let,

‰ clock: periodic event, causes state of memory element to change can be rising edge or falling edge or high level or low level. ‰ setup time: minimum time before the clocking