Experimentos con ThreeJS y Kinect

Experimentos con ThreeJS y Kinect

Etiquetas: ThreeJS ParticleSystem Ribbon Line

  • ThreeJS y Kinect ParticleSystem
  • ThreeJS y Kinect Lines
  • ThreeJS y Kinect Ribbons

Este post es un resumen de tres experimentos que hicimos hace unos meses con TheeJS e información capturada con un Kinect.

La parte de kinect la hicimos en Processing, con la libreria SimpleOpenNI para kinect. Con ella guardamos un archivo en formato .ply, que guarda las coordenadas x,y,z y color (canales r,g,b y alpha) de cada punto capturado por la cámara.Algo tipo:

  1.  
  2. -72.922615 287.8525 1105.0 177 187 177 1
  3. -67.8342 290.718 1116.0 169 165 160 1
  4. -86.35575 285.93344 1105.0 159 150 174 1
  5.  

Los ejemplos muestran la visualización de este archivo en ThreeJS, utilizando lineas, puntos o ribbons. Podéis verlo en movimiento haciendo click en cada imagen.

Geolocalización por Javascript sobre Google Maps

Geolocalización por Javascript sobre Google Maps

Etiquetas: getCurrentPosition navigator.geolocation

Geolocalización por Javascript sobre Google Maps

La API de geolocalización de Javascript permite obtener la geoposición del usuario. Este ejemplo muestra como obtener la posición (latitud y longitud) del usuario y posicionarla sobre un mapa de GoogleMaps.

Algunas cosas a tener en cuenta a la hora de utilizar esta API son:

  • La geolocalización es compatible con la mayoría de navegadores modernos, tanto de mobile como de escritorio. Los casos mas "problemáticos" de incompatibilidad pueden ser IE8 e inferiores, y Opera Mini
  • La precisión de este método depende del navegador/dispositivo. Por ejemplo Chrome utiliza los Google Location Services e Internet Explorer los Microsoft Locacion Service, por lo que los resultados pueden variar en un mismo dispositivo de un navegador a otro.
  • Cuando se llama al método getCurrentPosition el navegador mostrará una ventana al usuario solicitando permiso para obtener su posición.

Algunos enlaces de interes:

Ejemplo en Movimiento

El código comentado:

Obtener coordenadas de un punto en Google Maps

Obtener coordenadas de un punto en Google Maps

Obtener coordenadas de un punto en Google Maps

Este truco sirve para cuando necesitamos obtener las coordenadas de un punto en Google Maps (por ejemplo para utilizarlas luego para mostrar ese mismo punto en un mapa que montemos nosotros en Flash con la API de Google). Para obtener estas coordenadas basta con que busquemos la dirección que queramos en Google Maps y después, en la barra de dirección pongamos esta linea de javascript:

  1. javascript:void(prompt('',gApplication.getMap().getCenter()));

Pulsamos intro, y nos saltará una ventana con las dos coordenadas del punto que hemos buscado.

Detectar soporte para HTML5 con Modernizr

Detectar soporte para HTML5 con Modernizr

Etiquetas: modernizr

Cuando empezamos a trabajar con HTML5, tenemos que tener en cuenta que no existe algo tan simple como "comprobar la compatibilidad total del navegador con HTML5", sino que tenemos que comprobar si el navegador soporta cada una de las funciones que vayamos a utilizar. Por ejemplo, podría ser que un navegador soporte la etiqueta <canvas>, pero no la etiqueta <video>, e incluso soportando la etiqueta<video>, puede que no esté preparado para reproducir determinados formatos de vídeo.

Si comprobamos el soporte para cada una de estas funcionalidades, podemos ofrecer un contenido alternativo o avisar a los usuarios para que actualicen su navegador.

Modernizr es una librería de Javascript que detecta el soporte para funcionalidades de HTML5 y CSS3 de manera muy sencilla. Por ejemplo si queremos comprobar si está disponible la etiqueta <canvas>:

  1.  
  2. if (Modernizr.canvas) {
  3.   //Podemos utilizar canvas
  4. } else {
  5.   //No está disponible canvas
  6. }
  7.  

Podéis encontrar mas ejemplos de uso y la última versión de la librería en la web de Modernizr.

También recomiendo echar un ojo a este recurso (en inglés), donde viene explicado mas a fondo el tema (y tiene otros capítulos muy interesantes): diveintohtml5.org

HTML5: pizarra con canvas y JavaScript

HTML5: pizarra con canvas y JavaScript

Etiquetas: canvas strokeStyle beginPath stroke lineTo

Una de las novedades de HTML5 es la etiqueta <canvas>. Esta etiqueta permite crear dinámicamente formas y elementos 2d. En este ejemplo, crearemos una pizarra sencilla con esta nueva etiqueta y algo de JavaScript.

La sintaxis para crear un objeto canvas, es la siguiente:

  1.  
  2.         <canvas id="pizarra" width="300px" height="200px"></canvas>
    
  3.  

Como vemos, especificamos un ancho, un alto, y un id ("pizarra") que utilizaremos para manipular el canvas desde JavaScript. El código JavaScript comentado sería este: