Safe Haskell | Safe-Inferred |
---|
Funciones
Synopsis
- chunksOf :: Int -> [e] -> [[e]]
- objAleatorio :: Set Shape -> Obj -> StdGen -> Obj
- objEspejo :: Set Shape -> Direction -> Direction -> Point3D -> Obj
- objCristal :: Set Shape -> Direction -> Direction -> Float -> Float -> Point3D -> (Obj, Float)
- mediaLRGB :: [[RGB]] -> [RGB]
- mediaRGB :: [RGB] -> RGB
- sumRGB :: [RGB] -> RGB
- formula :: RGB -> Float -> Point3D -> Point3D -> Direction -> RGB -> RGB
- tuplasAleatorias :: [(Float, Float)] -> Float -> StdGen -> [(Float, Float)]
- generarTuplas :: [Float] -> [Float] -> [(Float, Float)]
- generateRaysForPixels :: Int -> Int -> Int -> Int -> Camara -> Float -> Float -> Int -> StdGen -> [Ray]
- polarToCartesian :: Float -> Float -> Float -> Point3D
- genPointTotal :: StdGen -> Point3D
- genPoint :: StdGen -> Point3D
- obtenerPrimeraColision :: Set Obj -> Obj
- listRay :: Set Obj -> Obj
- colision :: Point3D -> Point3D -> Set Shape -> Bool
- dirEspejo :: Direction -> Direction -> Direction
- calcularDirCristal :: Direction -> Direction -> Float -> Float -> Direction
- ruletaRusa :: (Float, Float, Float) -> StdGen -> (Int, Float)
- brdf :: Obj -> Set Shape -> RGB
- getRGBTexture :: String -> Obj -> RGB
- loadTexture :: FilePath -> Image PixelRGB8
- pixtoRGB :: PixelRGB8 -> RGB
- sumFlLuz :: [Luz] -> Float
- media :: [Float] -> Float
- varianza :: [Float] -> Float
- desviacionEstandar :: [Float] -> Float
- fGaus :: [Foton] -> Obj -> Foton -> Float
- addNiebla :: Luz -> Obj -> Float -> Set Shape -> RGB -> RGB
- distanceToRay :: Point3D -> Ray -> Point3D
- fPhong :: Point3D -> Obj -> Float -> Set Shape -> Float
- fresnell :: Obj -> Float -> Float
- mulCam :: Camara -> Int -> Float -> [Camara]
Documentation
objAleatorio :: Set Shape -> Obj -> StdGen -> Obj Source #
Función auxiliar, que devuelve un objeto aleatorio tirado desde otro objeto.
objEspejo :: Set Shape -> Direction -> Direction -> Point3D -> Obj Source #
Función auxiliar, que devuelve el siguiente objeto después de chocar con un objeto con propiedades de espejo.
objCristal :: Set Shape -> Direction -> Direction -> Float -> Float -> Point3D -> (Obj, Float) Source #
Función auxiliar, que devuelve el siguiente objeto después de chocar con un objeto con propiedades de cristal.
mediaLRGB :: [[RGB]] -> [RGB] Source #
Función auxiliar, que realiza la media de una una matriz a una lista.
mediaRGB :: [RGB] -> RGB Source #
Función auxiliar, que realiza la media RGB de una lista de RGBs dados.
sumRGB :: [RGB] -> RGB Source #
Función auxiliar, que realiza el sumatorio RGB de una lista de RGBs dados.
formula :: RGB -> Float -> Point3D -> Point3D -> Direction -> RGB -> RGB Source #
Función básica, calcula la formula de render.
tuplasAleatorias :: [(Float, Float)] -> Float -> StdGen -> [(Float, Float)] Source #
Función auxiliar, aplica un valor aleatorio € [0,salto], sobre la lista de tuplas float.
generarTuplas :: [Float] -> [Float] -> [(Float, Float)] Source #
Función auxiliar, dadas dos listas genera todas las permutaciones de estas generando todas las combinaciones de 2 a 2.
generateRaysForPixels :: Int -> Int -> Int -> Int -> Camara -> Float -> Float -> Int -> StdGen -> [Ray] Source #
Función básica, daados los datos de entrada, la camara y el tamaño de la imagen, lanza los rayos pertinentes desde la cámara.
polarToCartesian :: Float -> Float -> Float -> Point3D Source #
Función auxiliar, convierte de coordenadas polares a coordenadas cartesianas.
genPointTotal :: StdGen -> Point3D Source #
Función auxiliar, genera un punto aleatorio sobre la superficie de una esfera.
genPoint :: StdGen -> Point3D Source #
Función auxiliar, genera un punto aleatorio sobre la superficie de una semiesfera.
obtenerPrimeraColision :: Set Obj -> Obj Source #
Función básica, dada una lista de colisiones devuelve la primera(por cercanía).
listRay :: Set Obj -> Obj Source #
Función auxiliar, dada una lista de colisiones devuelve la primera(por cercanía)(probablemente sobra esta función :c).
colision :: Point3D -> Point3D -> Set Shape -> Bool Source #
Función básica, dados dos puntos y una figura, devuelve si existe o no una colisión directa entre ellos.
dirEspejo :: Direction -> Direction -> Direction Source #
Función básica, dada una dirección y la direción normal de un objeto, devuelve la dirección espejo.
calcularDirCristal :: Direction -> Direction -> Float -> Float -> Direction Source #
Función básica, dada una dirección y la direción normal de un objeto y los coeficientes de refracción, devuelve la dirección refractada.
ruletaRusa :: (Float, Float, Float) -> StdGen -> (Int, Float) Source #
Función básica, depende de las caracterisicas del material, devuelve como se comporta el objeto y su probabilidad.
getRGBTexture :: String -> Obj -> RGB Source #
Función auxiliar, devuelve el color de un objeto en una textura.
loadTexture :: FilePath -> Image PixelRGB8 Source #
Función auxiliar, carga una textura de un fichero.
desviacionEstandar :: [Float] -> Float Source #
Calcular la desviación estándar de una lista de valores.
fGaus :: [Foton] -> Obj -> Foton -> Float Source #
Calcula mediante una Función Gaussiana el peso de un fotón.
addNiebla :: Luz -> Obj -> Float -> Set Shape -> RGB -> RGB Source #
Función auxiliar, devuelve el color después de que un rayo pase a traves de niebla homogenea.
distanceToRay :: Point3D -> Ray -> Point3D Source #
Función auxiliar, devuelve el punto en un rayo más cerca de un punto dado.