Planet

GUI de Datos Antroponométricos

Los datos antroponométricos se refieren a las dimensiones y medidas de las personas. En el caso de la dietética, se utilizan para saber la cantidad de masa grasa, muscular y agua de que está compuesta cada persona. Para obtener los porcentajes exactos en base a estas mediciones se realizan unas operaciones con varias fórmulas ya estudiadas y probadas (pero que no son contenido de este blog).
En GADA podremos almacenar tantos datos antroponométricos como queramos de un mismo paciente, eso sí, de días diferentes. Así nos permitirá seguir la evolución de una forma más fácil y sencilla. Para ello, podemos utilizar la siguiente pantalla, accediendo desde el apartado Pacientes:

Como vemos, tenemos varios botones para el cálculo de estos porcentajes, y un campo para elegir la fórmula que más se adapte a nuestras necesidades o gustos.

Añadiendo comportamientos a agentes

Continuando con la serie de minitutoriales, toca dotar a nuestros agentes de inteligencia. Lo haremos añadiéndoles comportamientos. Un comportamiento es un algoritmo sencillo que nuestro agente ejecutará para intentar cumplir un objetivo. Evidentemente no hay inteligencia real en estos comportamientos, pero al tener muchos agentes interactuando entre ellos al final aparece un comportamiento global que [...]

Gráficas ya funcionando

Pues nada, comentáros que el servidor ya está en funcionamiento, ya está generando perfectamente las gráficas de Interdía y la Media, ahora pasamos a investigación de las conexiones inalámbricas por Zigbee, y también investigar energías renovables, como las energías solares, a ver como avanza la cosa, espero mañana subiros el programa de reaccion, como podéis ver ya han salido versiones descargables para usar con un arduino y el servidor, solo tenéis que visitar la forja del proyecto, espero dentro de poco modificar la web, y crear  una sección de descargas a parte de también una sección de tutorial, donde colgaré algunos vídeos para que veáis el funcinamiento de los arduino, montaje, etc.
Echaros un vistazo a la página web y podréis ver las primeras gráficas ya generadas.
Álvaro

GUI de Intolerancias

Como son las cosas, casi dos semanas sin publicar ninguna entrada y de repente dos seguidas, pero eso no quiere decir que haya avances de última hora. Si pasáis por la forja veréis que el proyecto va viento en popa, y con bastantes actualizaciones esta semana. Hoy voy a publicar la última GUI terminada al 100% de manera funcional y gráfica; es la que se refiere a la gestión de Intolerancias del paciente, y que queda de la siguiente forma:

Como podéis ver, aquí figuran todos los alimentos y platos ordenados por nombre y con un nivel de intolerancia. Esta pantalla sólo se refiere a las intolerancias del paciente, por lo que cada paciente tendrá unas nuevas, lo cual se conseguirá seleccionando el paciente a editar. Me he decidido a usar colores para el nivel de intolerancia porque es mucho más fácil y rápido de percibir y diferenciar.

GUI de Analítica

En la dietética es muy importante ir realizando analíticas del paciente para ver cómo afecta la variación de la alimentación en el metabolismo. Para ello es fundamental tener la posibilidad de llevar un registro de analíticas. En la siguiente imagen podemos ver como es la pantalla de añadir analítica, siendo muy parecida la de consulta, salvo por el campo de texto para la fecha que no es editable, sino simplemente seleccionable según el registo de cada paciente:

Es bueno diversificar (Animación dinámica)

