Posts tagged ‘Java 3D’

Simbología en glob3

En los últimos meses hemos estado trabajando bastante con la simbología en el rendering de vectoriales para glob3. A lo largo de este tiempo el proyecto ha ido derivando hacia ser una herramienta de visualización avanzada más que una herramienta SIG clásica.

En este momento nos encontramos desarrollando también una API de etiquetado, pero aún está en un desarrollo muy temprano aunque  los resultados son muy prometedores

Para empezar se ha implementado el Renderizado de capas vectoriales, los formatos de archivos funcionales son los más clásicos en SIG (Shapefile, postGis,GML,KML y se puede implementar fácilmente cualquiera que funcione en geotools) . El renderizado de vectoriales en glob3 en cuanto a la API tiene las siguientes características:

Escenarios de uso:

  • Renderizado en tiempo real (dentro de glob3)
  • Rederizado Batch para impresión, generación de SVG, etc…

ISymbolizer2D es una API simple y poderosa para cambiar la simbología de rendering en tiempo real (repositorio) . Usando esta interfaz se implementas 12 métodos para el control completo del renderizado.

GexpressionsSymbolizer2D / IExpression: Es un pequeño framework para crear expresiones (Interpreter Pattern) para la parametrización completa del comportamiento de renderizado

Esta arquitectura posibilita es uso de lenguajes de script de alto nivel para el control de la simbología en el renderizado (Jythos, BeanShell, Scala, etc…)

LOD: Se han implementado diferentes políticas (configurables) para la gestión del level of detail obteniendo un renderizado extremadamente rápido y optmizado

Clustering de símbolos: El amontonamiento de puntos (símbolos) es un problema, se definen políticas de visualización que permiten agrupar símbolos para mostrarlos como un grupo.

GSymbol2D: Interfaz para el renderizado simple de geometrías (Color, relleno, borde, etc…)

GVectorial2DRenderer: Quad-tree para consultas espaciales rápidas.

Coloreado: Esta es una de las partes más novedosas, pues hemos desarrollado el coloreado de set de datos mediante ColorBrewer (Basado en el trabajo de Cynthia Brewer, Mark Harrower y The Pennsylvania State University) . Hemos usado los tipos de coloreado y rampas propuestas por estos autores de manera que datos no secuenciales no tienen por qué tener una secuencia como se hace habitualmente. Por ejemplo, una rampa de color con muchas categorías (por ejemplo, un mapamundi) no tiene sentido que tenga una rampa de colores gradual. El uso de este tipo de simbología, obliga a la persona que diseña el mapa a elegir una rampa de color que siempre queda bien.

Arquitectura de renderizado: Posibilidad de renderizar símbolos 2d y 3d en tiempo real simultáneamente y renderizar 3d datos en 2d (extrusión, símbolos 3D, etc…)

Hemos desarrollado un interfaz para trabajar con esta API y demostrar su gran potencialidad:

Para cada geometría representada con glob3, puntos, curvas o superficies, podrá seleccionarse el color. Por defecto, en cada una de ellas aparecerá seleccionada la opción Color / constant; que permite cambiar el color a todo el conjunto de datos. Si se selecciona la opción Color / unique, se mostrará un panel

que permitirá utilizar colores diferentes para mostrar los distintos valores de los campos representados. Consta de una parte común, que se mostrará siempre que se seleccione la opción unique, y de una parte específica, para la elección de colores, que dependerá del valor seleccionado en Option. Este panel incluye las siguientes opciones:

AREA COMUN

  • Constant / unique: Modo de coloreado. Todos iguales o selección de colores.
  • Option: Permite seleccionar la opción para selección de colores. Por defecto utiliza la opción Brewer (color brewer). Otras opciones serán Ramp (rampa de colores) y otras aun por definir.
  • Default: permite seleccionar el color por defecto. Aplicado a todos aquellos valores no seleccionados.
  • Field: Pemite seleccionar entre los campos de las geometrías representadas aquel cuyos valores se desean colorear.
  • Lista de valores: Se muestra una lista con los valores seleccionados por el usuario junto con el color utilizado para representarlo. Tiene las opciones: Add value, add all values, remove value, remove all values.

AREA ESPECÍFICA

Depedenderá del valor seleccionado en el combo Option.

  • Option Brewer:
  • Classes: muestra un spinner, que permite seleccionar el número de valores/colores que se utilizarán en la representación.
  • Type: Permite seleccionar el tipo de colores a utilizar, entre los valores Qualitative, Sequential y Diverging.
  • Scheme: Combo para la selección del esquemade color de entre los disponibles.
  • Option Ramp: (En construcción)
  • Option Others: (En construcción)
Anuncios

julio 12, 2011 at 10:24 am Deja un comentario

Articulo en Diario Hoy 21 Agosto. Cáceres 3D

Articulo que salió en el Diario Hoy de Extremadura el día 21 de Agosto

Noticia Diario Hoy

Noticia Diario Hoy

agosto 22, 2008 at 9:35 am Deja un comentario

Prototipo Cáceres 3D

En las últimas semanas hemos estado haciendo pruebas con JAVA3D para meter modelos en un motor de realidad virtual para poder ser visitados por un usuario.

Este trabajo es sólo un prototipo, por lo tanto hay cosas no implementadas como son las colisiones, para que funcione sólo es necesario tener instalada la máquina virtual de JAVA.

Se puede descargar desde aqui

Y podemos ver un vídeo

El prototipo sólo hay que descargarlo y ejecutarlo, no hay un ejecutable de windows porque no lo hemos hecho aún pero en principio no debe ser muy complicado hacerlo correr en windows

julio 1, 2008 at 2:50 pm Deja un comentario

Caceres 3D prototype

In the last few weeks we’ve been testing JAVA3D to input models in a virtual reality Enghien to allow users to visit it.

This piece of work is just a prototype, so there are some non implemented features like collision detection, to make it work, is just necessary to have JAVA virtual machine installed.

Can be downloaded here

Video

The prototype just has to be downloaded and executed, there is no Windows executable file, we haven’t developed it yet but it shouldn’t be difficult to make it run in Windows.

julio 1, 2008 at 2:40 pm 1 comentario


Entradas recientes

Blog Stats

  • 69,396 hits