Multi-resolution technique for a large 3-D mesh

6 visualizaciones (últimos 30 días)
Affan
Affan el 15 de Jul. de 2015
Comentada: Walter Roberson el 17 de Jul. de 2015
I was hoping if someone could help me point to the right direction when it comes to visualizing large 3D point clouds without downsampling in MATLAB.The large 3-D points clouds will ultimately be converted to mesh for visualization. Now I have looked up functions like scatter3 and fscatter3. However they deal with downsampling data. I want to preserve all the points in my data. I have over 100 million points. I understand that there is no possible way to show that many pixels on a desktop screen. However I was wondering if there was a technique to focus into the data as you zoom into it (like the tile zoom in Google Maps). For instance the mesh will have higher resolution as you zoom in further into the mesh. I looked up and found that "plot (Big)" was available for 2D data. I am wondering if there is a similar library for a 3D mesh? Apologies if this question sounds trivial.

Respuestas (1)

Ghada Saleh
Ghada Saleh el 17 de Jul. de 2015
Hi Affan,
I understand that you would like to plot a high resolution 3D mesh using large number of points. You will need to build a function that have similar functionality to "plot (Big)" but for 3D. Basically, you will treat the 'rendering of the data' separately from the 'processing of the data'. The function should do the following:
  1. Downsample the 3D data. You can use scatteredInterpolant class to downsample your data.
  2. Render your surface at a low resolution using the downsampled data.
  3. Program the zoom mode callbacks to re-render the surface at higher resolution which get activated when a user zoom in a particular area of the mesh.
Note that, since you are zooming in on a smaller surface, the number of data points required to re-render the mesh in high resolution would be less than the total original data points.
I hope this helps,
Ghada
  1 comentario
Walter Roberson
Walter Roberson el 17 de Jul. de 2015
I agree, the way to go is to reprogram the zoom callbacks, and use the current information about the xlim and ylim to extract a portion of the data and render that.

Iniciar sesión para comentar.

Categorías

Más información sobre Point Cloud Processing en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by