miércoles, 26 de septiembre de 2018

Creación de un Gif en photoscape.

Estos son 3 pasos muy sencillos para crear tu propio Gif.

1. Ingresamos al apartado "GifAni"

2. Agregamos las imágenes de nuestra preferencia.


3. Después de agregar las imágenes únicamente dan clic en guardar y su Gif queda listo.





Practicas.

Códigos en Python.

1. Código de una linea.





2.  Código de un circulo.






3. Código de un Arco.




4. Código de una estrella.






5. Código de un gif.



lunes, 17 de septiembre de 2018

martes, 11 de septiembre de 2018

Modulos Turtle y Tkinder

Modulo Turtle:
Este modulo básicamente nos permite crear figuras, dibujos y gráficos con coordenadas en pantalla usando como puntero una flecha que llamamos tortuga, la cual de acuerdo a las instrucciones dadas esta caminara sobre la ventana dejando un rastro de su trayectoria.

Algunas funciones son:

forward(distance): Avanzar una determinada cantidad de píxeles.
backward(distance): Retroceder una determinada cantidad de píxeles.
left(angle): Girar hacia la izquierda un determinado ángulo.
right(angle): Girar hacia la derecha un determinado ángulo.
home(distance): Desplazarse al origen de coordenadas.
goto((x, y)): Desplazarse a una coordenada en concreto.
pendown(): Subir el lápiz para no mostrar el rastro.
penup(): Bajar el lápiz para mostrar el rastro.
shape('turtle'): Cambia al objeto tortuga.
pencolor(color): Cambiar al color especificado.
pensize(dimension): Tamaño de la punta del lápiz.
fillcolor(color): Establece el color de relleno de una figura
begin_fill(): Establece que apartir de esa linea de codigo debe pintar del color especificado la figura formada.
end_fill():Establece que apartir de esa linea de codigo debe dejar de pintar del color especificado la figura formada.
exitonclick(): Establece que la ventana no se debera cerrar hasta que se de un click.
clear(): Limpia el area de trabajo, borra los trazos realizados.




Modulo Tkinder:
Tkinter es un binding de la biblioteca gráfica Tcl/Tk para el lenguaje de programación Python, con estos queremos decir que Tk se encuentra disponible para varios lenguajes de programación entre los cuales se encuentra Python con el nombre de Tkinter. Este no es mas que una adaptación de esta librería para el lenguaje Python con lo cual usar Tk en otro lenguaje no nos supondrá un inconveniente. Se considera un estándar para la interfaz gráfica de usuario (GUI) para Python y es el que viene por defecto con la instalación para Microsoft Windows y preinstalado en la mayoría de las distribuciones de GNU/Linux. Con Tkinter podremos conseguir resultados casi tan buenos como con otras librerías gráficas siempre teniendo en cuenta que quizás con otras herramientas podamos realizar trabajos mas complejos donde necesitemos una plataforma mas robusta, pero como herramienta didáctica e interfaces sencillas nos sobrara, dándonos una perspectiva de lo que se trata el desarrollo de una parte muy importante de una aplicación si deseamos distribuirla. Gracias a Tkinter veremos como interactuar con el usuario pidiéndole el ingreso de datos, capturando la pulsación de teclas, movimientos del mouse, entre algunas de las cosas que podremos lograr.

Algunas funciones son:
Label(): Usada para agregar etiquetas.
Button(): Usado para agregar botones.
grid(): Usado para establecer el posicionamiento de los elementos en ventana.
Entry(): Utilizado para definir cajas de texto
Pack(): Coloca los elementos en la ventana de acuerdo al modo estandar.
geometry(): Usado para definir el tamaño de ventana.
configure(): como su nombre lo dice es usado para configurar elementos o comportamientos de la ventana.
mainloop(): crea un ciclo infinito que provoca que el contenido de la ventana se actualice graficamente hablando

jueves, 6 de septiembre de 2018

Librerías de python.

