-from procedural to data-driven

51
05.11.18 1 Modelling Plants - from procedural to data-driven Oliver Deussen University of Konstanz, Germany SIAT, Chinese Academy of Science, Shenzhen Konstanz Where I am from…

Upload: others

Post on 04-May-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: -from procedural to data-driven

05.11.18

1

Modelling Plants- from procedural to data-driven

Oliver DeussenUniversity of Konstanz, GermanySIAT, Chinese Academy of Science, Shenzhen

Konstanz

Where I am from…

Page 2: -from procedural to data-driven

05.11.18

2

Ways of modelling trees

• Rule-based modeling– Uses formal grammars or other mechanisms– Very general but hard to control

• Procedural modeling– Specialized parameterizable algorithms– Quite specific but easy to control

• Today: data driven

Page 3: -from procedural to data-driven

05.11.18

3

Lindenmeier-Systems

• Formal grammars• contrast to Chomsky-Grammars: parallel execution– All possible applications of rules to a string are

produced in parallel

Lindenmayer Systems

Example:V = {f,F,+,-}ω = F--F--FP = { F::=F+F--F+F}

derived text:• F--F--F• F+F--F+F--F+F--F+F--F+F--F+F• F+F--F+F+F+F--F+F--F+F--F+F+F+F--F+F--F+F--F+F+F+F--F+F--

F+F--F+F+F+F--F+F--F+F--F+F+F+F--F+F--F+F--F+F+F+F--F+F

Page 4: -from procedural to data-driven

05.11.18

4

Lindenmayer Systems

• next step: graphical interpretation• Prusinkiewicz: turtle metapher– attach pen to turtle, move turtle on the drawing plane– turtle has state (position, angle)– turtle moves straight into current direction until changes

are made

Lindenmayer Systems

• F: move turtle in current direction about given (fixed) length l, draw a line

• f: move turtle in current direction about given (fixed) length l without drawing

• +: increase angle about given amount δ• -: decrease angle about given amount δ• [ store current graphics state on stack• ] read (and pop) graphics state from stack

Page 5: -from procedural to data-driven

05.11.18

5

Lindenmayer Systems

Þ 3D Objects: 3d angles, triangulation

Lindenmayer Systems

Page 6: -from procedural to data-driven

05.11.18

6

1967 E. Cohen: the first model

Procedural modeling of plants

Page 7: -from procedural to data-driven

05.11.18

7

Procedural modeling of plants

1977: Honda, Fischer: three-dimensinoal models

Procedural modeling of plants

1985: Reeves and Blau (Pixar)

• feature film „The adventures of Andrew and Wally B.�

• simple branching structure

• particle systeme for leaves (a particle for each leaf)

• appropriate rendering creates very realistic look

Page 8: -from procedural to data-driven

05.11.18

8

Prozedurales Modellieren von Pflanzen

Page 9: -from procedural to data-driven

05.11.18

9

Procedural modeling of plants

1985: Bloomenthal, geometric modeling of trees

Page 10: -from procedural to data-driven

05.11.18

10

Procedural modeling of plants

1986: Oppenheimer, fractal tree model (recursive)

Procedural modeling of plants

1988 de Reffye et al.

• biologically oriented growth• buds: probability to grow, rest or die• basis of AMAP / NatFX

Page 11: -from procedural to data-driven

05.11.18

11

Procedural modeling of plants

Procedural modeling of plants

1994: Holton

• allometric rules obtained from da Vinci:• area of father branch equals sum of areas of children

(Sv=S1+..+S4)

Sv

S1

S2

S3

S4

Page 12: -from procedural to data-driven

05.11.18

12

Procedural modeling of plants

1994: Holton

Modeling idea:• branches consist of pipes, that connect leaves with roots• # of pipes determines width and branching angle• creates proportionen of da Vinci

Procedural modeling of plants

Page 13: -from procedural to data-driven

05.11.18

13

Procedural modeling of plants

1995: Weber & Penn:

• procedural model with 50 para-meters

• allows maximum freedom formodeling

• done for military simulations

Page 14: -from procedural to data-driven

05.11.18

14

Page 15: -from procedural to data-driven

05.11.18

15

Procedural Modeling of Plants

1989: Greene, winding plants

2008: Ivy Generator (Thomas Luft)

