g 8 visor molecular present ac i on

18
Juan Antonio Chaves Naranjo Oscar Noel Amaya García Valentín Adolfo Acosta García

Upload: pablo-estrada

Post on 06-Nov-2015

215 views

Category:

Documents


0 download

DESCRIPTION

wwwwwwwwwwww

TRANSCRIPT

  • Juan Antonio Chaves NaranjoOscar Noel Amaya GarcaValentn Adolfo Acosta Garca

    *

    UMA, Programacin Declarativa Avanzada Curso 08/09MotivacionesHerramientas para su desarrolloEstructuras de datos para manejo de modelos moleculares 3DImplementacin Visor 3D molecularComparacin de cdigo con visor similar en lenguaje Imperativo (Tcl/Tk)Comparacin rendimiento con visor similar en lenguaje Imperativo (Tcl/Tk)ConclusionesBibliografa

    */18

    UMA, Programacin Declarativa Avanzada Curso 08/09

    *

    UMA, Programacin Declarativa Avanzada Curso 08/09Eleccin del tema respondiendo a la curiosidad del uso de OpenGL en un lenguaje funcional.

    Comparativa de uso/rendimiento de OpenGL en Haskell y en un lenguaje imperativo. En este caso usamos Tcl/Tk (John Ousterhout, 1999).

    A priori no buscamos un fin educativo.*/18

    UMA, Programacin Declarativa Avanzada Curso 08/09

    *

    Tcl/Tk Wrapper OpenGLLenguaje Interpretado*/18

    *

    UMA, Programacin Declarativa Avanzada Curso 08/09*/18Haskell (U. Yale y U. Glasgow, 1990)Lenguaje funcionalOpenGL (Silicon Graphics Inc. 1992)API grfica multiplataforma y multilenguaje para la modelizacin 2D y 3D. Orientado a lenguajes imperativos.Haskell y OpenGL: HOpenGL (1999)La eclosin de las mnadas hace que programas en Haskell se comporten como los programas imperativos y por tanto facilita la interaccin entre Haskell y OpenGL.

    UMA, Programacin Declarativa Avanzada Curso 08/09

    *

    UMA, Programacin Declarativa Avanzada Curso 08/09*/18El estndar en representaciones moleculares son los ficheros .mol.18 18 0 0 0 0 0 0 0 0 1 V2000 2.4333 -0.7208 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0......... 3.1454 0.2032 -0.8617 H 0 0 0 0 0 0 0 0 0 0 0 0 2 1 1 0 0 0 0 .......18 6 1 0 0 0 0Dichos datos son encapsulados dentro de una mnada IO para su posterior acceso en el visor 3D.N de tomosN de Enlacestomo de Carbono en la posicin definidatomo de Hidrgeno en la posicin definidaDefine el enlace entre el tomo n 18 y el 6

    UMA, Programacin Declarativa Avanzada Curso 08/09

    *

    UMA, Programacin Declarativa Avanzada Curso 08/09*/18-- leerMol :: (Num a, Num b, , Num d) =>-- [Char] -> IO (d,a,[((f,g,e),[Char])],[(c,b)]))leerMol nombreFichero = docad