Concepto de python.
Python es un lenguaje de scripting independiente de plataforma y orientado a objetos, preparado para realizar cualquier tipo de programa, desde aplicaciones Windows a servidores de red o incluso, páginas web. Es un lenguaje interpretado, lo que significa que no se necesita compilar el código fuente para poder ejecutarlo, lo que ofrece ventajas como la rapidez de desarrollo e inconvenientes como una menor velocidad.

  1. Request: La librería HTTP más famosa que está desarrollada por Kenneth Reitz. Es un must-have para todos los desarrolladores de Python.
  2. Scrapy: Si estás involucrado en webscraping, esta es una biblioteca que debes manejar sí o sí. Después de utilizar esta biblioteca no utilizarás ninguna otra relacionada.
  3. wxPyhton: Un gui toolkit para Python. A esta, en mis propios proyectos, la he priorizado por encima de tkinter. Simplemente, la adorarás.
  4. Pillow: Un amistoso fork de PIL (Python Imaging Library). Es mucho más sencillo de utilizar que la propia PIL y se convierte en toda una necesidad para aquellos programadores que trabajen con imágenes.
  5. SQLAlchemy: Una biblioteca muy polémica para gestionar bases de datoss. Muchos la aman y muchos la odian. La decisión es cosa tuya.
  6. BeautifulSoup: Sé que es lenta, pero esta librería para parsear código de xml y html es muy útil para aquellos que están comenzando a programar en Python.
  7. Twisted: La herramienta más importante para cualquier desarrollador de aplicaciones de red. Cuenta con una API muy, pero que muy bonita y es utilizada por una gran cantidad de desarrolladores de Python famosos.
  8. NumPy: De esta librería es muy difícil escapar. Proporciona algunas funcionalidades matemáticas avanzadas para Python.
  9. SciPi: Si hablamos de NumPy entonces tenemos que hablar también de SciPy. Es una biblioteca de algoritmos y herramientas matemáticas que ha ocasionado que muchos científicos se cambien de Ruby a Python.
  10. matplotlib: Una biblioteca de trazado numérico. Es muy útil para cualquier científico de datos o cualquier analizador de datos.
  11. Pygame: ¿A qué programador no le gusta echarse unas partiditas a un videojuego? Con la librería Pygame podrás desarrollar juegos en 2D a la antigua usanza.
  12. Pyglet: Un motor de animación y creación de juegos en 3D. Este es el motor con el que se desarrolló el juego que más dinero ha generado en Youtube, Minecraft.
  13. PyQt: Un conjunto de herramientas GUI para Python. Es mi segunda elección después de wxPython para el desarrollo de interfaces gráficas de usuario para mis scripts en Python.
  14. PyGTK: Otra biblioteca GUI para Python. Es la misma biblioteca con la que se creó el famoso cliente Bittorrent.
  15. Scapy: Un sencillo analizador de Python desarrollado con Python. Todo muy meta.
  16. pywin32: Una biblioteca de Python que proporciona algunos métodos y clases útiles para interactuar con el sistema operativo Windows.
  17. NTLK: Sé que la mayoría de los programadores en Python no van a utilizar esto, pero es lo suficientemente genérica como para aparecer en este top. NTLK es una librería muy útil si pretendes manipular cadenas, aparte de otras muchas funciones que debes comprobar tú mismo.
  18. nose: Un framework de testing para Python. Es utilizado por millones de desarrolladores de Python. Es totalmente obligatorio si quieres comprobar que todo funcione correctamente en tus proyectos desarrollados con Python.
  19. Sympy: Sympy puede hacer evaluaciones algebraicas, las diferenciaciones, expansiones, calcular números complejos, etc. Está incluida en la distribución pura de Python.
  20. IPython: No puedo deciros con palabras lo útil que es esta librería para Python. Es como si dijéramos, Python tras una sesión de esteroides. Debes echarle un vistazo, sino estarás perdiendo el tiempo.

lunes, 3 de septiembre de 2018

Geometría Fractal.

Geometría fractal
Comenzare este resumen con historia.
Antiguamente para poder hacer un dibujo animado los animadores debían dibujar a mano cada uno de los fotogramas lo cual hacia este trabajo muy tedioso pues debían hacer miles de dibujos.
Mucho tiempo más tarde se escribió un libro en el cual se hablaba sobre lo que se conoce como "geometría fractal" y en este se hablaba sobre que muchas de las formas de la naturaleza podían ser descritas de forma matemática de ahí es donde surge la palabra "fractal". El significado  de esta palabra era "figuras aparentemente irregulares".
Las personas comenzaban a darse cuenta que existía una imagen sobre otra por ejemplo en las olas del mar, existen olas pequeñas que están sobre las olas grandes.
La geometría es la que se basa en matemáticas pero visuales.
Con base en este libro empezaron a crear imágenes realistas las primeras fueron montañas pues solo se conformaban por divisiones de triángulos interminables esto en el lenguaje matematico se define como "iteración". La primera escena que se creo completamente por computadora fue el planeta para la pelicula "Star Trek 2 la ira del Khan" todo esto fue gracias al nuevo campo conocido como geometría fractal.

