Sitio en cosntrucción

  • Enter Slide 1 Title Here

    This is slide 1 description. Go to Edit HTML and replace these sentences with your own words. This is a Blogger template by NewBloggerThemes.com...
  • Enter Slide 2 Title Here

    This is slide 2 description. Go to Edit HTML and replace these sentences with your own words. This is a Blogger template by NewBloggerThemes.com...
  • Enter Slide 3 Title Here

    This is slide 3 description. Go to Edit HTML and replace these sentences with your own words. This is a Blogger template by NewBloggerThemes.com...

Simple Mouse Hook - Windows API en C


Este código es un Mouse Hook, el cual permite tomar el control del mouse a nuestro programa en C/C++ en Windows usando la API de Windows. Con esto podemos crear rutinas para automatizar rutinas en la PC. La demo esta hecha en Codeblocks, en Windows 10.




Es un código muy simple y bastante facil de entender, el mismo esta disponible en mi GitHub, pueden acceder desde http://github.com/arielivandiaz/WinAPI
Share:

Obtener el color de un pixel con el cursor

Con este programa, basando en el anterior código de leer la posición del mouse, podemos leer el color RGB del pixel en el que se encuentra el cursor en Windows.

Con este programa podemos mapear imágenes en la pantalla sin necesidad de abrirla desde un archivo, directamente ir muestreando los pixeles y aplicar algun tipo de algoritmo para procesar la imagen o el patrón. 
Repositorio:
https://github.com/arielivandiaz/WinAPI/blob/master/Get_Color_Pixel/main.cpp


Share:

Leer posición del Mouse mucho mas Simple

Con respecto a la entrada anterior sobre este tema, en esta nueva entrada encontré una forma mucho más sencilla de leer la posición del mouse en Windows.
Es un código mucho mas corto e intuitivo que funciona a la perfección.

Repositorio:
https://github.com/arielivandiaz/WinAPI/blob/master/Mouse_Pos_2.0/main.c

/**
* Mouse Position Simple
* @Version 1.0
* @author Ariel Ivan Diaz
* @URL www.arielivandiaz.net
* \note Este programa immprime en consola la posicion del mouse
*/

#include <windows.h>
#include <stdio.h>

int main(int argc, char** argv)
{
    while(1)
    {
        POINT mouse; //Estructura que contiene las coordenadas
        HDC _hdc = GetDC(NULL);  //Crea el contexto
        if(_hdc)
        {
            GetCursorPos(&mouse);
             printf("La posicion del mouse es %d ; %d \n", mouse.x,mouse.y);
        }
    }
    return 0;
}

Share:

Métricas de Algoritmo de Simulación de Partículas

Resumen:
Basándose en el código del TP de CS267   de la Universidad de Berkeley, se busca evaluar la performance de este algoritmo de simulación de partículas en Serie, OpenMP y CUDA. Se compararon los resultados y se sacaron conclusiones.


Link de la Presentación:
Código:

Share:

Leer la posición del Mouse en Windows



Este programa imprime en consola las coordenadas en las que se encuentra el puntero del mouse en la pantalla. Cada vez que se mueve el mouse se actualiza la consola con la nueva posición y el programa se detiene cuando se presiona Escape.

Repositorio:


Share:

Crear un Widget para insertar About.me en nuestra web

Personalmente le tome mucho cariño a about.me por la posibilidad que brinda de ser una elegante tarjeta de presentación online en la que se pueden vincular todas nuestras redes sociales y demás. Después de varios años sin usarlo, volví hace poco para actualizar mi perfil y poder usarlo como presentación en mi blog. No existe un widget de about.me para insertar en Blogger, antes existía para Wordpress pero el nuevo diseño de about.me ya no lo permite. Es por eso que me tuve que tomar el trabajo e buscar una forma de adaptar mi “elegante” tarjeta de presentación para poder insertarla como un widget HTML/Javascript tanto para Blogger como para cualquier otra web, y procedo a compartir.

Sin más preámbulo el código utilizado se basa en crear un <iframe> que es una potente característica de HTML en la cual meter muchas cosas, en este caso embeber la web de about.me. El problema es que para que poder contener la web entera en un espacio pequeño hay que escalarla y setear bien las divisiones <div> de nuestra web para que todo encaje. 

Para todo esto recurrimos al siguiente código:

<iframe id="iframe" width="345" scrolling="no"  height="1020" frameborder="0" src="http://about.me/arielivandiaz" style="
transform: scale(0.63); /*En general*/
-webkit-transform: scale(0.63); /*Para Chrome y Safari */
-webkit-transform-origin: 0 0;
-ms-zoom: 0.63; /*Para Internet Explorer */
-moz-transform: scale(0.63); /*Para Firefox */
-moz-transform-origin: 0 0;
-o-transform: scale(0.63);  /*Para Opera */
-o-transform-origin: 0 0;
">&nbsp;</iframe>


Share:

Optimización de PSO utilizando OpenMP

En este nuevo proyecto se busca optimizar el algoritmo de optimización por enjambre de partículas, al hacerlo correr en paralelo mediante OpenMP.

Link presentación:

Share:

Análisis de Optimización por Enjambre de Partículas en Procesamiento Serie para Computación de Alta Performance

Resumen
En este trabajo se estudia la ejecución del algoritmo estándar de enjambre de partículas (Estándar PSO[1]) en su ejecución en serie para la resolución de distintos problemas. Se realizaron pruebas en 3 plataformas muy distintas y se obtuvieron resultados que se interpretaron en gráficas para realizar las correspondientes conclusiones.
Introducción


La optimización por enjambre de partículas es un método para la resolución de problemas basado en el comportamiento natural de partículas en un espacio multidimensional. Este es un algoritmo muy utilizado para realizar optimizaciones de grandes y complejos problemas científicos. Consiste en distribuir de forma aleatoria un conjunto de partículas en un espacio y en el cual se encuentra la función del problema que se está estudiando, y estas partículas se moverán por el espacio interactuando entre ellas para ubicarse en torno a un sector que representara la solución al problema.


Conclusión
La ejecución en serie de esta optimización permitirá realizar las correspondientes evaluaciones de métricas de programa cuando se implemente este en paralelo en un futuro proyecto. Este trabajo permitió entender que la solución de cada problema puede optimizarse mejor mientras mejor sea el estudio que se tiene sobre el problema y de que configuración se necesitaría para su optimización. También que distintas plataformas y arquitecturas pueden resultar mejor para ciertos casos, no solo para ciertos problemas sino para las distintas configuraciones de optimización.
Se plantea entonces que para una aplicación seria de PSO se deberían realizar pruebas para evaluar cuál sería el mejor camino para configurar la optimización y así ahorrar tiempo de cálculo.


Trabajo Completo Pendiente de Publicación.

Share:

Imperial March with STM32F4 Discovery


Share:
Copyright © Blog de Ariel Ivan Diaz | Powered by Blogger
Design by SimpleWpThemes | Blogger Theme by NewBloggerThemes.com | Distributed By Blogger Templates20