420 likes | 432 Views
Street Generation for City Modeling. Xavier Décoret, François Sillion iMAGIS GRAVIR/IMAG - INRIA. Foreword. A Computer Graphics point of view Graphic artists Game developers Researchers A work in 2 parts A framework An algorithm. Motivations.
E N D
Street Generationfor City Modeling Xavier Décoret, François Sillion iMAGIS GRAVIR/IMAG - INRIA
Foreword • A Computer Graphics point of view • Graphic artists • Game developers • Researchers • A work in 2 parts • A framework • An algorithm
Motivations • City Modeling is a growing field of interest • Game and Leisure • Virtual environments are widely used • Need for larger environments • Cities are natural and appealing large environments • Analysis and Simulation • Pedestrians or traffic flow • Wave transportation
Motivations • Creating the virtual model is a tedious task • Realistic model • Model it by hand: long and costly • Reconstruct it automatically: not working yet • Semi-realistic model • Procedural modelling • Map is exact, geometry is approximative
Motivations • Creating the virtual model is a tedious task • Realistic model • Model it by hand: long and costly • Reconstruct it automatically: not working yet • Semi-realistic model • Procedural modelling • Map is exact, geometry is approximative No existing tool
Overview of the tool • Retrieve the 2D footprints of buildings • Aerial photographs • Existing 2D models • Procedurally generate buildings • Grammar, library of shapes • Style information provided by a designer (GIS) • Generate streets • Retrieve the street network • Generate geometry
Overview of the tool • Retrieve the 2D footprints of buildings • Aerial photographs • Existing 2D models • Procedurally generate buildings • Grammar, library of shapes • Style information provided by a designer (GIS) • Generate streets • Retrieve the street network • Generate geometry Our contribution
Input & Output Polygonal footprints Input Output +
Principle • We use a median axis (skeleton) • Seems natural for roads • Goes in between 2 buildings • Goes approximately at equal distance
Use of a median axis Polygonal footprints Street graph
Robustness Issues (1) • Input sensitivity Ideal case Noise effect Expected result
Robustness Issues (2) • Artefacts Unwanted branches requiring post-processing
Our approach • A topological phase • Partition the map into • Streets • Crossings
Our approach • A topological phase • Partition the map into • Streets • Crossings
Our approach • A topological phase • Partition the map into • Streets • Crossings 1 2 5 4 6 7 8 3 9
Our approach • A topological phase • Partition the map into • Streets • Crossings • A geometric phase • The graph is shaped to a correct position • Optimisation with constraints 1 2 5 4 6 7 8 3 9
Our approach • A topological phase • Partition the map into • Streets • Crossings • A geometric phase • The graph is shaped to a correct position • Optimisation with constraints 1 2 5 4 6 7 8 3 9
Topological Phase • Sample the footprints with extra vertices
Topological Phase • Sample the footprints with extra vertices
Topological Phase • Sample the footprints with extra vertices • Delaunay triangulate the samples
Topological Phase • Sample the footprints with extra vertices • Delaunay triangulate the samples • Ignore edges joining samples of a same building
Topological Phase • Sample the footprints with extra vertices • Delaunay triangulate the samples • Ignore edges joining samples of a same building
Topological Phase • Sample the footprints with extra vertices • Delaunay triangulate the samples • Ignore edges joining samples of a same building • Take the dual of edges (Voronoï diagram)
Topological Phase • Sample the footprints with extra vertices • Delaunay triangulate the samples • Ignore edges joining samples of a same building • Take the dual of edges (Voronoï diagram) • Construct a graph from the edges Crossings Streets
Our approach • A topological phase • Partition the map into • Streets • Crossings • A geometric phase • The graph is shaped to a correct position • Optimisation with constraints 9
Geometric Phase • Place sample median points
Geometric Phase • Place sample median points
Geometric Phase • Place sample median points
Geometric Phase • Place sample median points
Geometric Phase • Place sample median points
Geometric Phase • Place sample median points • Compute minimum width
Geometric Phase • Place sample median points • Compute minimum width • Greedily place a valid polyline in between
Geometric Phase • Place sample median points • Compute minimum width • Greedily place a valid polyline in between
Geometric Phase • Place sample median points • Compute minimum width • Greedily place a valid polyline in between • Split the polyline in • Segments • Curves Curve Segments
Robustness • A topological phase • Partition the map into • Streets • Crossings • A geometric phase • The graph is shaped to a correct position • Optimisation with constraints - Based on distance - Robust to footprints’shape - Solves input sensitivity - Based on optimisation - Robust to footprints’shape - Solves artefacts
Street Generation • Generate streets • Retrieve the street network • Topology • Simple primitives • Generate geometry • Match buildings boundaries • Connect correctly at crossings
Workflow • Generate streets • Retrieve the street network • Topology • Simple primitives • Generate geometry • Match buildings boundaries • Connect correctly at crossings
Generating geometry Use library of parametric modelsto build segments and curves Triangulate the remaining border
Conclusion & Future Works • We can generate geometry from a 2D map of buildings • Work in 2D1/2 • Write more parametric modules • High level features extractions • Avenues • Squares • Generate coherent trafic signs