Page 16: -from procedural to data-driven

05.11.18

16

Xfrog§ First system for practically producing plant models§ Combines rule-based and procedural generation

§ Objects are described by a graph§ Nodes: procedural elements

§ Geometry production§ multiplication

§ Links: simple form of rule-basis§ Addition§ multiplication

Page 17: -from procedural to data-driven

05.11.18

17

William Latham

Modeling a plant

Page 18: -from procedural to data-driven

05.11.18

18

Description of a tree

Page 19: -from procedural to data-driven

05.11.18

19

MPI Saarbrücken

Kryzstoph Plonka

Page 20: -from procedural to data-driven

05.11.18

20

Page 21: -from procedural to data-driven

05.11.18

21

Jan-Walter Schliep

Jan-Walter Schliep

Page 22: -from procedural to data-driven

05.11.18

22

Holger Schömann

Image: Thomas Jarosch

Page 23: -from procedural to data-driven

05.11.18

23

Image: Kizo

Data Driven Tree Modeling

Page 24: -from procedural to data-driven

05.11.18

24

Main Branching Structure

Foliage Shapes

Species-related Foliage Details

++

Data-driven Tree Description

Y. Livny, S. Pirk, Z. Cheng, F. Yan, O. Deussen, D. Cohen-Or, B. Chen: Texture-Lobes for Tree ModelingACM Transactions on Graphics (Proceedings of SIGGRAPH 2011), 30(4), Article No. 53

Data-driven Tree Description

Real Tree Point Set Lobe-based Representation 3D Reconstruction

ClassificationSpecies Patches

Page 25: -from procedural to data-driven

05.11.18

25

Given Tree DataSkeleton [Livny2010]Diameters

diameter < average point distance

Lobe-based Representation

α-Shapes

Lobe-based Representation

Page 26: -from procedural to data-driven

05.11.18

26

branchlets patch libary synthesized lobe geometry

Lobe details (foliage)

Near FarDistanceto Camera

VBO

Leaves

Control-/Evaluation Shader

Geometry Shader

Final Mesh

Input

Branches: Mesh Generation [Bloomenthal 1985]

Leaf Data (Lobe Reconstruction)

GPUCPU

Skeletal Graph

Mesh Construction

Page 27: -from procedural to data-driven

05.11.18

27

Results: Bischofia Trichocarpa

Results: Delonix

Page 28: -from procedural to data-driven

05.11.18

28

Results: Willow Tree

Other species

Page 29: -from procedural to data-driven

05.11.18

29

10,000 Distinctive Models

20 Different Species 152 MB (2 MB + 150 MB)for the entire scene

20 x 100 kB (Species Information)

10,000 x 15 kB (Lobe-based Representation)

Populating an Urban Landscape

73

Page 30: -from procedural to data-driven

05.11.18

30

Problems so far:

• The captured models are static– no growth, no interaction

• Users don‘t want to model directly– Plants should react to enivronment– Variety of objects should be created with minimal user

intervention

Adaptive Data-driven Plant Models

S. Pirk, O. Št'ava, J. Kratt, M. Abdul-Massih, B. Neubert, R. Měch, B. Beneš, O. Deussen: Plastic Trees: Interactive Self-Adapting Botanical Tree ModelsACM Transactions on Graphics, (Proceedings of SIGGRAPH 2012), 31(4), Article No. 50

Page 31: -from procedural to data-driven

05.11.18

31

?

Bending

Pruning

Phototropism

Gravitropism

Backward modeling

Page 32: -from procedural to data-driven

05.11.18

32

branch direction with tropismsh

wsd0

hypothetical branch without tropism

ws

ph(1-ws)t

direction of tropism

Backward modeling

How much light was cast onto a part of a tree?

shadow volume

lobe

à required for bending/pruning

Backward modeling

Page 33: -from procedural to data-driven

05.11.18

33

Temporal Light Conditions

propagate leaf clusters towards the root

adjust graph and clusters

leaf clusters cast shadows (shadow volumes)

leaf cluster movement

Backward modeling

only bending only pruning

Interaction with obstacle

Page 34: -from procedural to data-driven

05.11.18

34

Original Model Bending Pruning ResultBending + Pruning

Intermediate Representation Final Rendering

Page 35: -from procedural to data-driven

05.11.18

35

5x faster