Tiempo después Estas "imágenes" o figuras se empezaron a poner de moda por lo cual todos querían tener este tipo de articulos, esto fue un hecho cultural de grandes dimensiones para finales del los 70's Jhane Barns había impulsado un negocio de diseño de ropa, pero luego descubrió los fractales y se dio cuenta de que las reglas simples que los formaban podrían utilizarse para crear complicados diseños de ropa, de modo que recibió ayuda de dos personas que sabían mucho de matemáticas y de ordenadores puesto que ella no era buena en este aspecto. El mismo tipo de principio de diseño de fractales transformo la magia de los efectos especiales como se puede ver en  "Star Wars Episodio 3"

¿Para mi que es la geometría fractal?
Para mi la geometria fractal es un conjunto de formas matemáticas las cuales tienen la capacidad de repetirse una y otra ves pero a diferentes escalas,creando un efecto diverso como por ejemplo anteriormente lo mencionaba las olas del mar arriba de la ola grande existen pequeñas olas que crean un efecto diferente en la imagen.

Herramientas CAD y CASE

Herramientas CAD.
Atiende prioritaria mente aquellas tareas exclusivas del diseño, tales como el dibujo técnico y la documentación del mismo, pero normalmente permite realizar otras tareas complementarias relacionadas principalmente con la presentación y el análisis del diseño realizado. Si bien un sistema CAD puede adoptar infinidad de aspectos y puede funcionar de muchas formas distintas.El Diseño asistido por computadoras: Es el uso de un amplio rango de herramientas computacionales que asisten a ingenieros, arquitectos y a otros profesionales del diseño en sus respectivas actividades.
Existen 2 tipos:

1. Analítico: usa procedimientos analíticos para definir sus limites ó acciones. Los programas del tipo CAD analíticos, surgieron después de los primeros métodos gráficos por la necesidad de cuantificar y permitir evaluar los resultados de las variables que involucra el diseño estructural. En los CADs analíticos el dibujo ó trazado permanece en la memoria de la computadora como una serie de relaciones de puntos-coordenadas, sentido y dirección en programas vectoriales ó como un grupo de pixeles, en programas de renderizado y tratamiento de imágenes.

2. Paramétrico: usa parámetros para definir sus límites ó acciones. Un programa paramétrico de CAD difiere básicamente de cualquier otro tradicional, en un aspecto clave. En un programa paramétrico la información visual es parte de la información disponible en el banco de datos, o sea, una representación de la información como un objeto, en la memoria de la computadora. En la actualidad el CAD paramétrico ha sustituido, casi por completo, a las técnicas clásicas de diseño en tres dimensiones mediante el modelado de sólidos y superficies, y se ha convertido en un conocimiento imprescindible para cualquier profesional de la ingeniería o la informática técnica.

Ejemplos de programas CAD
CATIA
AutoCAD
ArchiCAD
QCad
GstarCAD
Abis CAD
ARRIS CAD
Builders CAD
Autosketch
Arktecad

Herramientas CASE.

Ingeniería de Software Asistida por Computadoras: Son diversas Aplicaciones informáticas destinadas a aumentar la productividad en el Desarrollo de software reduciendo el costo de las mismas en términos de tiempo y de dinero. Estas herramientas nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el diseño de proyectos, cálculo de costos, implementación de parte del código automáticamente con el diseño dado, Compilación automática, documentación o detección de errores entre otras.
Es un sistema de software que intenta proporcionar ayuda automatizada a las actividades del proceso de desarrollo de software.
Herramientas CASE más utilizadas:
ERwin: permite visualizar la estructura, los elementos importantes, y optimizar el diseño de la base de datos.

EasyCASE: trabaja para proveer una solución comprensible para el diseño, consistencia y documentación del sistema en conjunto.

Oracle Designer: es un juego de herramientas para guardar las definiciones que necesita el usuario y automatizar la construcción rápida de aplicaciones cliente/servidor flexibles y gráficas.

PowerDesigner: Es la herramienta para el análisis, diseño inteligente y construcción sólida de una base de datos y un desarrollo orientado a modelos de datos a nivel físico y conceptual, que dan a los desarrolladores de aplicaciones Cliente/Servidor la más firme base para aplicaciones de alto rendimiento.

System Architect: Posee control automático de diagramas y datos, normalizaciones y balanceo entre diagramas "Padre e Hijo", además de balanceo horizontal, que trabaja integrado con el diccionario de datos, asegurando la compatibilidad entre el Modelo de Datos y el Modelo Funcional.

SNAP: 
 Proporciona el ambiente integral de trabajo, brindando la posibilidad de construir sistemas de inmejorable calidad, adheridos a los estándares S.A.A de IBM., totalmente documentados y ajustados a los requerimientos específicos de la organización, en una fracción del tiempo y coste del que se invertiría, si se utilizaran herramientas tradicionales.