Antes de empezar con el Software Libre, antes de entrar en la Universidad y antes siquiera de tener GNU/Linux instalado, dedicaba mi tiempo a desarrollar con Adobe (formerly Macromedia) Flash, principalmente orientado a webs. Ahora que lo pienso, el aspecto de “comunidad” que tanto se promueve en el Software Libre lo desarrollaba mucho más en aquel entonces que ahora, más que nada porque todo lo que hacía era en torno a Flash. Fui un usuario muy activo en foros de flash como after-hours, el difunto nomaster, flashla, cristalab, etc.
Como todos sabréis, Flash es una tecnología propietaria que inicialmente se ideó para trabajos esencialmente de animación multimedia, pero con el tiempo y el desarrollo de ActionScript ha llegado a convertirse en la herramienta número uno a la hora de desarrollar RIA’s y webs dinámicas… y poco accesibles, todo hay que decirlo. Después de C++ probablemente ActionScript 2 es el lenguaje en el que más he programado, y aprendí algunas cosas que luego he podido aplicar en otros lenguajes en general, y en mi proyecto en particular.
Animación dinámica
En flash, por regla general las animaciones se hacían utilizando interpolaciones de movimiento en la línea de tiempo, esto es, en un fotograma ponías el objeto a animar en la posición inicial, y en el último fotograma colocas el objeto en la posición final, y Flash automáticamente creaba los fotogramas intermedios. Esto estaba muy limitado, al menos antiguamente, ya que ahora Flash implementa un gestor de animaciones al estilo After Effects bastante complejo de usar pero muy potente.
Para sacarnos las castañas del fuego cuando queríamos hacer una animación en tiempo de ejecución había dos vertientes. La vertiente sencilla era utilizar la técnica del “Standard Exponential Slide”, que ahora mismo (Rev. 31) podéis ver en mi proyecto en estadoMenu.cpp, y que consiste en, conociendo el punto inicial y final, en cada iteración (en cada frame) se le suma a la posición actual del objeto una fracción del camino por recorrer. En código sería algo así:
x += (posiciónFinal - posiciónActual) / velocidad;
Esto tiene un inconveniente, y es que si te fijas, es como una especie de método de bisección tomando siempre el lado derecho, lo que implica que x nunca llegará a valer posiciónFinal teóricamente, y en la práctica aunque en la mayoría de los casos el redondeo hace bien su trabajo, hay veces en los que la animación no acaba. ¿No te lo crees? Bájate mi proyecto ahora mismo y ve al Estado Menú, y mientras ves la animación ten la consola al lado. Verás que, aunque los botones terminen de moverse, la animación internamente sigue porque no se ha llegado a la posición final, y hasta al menos un segundo después no sale en consola el mensaje de que la animación ha acabado.
Por otro lado, los pro’s como yo utilizaban librerías de tweening que facilitaban la cosa y añadían bastante más control y variedad. El recurso por excelencia eran las Easing Equations de Robert Penner, tanto que se hicieron oficiales a partir de Flash MX y venían integradas en el lenguaje.
Penner aportó una serie de ecuaciones para hacer animaciones en las que la velocidad variaba de forma cúbica, senoidal, lineal, etcétera, y aportaba opciones para hacer ease in, ease out y ease inout — esto es, hacer animaciones de aceleración, de frenado, y de aceleración y frenado, todo esto de forma suave (eeeease ). Podéis ver un ejemplo en una web que hice hace mucho: http://www.distrigaditana.com/
En fin, que pensando en mi proyecto, y teniendo en cuenta que las ecuaciones de Penner tienen una licencia BSD, he decidido intentar implementarlas y usarlas en C++ a ver si lo logro. Lo mejor de todo es que el capítulo del libro en el que Penner explicaba por primera y extensa vez el origen de sus ecuaciones ha sido liberado, y se puede encontrar aquí.
More to come.

CUSL Local, instrucciones y más

CUSL Local
Se ha celebrado hoy en la Universidad de Cádiz las exposiciones y entrega de premios de la Fase Local del CUSL4-UCA, y mi proyecto ha ganado el Accésit al mejor proyecto de Innovación. El resto del podio ha quedado de la siguiente manera:

  • Francisco Javier Santacruz López-Cepero con IdiginBPEL – Accésit del mejor proyecto científico
  • Rosa María Durante Lerate con Learning wX – Accésit del mejor proyecto docente
  • Pablo Recio Quijano con Resistencia en Cádiz: 1812 – Accésit del mejor proyecto comuntario
  • Luis Salvador Roa Rodriguez con Sim-conducción – Accésit del mejor proyecto de ocio
  • Noelia Sales Montes con wikiunix – Premio local de la 4ª edición del CUSL

Muchas felicidades a Noe porque se ha pegado la pechá con el wiki, ultimando hasta el más pequeño detalle, lo que le ha valido para ganar este merecido premio
Instrucciones de instalación
A medida que el proyecto crece va teniendo más dependencias, y la verdad es que hasta a mí me cuesta muchas veces enumerarlas e instalarlas todas. Por ello, dejo aquí a modo de recordatorio un comandazo para instalar de un plumazo todas las dependencias.
sudo apt-get install subversion g++ libgl1-mesa-dev libpango1.0-dev libboost1.40-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev portaudio19-dev
Tras ello, bajamos el proyecto del SVN:
svn checkout https://forja.rediris.es/svn/cusl4-oflute
Aunque venga compilado, lo suyo es que recompiléis Gosu para vuestro sistema:
popd .
cd cusl4-oflute/trunk/gosu/linux
./configure
make
Y compilar el proyecto
pushd
cd cusl4-oflute/trunk
make
./programa
Más…
Parece que el debate sobre la inclusión de mi clase customFont a Gosu está muy animado, hay usuarios a los que les gusta la funcionalidad. Además, he añadido soporte de negritas, cursivas y subrayados a la clase (que he subido al foro, pero no aún a la forja). Veremos en qué queda esto.