Page 36: -from procedural to data-driven

05.11.18

36

Inverse Procedural Modelling

Problem:

• Inverse modelling (find rules for a given geometry) is NP-hard

• works only if we reduce the parameter space

• Thus: parametric rules are given, parameters areoptimized

Page 37: -from procedural to data-driven

05.11.18

37

Page 38: -from procedural to data-driven

05.11.18

38

Animating the Morphogenesis of Trees

Page 39: -from procedural to data-driven

05.11.18

39

S. Pirk, T. Niese, O. Deussen, B. Neubert:Capturing and Animating the Morphogenesis of Polygonal Tree Models,ACM Transactions on Graphics (Proceedings of Siggraph Asia), Volume 31 Issue 6, November 2012,

Idea:

• Plastic trees: – simple backward computation for interaction– Not applicable to create younger/older trees

• Now: – more elaborate computation for growth animation– allows for dynamically changing the age of the models

Page 40: -from procedural to data-driven

05.11.18

40

Skeletal Graph

- Growth Rate- Branch Age- Gravelius Order

Measuring the Order of Branches

Graveliuls Order: • Ordering method for identifying

hierarchies.• Determine main trunk based on Angle

between branches.• Also considering length and thickness of a

branch.

d1

d2

d3

l2

l1

Level 3

Level 1

Level 2

Page 41: -from procedural to data-driven

05.11.18

41

Pipe Model Theory

Plant forms emerge form vascular systems.- units connecting the leaves to the root.- provides us with branch radii.

[Shinozaki et al. 1964]

Angle/Radii Interpolation

Page 42: -from procedural to data-driven

05.11.18

42

Intermediate Results

Missing Branches and Leaves

Adding Missing Structures

Branches Missing Additional Branches

Page 43: -from procedural to data-driven

05.11.18

43

Utilizing Self-Similarity

Chain Order 1

α

α

ÞCopy and Move Branches

Chain Order 2

Add Branches

Animation with additional branches removed over time.

Animation with additional branches.

Utilizing Self-Similarity

Page 44: -from procedural to data-driven

05.11.18

44

Crown Ratio

Crown Ratio

Overlap Region

General idea:

Add Geometry where no information was available in the original model.

Remove Geometry during animationto maintain plausibility and to eventually reach the input.

Final Animation of Growth

No Additional Branches

AdditionalBranches

Additional Branches and Pruning

Page 45: -from procedural to data-driven

05.11.18

45

Growth-based EditingInput

Parameters

Tim

e

Growth-based Editing

Individual Growth of Branches

Page 46: -from procedural to data-driven

05.11.18

46

Various Species

Different Inputs

Xfrog

<Model type="ModelC"><Age val="35"/><Thickness factor="2.0" min_thickness="0.00847911"/><Branching_Angle mean="45" deviation="5"/><Main_Angle mean="0" deviation="8"/><Roll_Angle mean="130" deviation="3"/><Tropism photo="0.05" gravi="-0.01" level_factor="0.001"/><Gravity val=".09009" max_bending="0.89"/><Apical_Dominance val="5.59" age_factor="0.979996997" dist_factor="0.5"/><Apical_Control val="5.5" age_factor="0.91" levl_factor="0.91"/><Pruning strength="0.48" low_branch_pruning="5.5" translucency="0.3"/><Internode length="0.55" age_factor="0.95"/> <Buds numLateral="1" lateral_killP="0.01" apical_killP="0.000"/><Buds_Light lateral_factor="0.03" apical_factor="0.5001"/><Resources cost="4.25"/></Model>

L-Systems LiDAR

Page 47: -from procedural to data-driven

05.11.18

47

LimitationsÞ so far only monopodial trees

Limitations

Specific growth behavior

Unrealistic States

Page 48: -from procedural to data-driven

05.11.18

48

Interactive wind-based modeling

Page 49: -from procedural to data-driven

05.11.18

49

Summary

• Early years: pure modelling approaches– L-Systems (rule-based grammars)– Procedural systems

• Modelling of ecosystems– Biological simulation (individuals that interact)

• Data-driven approaches– Efficient storage of captured models– Making static models dynamic– Inverse procedural modeling

Page 50: -from procedural to data-driven

05.11.18

50

Page 51: -from procedural to data-driven

05.11.18

51