Entradas

Mostrando las entradas etiquetadas como Proyectos

Compilar Ninja sobre Windows con Visual Studio

Imagen
El presente tutorial de dedicaremos al proceso requerido para construir el sistema Ninja, este es un sistema de construcción pequeño y muy rápido, actualmente Ninja se usa para construir Google Chrome, partes de Android, LLVM, y se puede usar en muchos otros proyectos debido al backend Ninja de CMake.

Intercambio de caras

Imagen
Seguimos estudiando las posibilidades que nos brindan el uso de las bibliotecas Dlib y OpenCV, en esta ocasión vamos a construir una aplicación que nos permitirá intercambiar los rostros de dos personas, aprenderemos a utilizar las funciones cv::convexHull(...) y la clase Subdiv2D , aplicaremos máscaras y utilizaremos la ya conocida función cv::seamelessClone(...) .

Instalar MySQL en Windows

Imagen
El presente tutorial muestra paso a paso el proceso de instalación del servidor MySQL en el sistema Windows, primero debemos descargar el respectivo instalador, lo puede obtener en este enlace: instalador MySQL , una vez tengas el archivo ejecútalo y sigue estos pasos para instalarlo en tu sistema:

Convertir Markdown a HTML en Java

Imagen
Conversión de un documento en formato Markdown a HTML usando la biblioteca commonmark-java diseñada para tal propósito, crearemos una GUI usando JavaFX, por un lado tendremos un TextArea donde escribiremos el texto y del otro lado se mostrará el correspondiente texto convertido.

Evaluador de expresiones matemáticas

Imagen
Evaluar una expresión matemática como 2 + 6 * 3 puede ser fácil, pero una expresión pude ser mucho más compleja, como por ejemplo: (sin (35) ^ e-15) / tan (45), puede resultar más complicado, por lo que dedicaremos este tutorial al estudio del algoritmo que nos permitirá obtener el resultado de una operación aritmética como la mostrada.

Tutorial Script CMake - Parte 1

Imagen
Esta es la segunda parte del tutorial CMake en donde veremos los posibles comandos que podemos utilizar en un archivo CMakeLists.txt para crear nuestros proyectos de software, aprenderemos a utilizar variables, crear librerías y utilizarlas en nuestro proyecto, veremos las expresiones condicionales, y muchas otras características disponibles en esta herramienta.

Tutorial Introducción a CMake

Imagen
CMake es una herramienta que permite generar proyectos para diversas plataformas, Windows, Linux, Mac OS, etc.,  generalmente usado para proyectos C/C++ pero cuenta con soporte para otros lenguajes.

Instalación Manual de PostgreSQL

Imagen
En este curso veremos como instalar el servidor de bases de datos PostgreSQL desde el archivo de zip que contiene todos los ejecutables y .dll necesarios, este modo de instalación es  necesario cuando necesitamos por ejemplo incluir el servidor PostgreSQL dentro de nuestro propio instalador con nuestra configuración personalizada. 

Generar Tablas LR para Análisis Sintáctico

Imagen
Las gramáticas LR nos permiten construir analizadores sintácticos para la gran mayoría de los lenguajes de programación que conocemos en la actualidad, en el proceso de creación de analizadores sintácticos de desplazamiento-reducción, como también son llamados, la parte mas difícil es la creación de las tablas, por lo que estudiaremos los algoritmos para la creación de las mismas y crearemos un programa que las genere automáticamente.

Método de Descomposición LU

Imagen
La descomposición de LU es una técnica que consta de dos pasos, la descomposición de LU y la sustitución; Al igual que la técnica de gauss requiere de la aplicación de técnicas de pivoteo para evitar la división por cero y evitar errores en los resultados. Paso 1: descomposición de L y U, es posible utilizar gauss para descomponer nuestro sistema de ecuaciones en una matriz L y otra U.   Matriz L            F21 = a21 / a11 F31 = a31 / a11 F32 = a’32 / a’22 Matriz U obtenida mediante eliminación de gauss d1, d2, y d3 permanecen intactos.   Algoritmo escrito en C# que realiza la descomposición de LU, en este algoritmo que se realiza técnica de pivoteo por lo que se pueden producir errores al dividir por cero.           /// <summary>         /// Algoritmo que realiza descomposicion LU      ...

Gauss Jordan

Imagen
Es una variante del método de gauss, en lugar de obtener una matriz triangular obtendremos una matriz identidad, por consiguiente no será necesario hacer sustitución hacia atrás para obtener nuestra solución. Ejemplo Normalizar la primera fila hacer 1 el primer elemento dividiendo toda la fila entre 3 Hacer ceros la primera columna Fila pivote = primera fila k = 0.1 * 1, la segunda fila será  = segunda fila – (k * fila pivote) k = 0.3 * 1, la tercera fila será  = tercera fila – (k * fila pivote) Se repite el mismo proceso para la segunda columna (fila pivote = segunda fila) y la tercera (fila pivote = tercera fila) para obtener la solución siguiente: Algoritmo escrito en C# para la solución de un sistema de ecuaciones por el método de gauss-jordan         private void GJ( ref double [,] matrix, int filas, int columnas)         {    ...

Gauss Seidel y Jacobi

Imagen
El método de gauss seidel y el metodo de jacobi son similares, ambos usados para resolver sistemas de ecuaciones lineales, el método de gauss seidel debe su nombre a los matemáticos Carl Friedrich Gauss y Philipp Ludwig von Seidel mientras que el método de jacobi al matemático alemán Carl Gustav Jakob Jacobi .   Gauss-Seidel   Este método iterativo es el más comúnmente usado. Debe asegurase de que los elementos de la diagonal no sean ceros para que se pueda resolver por este método. Ejemplo si se tiene un sistema  de tres ecuaciones, X1 se puede despejar de la primera ecuación, X2 de la segunda y X3 de la tercera. Ahora se puede empezar a resolver para encontrar X1 suponemos que X2 y X3 son ceros, resolvemos para X2 ya tenemos X1 que lo encontramos anteriormente y suponemos que X3 es cero, para encontrar X3 solo resolvemos pues ya tenemos X1 y X2.   El proceso se repite solo que utilizado los valores que ya tenemos de X1, ...

Analizador Léxico

Imagen
Un analizador léxico es el componente encargado de identificar los tokens válidos en un código de entrada y emitir errores de ser necesario, crearemos un analizador léxico basado en expresiones regulares capaz de detectar números, cadenas, comentarios, operadores, identificadores y palabras reservadas.

Metódo de Gauss

Imagen
La técnica conocida como eliminación de Gauss   involucra una combinación de ecuaciones para eliminar las incógnitas. Aunque es uno de los métodos más antiguos en la solución de ecuaciones simultaneas, continua siendo uno de los algoritmos de mayor importancia, y es la base para resolver ecuaciones lineales en muchos paquetes  populares de software.   La eliminación gaussiana comprende la eliminación hacia adelante y la sustitución hacia atrás. Aunque las técnicas son adecuadas para implementarlas en computadoras, se requiere de algunas modificaciones para obtener un algoritmo confiable, por ejemplo evitar la división por cero.   Este procedimiento está diseñado para resolver un conjunto de n ecuaciones. Eliminación hacia delante de incógnitas: la primera fase se designa para reducir el conjunto de ecuaciones a un sistema triangular superior. El paso inicial será el de eliminar la primera incógnita, x1, desde la segunda...

Temas relacionados