MH3DV (Multi-Hydro 3D Visualisation) is a software dedicated to 3D display of hydrological
models. The inputs and outputs are converted and displayed inside a friendly user interface.
This conversion allos to better understand the data a the displayed phenomenon.
This software is in development in the Julien Richard thesis which deals with the conversion of
hydrological models into decision tool. This work is financed by the
Blue Green Dream Project.
The following parts will briefly describe the operation of the program.
Languages and libraries
To have a good calculation time and a 3D display inside a user friendly interface, somme
choices had been done concerning the programming languages and libraries:
C++ for the mathematical fonctions:C++ is a languages often
use to have a quick calculation time. The objet-oriented side of the C++ is useful
in our case.
OpenGL for the 3D display<
is a graphic library allowing the creation of 2D and 3D display. We use it
to visualize 3D objet inside the interface.
Qt for the interface
is an application for the interface creation. All the windows, buttons, menus, etc.
.. are generated by this tool.
QGIS for the GIS data
is a free and open source geographic information system. We use it for the maps
display in 2D and essentially for the work on the input files as raster and
vectorial files (.shp).
C++, OpenGL, Qt and QGIS are multiplatform. Today, the development is done on linux
platform but the final version of this software will be available on MacOS and Windows.
A tutorial was done by Abraham Traoré to download and install all the packages and library
to use MH3DV on Linux.
Several functions are coded to make the conversion between the raw data and the 3D display.
For example a function calculated all the roofs for the 4-walls houses. Others are there to get
the elevation of any point inside the catchment, or to extrude buildings with a default value.
All this function exist in algorithm form.
An internship had been done on the water depth visualisation problem. As the outputs are
grid for this data, somme pre-processing have to be done if we want to have a smooth shape the
the water limit. After a study on this question, Abraham Traoré proposed to used the Béziers
curves algorithm to smooth the isoline (water limit). This solution is not implemented yet. The
report be can found here (
I'm now coding the water surface inside these limits. In few months, the sewer system will be
visible inside the 3D display. For the outputs, I will add the velocity on the surface and the
level of water inside the pipes.
A lot of information can be visualized in 3D. All data have to be convert to scope the input
format of the graphic library (OpenGL).
The topography data is a raster file. A triangulation is done on it because OpenGL is less
power consuming with triangles than other polygons. The next figure is a output after
Land use (raster and vector)
The land use is converted into grid for the model. We can display the converted file and also
use the raw data to have the building in 3D. The next two figures display the grid land use and
the 3D buildings.
Isolines are calculated automatically for the topography and also for the water depth. As we
have one file for each time step, an animation is done with the water depth isolines.
When the isolines are not displayed, the raster files can be plot inside the 3D view after
the triangulation step (explain in the topography part).
A virtual sly is implemented to make more real the simulation. For that, a box is build
around the scene and on each side od the square a sky texture is applied. The next figure shows
A 3D tool had been implemented to more involve the user. The anaglyphic stereoscopy was coded
and applied on the display. To fell the 3D in the next figure, please use a blue/red glass .