41
Desarrollo de una versión de UNAMALLA en Scilab Desarrollo de una versión de UNAMALLA en Scilab Seminario Laboratorio Computo Científico FC UNAM César Carreón Otañez 30 de septiembre de 2009

Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Desarrollo de una versión de UNAMALLA enScilab

Seminario Laboratorio Computo CientíficoFC UNAM

César Carreón Otañez

30 de septiembre de 2009

Page 2: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Intoducción

“Software Libre”

I Años 60,70, acceso-intercambio a códigos-programas.

I En los años 80’s comienzan a aparecer computadoras conSistemas Operativos privados (códigos cerrados,imposición).

I Se impide realizar modificaciones al programa.I En caso de hallar errores sólo se reportaban.

Page 3: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Intoducción

“Software Libre”

I A principios de los años 80’s nace el concepto de FreeSoftware. MIT Massachusetts Institute of Technology.

I En 1984, Richard Stallman comenzó a trabajar en elproyecto GNU y un año más tarde fundó la Free SoftwareFoundation (FSF).

I Stallman introdujo la definición de free software y elconcepto de “copyleft”.

Page 4: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Intoducción

El software libre es una cuestión de libertad, no deprecio

Cuatro libertades.

1. La libertad de ejecutar el programa, para cualquierpropósito.

2. La libertad de estudiar cómo trabaja el programa, ycambiarlo para que haga lo que usted quiera. Acceso alcódigo fuente.

3. La libertad de redistribuir copias para que pueda ayudar alprójimo.

4. La libertad de mejorar el programa y publicar sus mejoras,y versiones modificadas en general, para que se beneficietoda la comunidad. Acceso al código fuente.

Page 5: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Intoducción

El software libre es una cuestión de libertad, no deprecio

Cuatro libertades.

1. La libertad de ejecutar el programa, para cualquierpropósito.

2. La libertad de estudiar cómo trabaja el programa, ycambiarlo para que haga lo que usted quiera. Acceso alcódigo fuente.

3. La libertad de redistribuir copias para que pueda ayudar alprójimo.

4. La libertad de mejorar el programa y publicar sus mejoras,y versiones modificadas en general, para que se beneficietoda la comunidad. Acceso al código fuente.

Page 6: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Intoducción

El software libre es una cuestión de libertad, no deprecio

Cuatro libertades.

1. La libertad de ejecutar el programa, para cualquierpropósito.

2. La libertad de estudiar cómo trabaja el programa, ycambiarlo para que haga lo que usted quiera. Acceso alcódigo fuente.

3. La libertad de redistribuir copias para que pueda ayudar alprójimo.

4. La libertad de mejorar el programa y publicar sus mejoras,y versiones modificadas en general, para que se beneficietoda la comunidad. Acceso al código fuente.

Page 7: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Intoducción

El software libre es una cuestión de libertad, no deprecio

Cuatro libertades.

1. La libertad de ejecutar el programa, para cualquierpropósito.

2. La libertad de estudiar cómo trabaja el programa, ycambiarlo para que haga lo que usted quiera. Acceso alcódigo fuente.

3. La libertad de redistribuir copias para que pueda ayudar alprójimo.

4. La libertad de mejorar el programa y publicar sus mejoras,y versiones modificadas en general, para que se beneficietoda la comunidad. Acceso al código fuente.

Page 8: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Ejemplos

Ejemplos

1. Sistemas operativos: Linux (Debian, RedHat, etc.).

2. Interfaces gráficas de usuarios: GNome,KDE.

3. Navegadores: Mozilla, Firefox.4. OpenOffice, Maxima, Scilab.

Page 9: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Ejemplos

Ejemplos

1. Sistemas operativos: Linux (Debian, RedHat, etc.).

2. Interfaces gráficas de usuarios: GNome,KDE.

3. Navegadores: Mozilla, Firefox.4. OpenOffice, Maxima, Scilab.

Page 10: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Ejemplos

Ejemplos

1. Sistemas operativos: Linux (Debian, RedHat, etc.).

2. Interfaces gráficas de usuarios: GNome,KDE.

3. Navegadores: Mozilla, Firefox.

4. OpenOffice, Maxima, Scilab.

Page 11: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Ejemplos

Ejemplos

1. Sistemas operativos: Linux (Debian, RedHat, etc.).

2. Interfaces gráficas de usuarios: GNome,KDE.

3. Navegadores: Mozilla, Firefox.4. OpenOffice, Maxima, Scilab.

Page 12: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab

Scilab

I Lenguaje para cálculo científico.

I Unix, GNU/Linux, Windows, Solaris, Alpha.I Desarrollado por INRIA (Institut National de

Recherche en Informatique et Automatique)y la ENPC (École Nationale des Ponts etChaussées) desde 1990.

I Interacción con lenguajes (FORTRAN, Javay C y C++ ).

Page 13: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab

Scilab

I Lenguaje para cálculo científico.

I Unix, GNU/Linux, Windows, Solaris, Alpha.