CUSL local UCA (Universidad de Cádiz)

Esta mañana ha sido la presentación de los proyectos finalistas y la entrega de premios. Así ha quedado:

  • Francisco Javier Santacruz López-Cepero con IdiginBPEL – Accésit del mejor proyecto científico
  • Rosa María Durante Lerate con Learning wX – Accésit del mejor proyecto docente
  • José Tomás Tocino García con oFlute – Accésit del mejor proyecto innovador
  • Pablo Recio Quijano con Resistencia en Cádiz: 1812 – Accésit del mejor proyecto comuntario
  • Luis Salvador Roa Rodriguez con Sim-conducción – Accésit del mejor proyecto de ocio
  • Noelia Sales Montes con wikiunix – Premio local de la 4ª edición del CUSL

Felicito desde aquí a mis compañeros y agradezco el accésit concedido, ha sido una grata sorpresa.

Premio en la Edición local de IV CUSL

Hola a todos:
Esta mañana hemos expuesto los proyectos finalistas en la edición local del Concurso Universitario de Software Libre. Tras las 6 presentaciones se han entregado los premios siguientes:

  • Francisco Javier Santacruz López-Cepero con IdiginBPEL: Accésit al mejor proyecto científico
  • Rosa María Durante Lerate con Learning wX: Accésit al mejor proyecto de docencia
  • José Tomás Tocino García con oFlute: Accésit al mejor proyecto de innovación
  • Pablo Recio Quijano con Resistencia en Cádiz: 1812: Accésit al mejor proyecto de comunidad
  • Luis Salvador Roa Rodriguez con Sim-conducción: Accésit al mejor proyecto de ocio
  • Noelia Sales Montes con wikiUNIX: Premio local de la 4ª edición del CUSL

Por tanto, este proyecto ha ganado la edición local del concurso. Me gustaría dar la enhorabuena a todos mis compañeros y agradecerles la partipación. Ha estado muy ajustada la cosa (no he acertado ninguno de los premios que había pensado…) y todos eran muy buenos proyectos.
Sobre todo agradecer la entrada en el blog de Resistencia en Cádiz:1812 de Pablo Recio y a todos los que han colaborado en el proyecto y que me han apoyado, entre ellos a Manuel, mi tutor de proyecto, a Emilio, que me ha ayudado mucho con toda la temática wiki, a Fabián, a Jose,… y lógicamente a Pablo y a Rosa (siempre se deja lo mejor para el final ).
Pues nada, solo queda el último empujoncito para el nacional. Ánimo a todos.
Un saludo a todos, unixeros!
Archivado bajo:WikiUnix

Accésit al mejor proyecto comunitario (CUSL4-UCA)

¡Buenas!
Esta mañana hemos expuesto los 6 finalistas de la edición local del CUSL, y este proyecto ha recibido el premio al Mejor Proyecto Libre de Comunidad de la UCA 2009-10, lo cual aunque no entraba en mis cábalas (imaginaba que me darían el de Docencia) es una gran alegría porque es otra valoración positiva del proyecto, sumándose a la matrícula de honor obtenida en la presentación como Proyecto Fin de Carrera.
El premio local lo ha ganado, como yo llevaba apostando semanas, Noelia Sales Montes con su proyecto WikiUnix, de lo cual me alegro muchísimo porque se de primera mano todo lo que ha trabajado en el proyecto, y se merecía un gran reconocimiento. Desde aquí mi enhorabuena a mi gran amiga por su gran proyecto
Por tanto, la cosa ha quedado así al final:

  • Francisco Javier Santacruz López-Cepero con IdiginBPEL – Accésit del mejor proyecto científico
  • Rosa María Durante Lerate con Learning wX – Accésit del mejor proyecto docente
  • José Tomás Tocino García con oFlute – Accésit del mejor proyecto innovador
  • Pablo Recio Quijano con Resistencia en Cádiz: 1812 – Accésit del mejor proyecto comuntario
  • Luis Salvador Roa Rodriguez con Sim-conducción – Accésit del mejor proyecto de ocio
  • Noelia Sales Montes con wikiunix – Premio local de la 4ª edición del CUSL

Enhorabuena a todos, y a seguir currando para la edición nacional, que tenemos que dejar la OSLUCA en buen lugar

Distribuir contenido