Mostrando entradas con la etiqueta nube de punto. Mostrar todas las entradas
Mostrando entradas con la etiqueta nube de punto. Mostrar todas las entradas

martes, 16 de abril de 2019

Nube de puntos - 5: Desempeño de punta


Nube de puntos - 5: Desempeño de punta

En la publicación previa aprendiste sobre algunos de los diferentes softwares que pueden ser usados para crear y manipular nube de puntos. En esta publicación aprenderás cómo el software supera el reto de mostrar esas grandes cantidades de datos en la pantalla y cómo puedes usar esto para mejorar la velocidad de tu software.

Ver modelos grandes con fluidez
Cómo te has dado cuenta hasta ahora: las nubes de punto son grandes. Dado que una computadora tiene una limitada capacidad de memoria, no puede sostener todos los puntos de una nube de puntos, en la memoria, durante todo el tiempo. Una pantalla de computadora tiene también un finito número de píxeles. Es por eso que no hace sentido mostrar todos los puntos a la vez.

Multi-escala al rescate
Básicamente, el software de nube de puntos resuelve este problema al solamente mostrar los puntos que son realmente visibles. Esta visibilidad depende de la resolución de la pantalla y el tamaño de la “ventana” que se está usando para ver la escena. Imagina que tu pantalla tiene 4 millones de píxeles, entonces 4 millones es el número máximo de puntos que pueden ser mostrados en cualquier momento dado. Esto puede ser tanto una versión de baja de resolución de su completa extensión o una pequeña parte en detalle completo.
Para ilustrar esto, vamos a darle un vistazo a una imagen 2D. Nuestro ejemplo usa una imagen skyline en 3 niveles de acercamiento. Imagina que tu computadora sólo puede mostrar 300x192 píxeles. Este es el tamaño del enmarcado de las imágenes en nuestro ejemplo. Dependiendo de que tanto te acerques o alejes, puedes ver la escena completa en baja resolución (izquierda), algunos detalles ( en medio) ó a máximo detalle (derecha). En cada ejemplo, el mismo número de píxeles está siendo mostrado.
Usando tres diferentes niveles de acercamiento. Imagina un visor que puede siempre mostrar el mismo limitado número de puntos. Esto puede ser la escena completa a baja resolución, una parte media a mediana resolución, o una pequeña parte a alta resolución. Designed by rawpixel.com / Freepik
La diferencia es que la nube de puntos son 3D no 2D, y 300X192 es muy pequeño a comparación de los estándares de pantalla actuales. Sin embargo, el principio es exactamente el mismo. El software no lee ni muestra todos los puntos a la vez. En vez, sólo lee y muestra lo que es relevante para la vista actual en un momento dado.

La multi-escala necesita un extra-preprocesamiento
Para poder encontrar esos puntos rápidamente, el preprocesamiento necesita reorganizar nube de puntos en bruto de una manera más eficiente. Los puntos que están más cerca en el espacio también están agrupados juntos en bloques en el disco. Para un acercamiento más veloz, los puntos también están hechos disponibles en diferentes niveles de acercamiento, justo como en nuestro ejemplo 2D. Esto explica por qué un archivo pre-procesado es más grande que los datos brutos originales.

Una vez que el preprocesamiento está listo, el software puede inmediatamente encontrar los puntos que están siendo en ese momento visibles en la pantalla. Este preprocesamiento de datos de la nube de puntos para búsqueda eficiente y consulta es también llamada “indexación”. Puede tomarse un largo tiempo, pero una vez que empieza no necesita atención humana. Si se corre por la noche, el usuario puede usar los resultados del preprocesamiento al siguiente día y este preprocesamiento sólo necesita ser computado una vez por conjunto de datos.
Detalles afinados contra desempeño
Un usuario con discos duros veloces, una mayor resolución de pantalla y más RAM disponible puede manejar un número más grande de puntos a la vez que un usuario con más limitado hardware. Es por lo que es útil ser capaz de cambiar ese número de puntos mostrados por instancia o, si quieres, el tamaño del área de visualización. En BricsCAD el comando POINTCLOUDPOINTMAX te lo mostrará.
No esperes más descargar BricsCAD desde aquí por 30 días
El texto original en inglés está aquí