25
v1 v2 v3 v4 e1 e6 e3 e4 e5 e2 f1 f2 f3 f4

V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

Embed Size (px)

Citation preview

Page 1: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

v1

v2

v3

v4

e1

e6e3

e4

e5

e2

f1

f2

f3

f4

Page 2: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

+

++

+

-

-

-

Page 3: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

union

difference

Page 4: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

X

Y

Page 5: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

Z

X

Page 6: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

Z

Y

X

Page 7: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

X

-- ++

Page 8: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

Y

-- ++

Page 9: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

Reduce dimensionality

Z→XX→Y

Reduce dimensionality

Y→X

Cartesian product 3D (X,Z) X (Y)

Page 10: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

p=0.1

p=1

r=3

r=1

r=0.25

g~

f~

x

Page 11: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

Model

ViewController

State change State query

Selection

Statenotification

Selection

Page 12: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

FRep API

ViewController

State change State query

Selection

Statenotification

Selection

FRepModel

Page 13: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

X

Y

f(3,-3)=-14

f(0,0)=4 f(2,0)=0

f(2,-2)=-4

Внутренняя область

f(x,y)>0

Контур/поверхность

f(x,y)=0

f(x,y) = 22 - x2 - y2

Page 14: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

Y

X

Y

T

Y

XT

Page 15: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

Y

X

Y

X

Y

X

Y

X

Y

X

Y

X

Y

X

Y

X

t=0.1 t=0.2

t=1t=0.9t=0.7t=0.5

t=0.3 t=0.4

Page 16: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

a b c d e f g

edcbaa: F=-2b: F=-1c: F=0d: F=1e: F=2f: F=3g: F=3

Page 17: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4
Page 18: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

Entity description

Generic translator

FRep AST

Intermediatetranslator

UI Serialization …

Application specific

Page 19: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

Otherstranslators

FRep AST

Mayatranslator

C++ FRep APItranslator

LLVMtranslator

Scripting languagetranslator

Othertranslators

CUDAtranslator

OpenCLtranslator

Page 20: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

FRep AST

FRep API C++translator

API parameterdescription

APIregistration

High-level APIcode generation

Low-level APIcode generation

Test codegeneration

Serialization(s)code generation

Entity description

Generic translator

Page 21: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

FRep AST

Mayatranslator

DG NodeUI

Plug-inregistration

Maya scriptinglanguage

DG node code gen.

Page 22: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

FRepentity

FRepentity

FRepentity…

FRepentity

FRep

entity

Coordinates (Coordinates) Result

(Coordinates)

Page 23: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

FRepentity

FRepentity

FRepentity…

FRepentity

FRep

entity

Coordinates

(Coordinates)

Result

(Coordinates)

(Coordinates)

Page 24: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

FRepentity 1

FRepentity 2

FRepentity K…

FRepentity L

FRepentity M

Coordinates: P

P

FRepentity N

FRepentity

P

P1P1

P1

P2 PK

PL PM

Ph

ase

1

Page 25: V1v1 v2v2 v3v3 v4v4 e1e1 e6e6 e3e3 e4e4 e5e5 e2e2 f1f1 f2f2 f3f3 f4f4

Result: V

Ph

ase 2

FRepentity 1

FRepentity 2

FRepentity K…

FRepentity L

FRepentity M

Coordinates: P

P

FRepentity N

FRepentity

P

P1P1

P1

P2 PK

PL PM VPVN

VMVL

VKV2

V1

V