Insitute of Computer Graphics and Algorithms, Vienna ... · Parent link Children links Joint –...

Preview:

Citation preview

Procedural Skeletons:Kinematic Extensions to CGA-Shape

Grammars

Martin Ilčík, Stephan FiedlerWerner Purgathofer, Michael Wimmer

Institute of Computer Graphics and Algorithms

Vienna University of Technology

Preview

Procedural modelingGrammarsArticulated objects

Martin Ilčík 2

Procedural modeling

↑ Abstraction↓ Design costs↓ Artistic skills↑ Reusability

↑ Domain knowledge↓ Local control↑ Formal theory↓ Reconstruction

Martin Ilčík 3

CityEngine, Pascal Müller

Nature vs. Urbanism

ElementsSurvivalJaggedLong evolution

RegularShort termPlanarityBatch changes

Martin Ilčík 4

Rome Rebuild, Pascal Müller

Split grammars

Sets of shapes instead of symbolsLarge amount of rules and attributesAttribute propagationRule selectionImage based reconstruction

SymmetriesVisual editing

[Wonka et al. 2003]

Martin Ilčík 5image by Peter Wonka

CGA grammars

Scope to oriented bounding boxestransformation rulessplits and repetitionabsolute and relative scalingcomponent splits

SequentialOcclusionSnapping[Müller et al. 2006][Lipp et al. 2008]

Martin Ilčík 6 image by Markus Lipp

Procedural modeling of cities

Martin Ilčík 7

CityEngine, Pascal Müller

Poses and Expressions

PoseExpressionSemanticsRelationsFunctionality

Martin Ilčík 8

Poses and Expressions

PoseExpressionSemanticsRelationsFunctionality

Martin Ilčík 9

Poses and Expressions

PoseExpressionSemanticsRelationsFunctionality

Martin Ilčík 10

Poses and Expressions

PoseExpressionSemanticsRelationsFunctionality

Martin Ilčík 11

Poses and Expressions

PoseExpressionSemanticsRelationsFunctionality

Martin Ilčík 12

Excavator Example - Basis

Martin Ilčík 13

Excavator Example - Basis

Martin Ilčík 14

Excavator Example - Basis

Martin Ilčík 15

Excavator Example - Basis

Martin Ilčík 16

Excavator Example - Motor

Martin Ilčík 17

Excavator Example - Cabin

Martin Ilčík 18

Excavator Example - Cabin

Martin Ilčík 19

Excavator Example - Chassis

Martin Ilčík 20

Excavator Example - Wheels

Martin Ilčík 21

Excavator Example - Arm

Martin Ilčík 22

Excavator Example - Arm

Martin Ilčík 23

Excavator Example - Arm

Martin Ilčík 24

Excavator Example - Shovel

Martin Ilčík 25

Excavators

Martin Ilčík 26

Excavators

Martin Ilčík 27

Excavators

Martin Ilčík 28

Excavators

Martin Ilčík 29

Excavators

Martin Ilčík 30

Excavators

Martin Ilčík 31

Pose description

Kinematic ShapesRigid bodiesBones

Parent linkChildren links

Martin Ilčík 32

Pose description

Kinematic ShapesRigid bodiesBones

Parent linkChildren links

Joint

Martin Ilčík 33

Pose description

Kinematic ShapesRigid bodiesBones

Parent linkChildren links

JointDefault pose

Martin Ilčík 34

Pose description

Kinematic ShapesRigid bodiesBones

Parent linkChildren links

JointDefault poseLimited transformations

Martin Ilčík 35

Pose description

Kinematic ShapesRigid bodiesBones

Parent linkChildren links

JointDefault poseLimited transformationsCurrent transformation

Martin Ilčík 36

Pose description

Kinematic ShapesRigid bodiesBones – Automatic

Parent linkChildren links

JointDefault poseLimited transformationsCurrent transformation

Martin Ilčík 37

Pose description

Kinematic ShapesRigid bodiesBones – Automatic

Parent linkChildren links

Joint – Kinematic RulesDefault poseLimited transformationsCurrent transformation

Martin Ilčík 38

Starting configuration

Martin Ilčík 39

Sequential split

Martin Ilčík 40

Parallel split

Martin Ilčík 41

Component split

Martin Ilčík 42

Properties

Kinematic independence

Martin Ilčík 43

Grammar ExampleBuildingRoot →

Subdiv(“Y”, 3.5){Basement|Floor}

Floors → Repeat(“Y”, 3a){Floor}

Martin Ilčík 44

Grammar ExampleBuildingRoot →

Subdiv(“Y”, 3.5){Basement|Floor}

Floors → Repeat(“Y”, 3a){Floor}

Floor → Comp(“sidefaces”){FloorFacade}

FloorFacade → Repeat(“Y”, 1.5a){WindowPane}

Martin Ilčík 45

Grammar ExampleBuildingRoot →

Subdiv(“Y”, 3.5){Basement|Floor}

Floors → Repeat(“Y”, 3a){Floor}

Floor → KinematicRotation(RotLimits,CurrentRot)Comp(“sidefaces”){FloorFacade}

FloorFacade → Repeat(“Y”, 1.5a){WindowPane}

Martin Ilčík 46

Grammar Example

Martin Ilčík 47

Conclusions

Poses enrich semanticsRule based

Simple extension to CGAIntegrationInteractivity

Rigging for freePost-processing

Martin Ilčík 48

Future Work

Connectivity preservationMass and stabilityDeformationsAnimationIK

Martin Ilčík 49

Acknowledgements

Johannes Kühetreiber, Frederico DusbergerDaniel Scherzer, Markus LippReviewers

FIT-IT Visual Computing InitiativeGameWorld Project

THANK YOU FOR YOUR ATTENTION

Martin Ilčík 50

Recommended