Download presentation
Presentation is loading. Please wait.
Published byLynn Greene Modified over 8 years ago
1
Creation and Visualization of 3D Scenes with the MRPT library January, 2007 Jose Luis Blanco Claraco Dept. of Automation and System Engineering University of Málaga http://www.isa.uma.es
2
1. Overview Contents 2. The involved classes 3. A sample scene 5. Coding 4. Streaming
3
1. Overview Contents 2. The involved classes 3. A sample scene 5. Coding 4. Streaming
4
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 1. Overview The aim of the MRPT C++ library: The aim of the 3D scenes framework within the MRPT: - To provide a unified framework of classes representing common data structures and algorithms in mobile robotics: laser scans, camera images, grid and landmark maps, SLAM, … - Offer an easy interface for the programmatic design of 3D scenes that can be efficiently rendered by 3D accelerator cards, probably in parallel to the user application and in real-time.
5
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 1. Overview In a 3D scene visualization application there are two parts: 1) The user application, which generates 3D scenes from MRPT classes, 2) A standalone GUI application, which can visualize scenes: - Saved in binary files, or - Sent in real-time through TCP/IP streaming of MRPT objects.
6
1. Overview Contents 2. The involved classes 3. A sample scene 5. Coding 4. Streaming
7
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes There are two main classes for managing 3D scenes: - UTILS::OpenGLScene This class keeps a set of 3D objects and provides basic functionality for accessing to them. - UTILS::OPENGL::Renderizable This is the virtual base class that define the common interface of all 3D objects.
8
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OpenGLScene
9
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OPENGL::CRenderizable
10
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OPENGL::CRenderizable RGB+Alpha color components, in the range [0,1] 3D coordinates, relative the parent object. 3D rotation, in degrees.
11
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OPENGL::CRenderizable This is the list of classes derived from CRenderizable (the 3D objects):
12
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OPENGL::CGridPlaneXY
13
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OPENGL::CArrow
14
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OPENGL::CEllipsoid Ellipsoids are defined by a covariance matrix and a quantile value: - For a 2x2 matrix it is plotted a 2D ellipse on the XY plane. - For a 3x3 matrix it is plotted the corresponding 3D ellipsoid.
15
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OPENGL::CEllipsoid It can be specified two draw modes: solid, and wireframe.
16
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OPENGL::CPointCloud This class has an interface to load it from a “CPointsMap” object (a laser scan can be loaded into this object with two lines of code).
17
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OPENGL::CTexturedPlane A rectangle with a texture, in CMRPTImage format. It can also be provided an “alpha” image for transparencies.
18
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OPENGL::CSetOfTriangles This object can be used to import arbitrary 3D Studio models.
19
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 2. The Involved Classes UTILS::OPENGL::CSetOfObjects This element can be used to group an arbitrary set of 3D objects into a transformed coordinates framework. The “set of objects” can include other “sets” without limitations, up to any desired depth, building a complex tree of objects.
20
1. Overview Contents 2. The involved classes 3. A sample scene 5. Coding 4. Streaming
21
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 3. A sample scene DEMO_SCENE.3Dscene ( Demo with the 3D scene viewer )
22
1. Overview Contents 2. The involved classes 3. A sample scene 5. Coding 4. Streaming
23
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 4. Streaming ( Demo with an external application )
24
1. Overview Contents 2. The involved classes 3. A sample scene 5. Coding 4. Streaming
25
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 5. Coding Example #1: Creating a scene and saving to a file.
26
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 5. Coding Example #2: Creating a TCP/IP scene streaming server.
27
Creation and Visualization of 3D Scenes with the MRPT library J.L. Blanco, 2007 5. Coding To look at the examples with more detail: http://www.isa.uma.es/C13/jlblanco/default.aspx “Publications” “Technical Reports”
28
Creation and Visualization of 3D Scenes with the MRPT library The End!!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.