IV121 Vybrané aplikace informatiky v biologii -Přednáška 6 IV121 Vybrané aplikace informatiky v biologii 3D počítačová grafika Katedra informačních technologií Masarykova Univerzita Brno Stringologie Úvod Základní pojmy Základní algoritmy Algoritmus využívající analýzu hledaného motivu Algoritmus využívající nalýzu prohledávaného řetězce Hledání opakování Tandemové opakování Palindromy Srovnávání dvou sekvencí DP - Needleman-Wunsch Vylepšení pro maximálně k chyb Burrows-Wheeler transform Jaro 2012 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. EVROPSKÁ UNIE INVESTICE DO ROZVOJE VZDĚLÁVÁN I 3D Počítačová Grafika (nebo Geometrie) - modelovaní scén , SDL (scene description language) - vizualizace scén (rendering) - rasterizace - „raytracing" - zajímavé koncepty k CSG (constructive solid geometry) skriptování scén ^^kw příklad, generování realistických stromu a keru SDL-Scene Description Languages VRMUX3D 3DMLW POV-Ray SDL Renderman shading language ;//en.wiki pedia.org/wiki/Scene_description_language Monsterslnc by Pixar Co je RenderMan? Autorem je společnost Pixar (1987) Něco jako PostScript pro 3D - Scene Description Language není modelovacím programem není renderingovým programem Rozhraním mezi modelováním a renderingem riKiaa bytestream Koau pro RenderMan Interface Display "RenderMan" "framebuffer" "rgb" Format 256 192 1 WorldBegin Surface "constant" Polygon "P" [0.5 0.5 0.5 0.5 -0.5 ■|k5 -0.5 -0.5 0.5 -0.5 0.5 0.5] API #include RtPoint Square[4] = { {.5, .5, .5}, {.5,-.5, .5}, { - . 5, - . 5, . 5 }, { • 5, • 5, «5} }/ main(void){ RiBegin(RI_NULL); /* Start the renderer */ RiDisplay("RenderMan", RI_FRAMEBUFFER, "rgb", RI_NULL); RiFormat((Rtlnt) 256, (Rtlnt) 192, 1.0); RiWorldBegin(); RiSurface("constant", RI_NULL); RiPolygon( (Rtlnt) 4, /* Declare the square */ RI_P, (RtPointer) Square, RI_NULL); RiWorldEnd(); RiEndO; /* Clean up */ 04/22/12 RenderMan Shading Language surface clouds(float vfreq = .8 ) { float sum ; float i; color white = color(1.0, 1.0, 1.0); point Psh = transform("shader", P); sum = 0; frpg = vfreq; <=^\,i _q. i<6; i = i + l) { sum = sum + 1/freq * abs(.5 freq = 2 * freq; - noise(freq * Psh)); mix(Cs, white, sum*4.0); 1.0; /* Always make the surface opaque */ 04/22/12 13 RIB s použitím "Shader" kódu Display "RenderMan" "framebuffer" "rgb" Format 256 192 1 WorldBegin Surface "clouds" Polygon "P" [0.5 0.5 0.5 0.5 -0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 0.51 Součásti systému RenderMan Rman Geom Code Rman Program Rman Shader .sl shader 04/22/12 Byte-code Shader .slo render * Program ..Rendering" - rasterizace Vlastnosti všech bodů y v prostoru/moďelu jsou lokálně definovaný - "raytracing" , VJasJnQčti bodů ísqu ovlivněny §lojDayne všemi ostatními body ve cene/modelu. Dokáže správně,vykreslit , , , te^njsparetnost, refrakci svetía a podobné Fieri de ering Pipeline - OpenGL Aaron Bloomfield CS 445: Introduction to Graphics Fall 2006 (Slide set originally by Greg Humphreys) 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination 23 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination 3D Rendering Pipeline 3D Geometric Primitives This is a pipelined sequence of operations to draw a 3D primitive into a 2D image (this pipeline applies only for direct illumination) Viewing Transformation Mapping from world to camera coordinates Eye position maps to origin Right vector maps to X axis back Up vector maps to Y axis UPN^-*right z Back vector maps to Z axis View -^Su^ plane _ Camera orld Projection General definition: Transform points in n-space to m-space (m