I Desarrollado por INRIA (Institut National deRecherche en Informatique et Automatique)y la ENPC (École Nationale des Ponts etChaussées) desde 1990.

I Interacción con lenguajes (FORTRAN, Javay C y C++ ).

Page 14: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab

Scilab

I Lenguaje para cálculo científico.I Unix, GNU/Linux, Windows, Solaris, Alpha.

I Desarrollado por INRIA (Institut National deRecherche en Informatique et Automatique)y la ENPC (École Nationale des Ponts etChaussées) desde 1990.

I Interacción con lenguajes (FORTRAN, Javay C y C++ ).

Page 15: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab

Scilab

I Lenguaje para cálculo científico.I Unix, GNU/Linux, Windows, Solaris, Alpha.I Desarrollado por INRIA (Institut National de

Recherche en Informatique et Automatique)y la ENPC (École Nationale des Ponts etChaussées) desde 1990.

I Interacción con lenguajes (FORTRAN, Javay C y C++ ).

Page 16: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab

Herramientas

I Gráficos 2-D, 3-D, animación. Álgebra lineal.

I Simulación Sistemas EcuacionesDiferenciales (Explícitas/ Implícitas).

I Grafos y Redes, Estadística, Interfaz concálculo simbólico.

Page 17: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab

Herramientas

I Gráficos 2-D, 3-D, animación. Álgebra lineal.

I Simulación Sistemas EcuacionesDiferenciales (Explícitas/ Implícitas).

I Grafos y Redes, Estadística, Interfaz concálculo simbólico.

Page 18: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab

Herramientas

I Gráficos 2-D, 3-D, animación. Álgebra lineal.

I Simulación Sistemas EcuacionesDiferenciales (Explícitas/ Implícitas).

I Grafos y Redes, Estadística, Interfaz concálculo simbólico.

Page 19: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab

Scilab - Matlab

Page 20: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab-Matlab

I Pago por lalicencia.

I Códigocerrado.

Page 21: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab-Matlab

I Software libre.I Código.I Tiempo de

ejecución.

Page 22: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab-Matlab

GUI

Page 23: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab-Matlab

GUI

Page 24: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab-Matlab

Help

Page 25: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab-Matlab

Help

Page 26: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab-Matlab

Editor

Page 27: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab-Matlab

Editor

Page 28: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Scilab-Matlab

UNAMALLA en Scilab

Page 29: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

¿Para qué?

I Es una técnica utilizada como parte del tratamiento deContornos (UNAMALLA).

1. Reducción de Puntos-“Repoblación”.

2. SUAVIZAMIENTO CÓNICO.

3. Reparametrización.

I En ocasiones ayuda a mejorar las propiedades de la malla.

Page 30: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

Premisa Central

CONSERVAR LO MÁS POSIBLE LA

FORMA DEL CONTORNO ORIGINAL.

Page 31: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

Spline Cónico vs Cúbico

Page 32: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

Idea Geométrica.

Sustituir picos por “Arcos Simples”.

Page 33: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

Construcción del Arco.Definido por los puntos, b0, b1 y b2, Puntos de Control.

Page 34: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

Parametrización del segmento b0b1

b01(t) = t(b1 − b0) + b0 t ∈ [0,1]

Page 35: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

Parametrización del segmento b01(t)b2

p(t , s) = b01(t)s + (1− s)b2 s ∈ [0,1]

Page 36: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

Representación Racional de Bézier

p(t) =δ0B2

0(t)b0 + δ1B21(t)b1 + δ2B2

2(t)b2

δ0B20(t) + δ1B2

1(t) + δ2B22(t)

Donde los δi son llamados pesos,t ∈ [0,1] y

δ0 = −2C(b2,b0), δ1 = −C(b2,b0), δ2 = C(b1)

Page 37: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

Teorema

Todo Arco Cónico definido de b0 a b2 puede expresarse pormedio de una Curva Racional de Bézier en la siguienteforma:

p(t) =δ0B2

0(t)b0 + δ1B21(t)b1 + δ2B2

2(t)b2

δ0B20(t) + δ1B2

1(t) + δ2B22(t)

, t ∈ [0,1].

donde los δi son llamados pesos y B2i (t) son los polinomios de

Bernstein.

Page 38: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

Puntos de Control. Lados Iguales

Page 39: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

Puntos de Control. Longitudes Distintas

Page 40: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

Pesos.Si θ es el ángulo formado por los segmentos b0b1 y b1b2,entonces,0o < θ < 120o, θ = 120o, 120o < θ < 180o

Page 41: Desarrollo de una versión de UNAMALLA en Scilabtikhonov.fciencias.unam.mx/presentaciones/2009oct01.pdf · Desarrollo de una versión de UNAMALLA en Scilab Intoducción “Software

Desarrollo de una versión de UNAMALLA en Scilab

Suavizamiento de Contornos

UNAMALLA en Matlab