Вы находитесь на странице: 1из 36

Beteckning: ________________

Akademin fr teknik och milj


Mtodos de representacin de fractales en 3D
Rickard Englund
06 2010
Tesis de licenciatura, 15 hp, C
Ciencias de la Computacin
Programa de Ciencias de la Computacin
Examinador: Anders Hast
Co-examinador: Stefan Seipel
Supervisor: Anders Hast
Pgina 2

Mtodos de representacin de fractales en 3D


por
Rickard Englund
Akademin fr Teknik och Milj
Universidad de Gvle
S-801 76 Gvle, Suecia
Email:
gefle.rickard @ gmail.com
Abstracto
Fractales en 3D se pueden visualizar como objetos 3D con estructura compleja y
tiene ilimitada
detalles. Esta tesis ser sobre los mtodos para representar fractales en 3D con
eficacia y
de manera eficiente, tanto para explorar en tiempo real y crear bellas imgenes de
alta resolucin
con altos detalles. Los mtodos discutidos es la interpretacin del volumen
directo con ray-casting y
corte plano de representacin para explorar el fractal y un enfoque que utiliza el
muestreo super
crear imgenes de alta resolucin. Renderizado estereoscpico se discute y cmo
mejorar
la percepcin visual de la fractal.
Palabras clave: Fractales en 3D, de fundicin ray, muestreo sper,
renderizado estereoscpico,
Mandelbrot, 3D Mandelbrot, el plano de corte, la representacin fuera del
eje
Pgina 3

Contenido

1 Introduction..........................................................................................................
.... 1
1.1
Problema definition...................................................................................................
........ 1
1.2 Aim.....................................................................................................................
............. 1
1.3 Cuestiones
controvertidas. ..........................................................................................................
.1
2 Marco terico ............................................... ........................................... 2
2.1
Fractales ...................................................................................................................
......... 2
2.1.1 3D Mandelbrot, el
Mandelbulb .......................................... ................................. 3
2.1.2 La nueva
fractal ..................................................................................................... 3
2.2 Representacin de un fractal 3D como el volumen y el uso de Volume
Rendering ............................ 4
2.2.1 Volume Rendering indirecta
(IVR) ......................................... ................................ 4
2.2.2 Volume Rendering directo (DVR) con Ray
casting ...................................... ...... 4
2.2.3 Clculo del gradiente / normal para el sombreado en el Volumen
Rendering .............................. 5
2.2.4 Optimizacin del DVR usando Early Ray Terminacin y Espacio
Salto ................... 6
2.3 renderizado
estereoscpico ............................................... .................................................. ... 7
2.3.1 Anaglyph Cdigos de
color ............................................ ............................................ 7
2.3.2 Liquid Crystal Shutter
Glasses ........................................... .................................. 7
2.3.3 Longitud de onda Multiplex
Imaging ............................................ ................................. 7
2.3.4 fuera de
eje rendering................................................................................................. 8
3 Method..................................................................................................................
.... 8

3.1
fractal calculations....................................................................................................
...... 9
3.2
Prestacin methods...................................................................................................
....... 9
3.2.1 Volumen de Tiempo Real
Render .......................................... .......................................... 9
3.2.2
Cortar plane.............................................................................................................
10
3.2.3 Sper Sampler para lograr imgenes de alta
resolucin ........................................ ...... 10
3.3 renderizado
estereoscpico ............................................... .................................................. . 11
3.3.1 Off axisrendering............................................................................................... 11
3.3.2 Anaglyph..........................................................................................................
... 12
3.3.3 divisin horizontal para proyectores
duales .......................................... .......................... 13
4
Resultado ................................................................................................................
...... 13
4.1 Imgenes de el procesador de volumen en tiempo
real ......................................... .................. 13
4.2 Imgenes de el procesador del plano de
corte ........................................... ............................. 15
4.3 Imgenes de la aplicacin de Super
Sampler ........................................... ................ 16
4.4 Los resultados de la representacin
estereoscpica ............................................. 17 .................................
5
Discusin ...............................................................................................................
20
5.1 Inconvenientes, el trabajo futuro y las posibles
mejoras .......................................... .......... 20
5.2 Las comparaciones con otras
obras ............................................. ......................................... 22
5.3 Ventajas y desventajas de la representacin
estereoscpica ......................................... 22

6 Conclusion............................................................................................................
.. 22
7 References.............................................................................................................
.. 23
Pgina 4

1
1
Introduccin
Un fractal 3D es un conjunto de puntos 3D que se puede visualizar como un
objeto con un
volumen finito pero contenida dentro de un rea de superficie con infinita. Esto
es similar a una
Fractal 2D que es un conjunto de puntos 2D que crea una superficie con rea
finita pero
con un contorno infinito.
Un ejemplo que se usa comnmente utilizado cuando se explica fractales 2D es
la longitud de
una lnea de costa. Desde una lnea de costa nunca es 100% directamente no
podemos medir de
punto A al punto B. Podramos usar un mapa y colocar un alambre a lo largo de
la costa y
luego medir el alambre y se multiplica con la escala del mapa obtener la longitud
de
la lnea de costa. Pero cuando hacemos esto de nuevo, pero en un mapa con una
escala menor lo haremos
obtener un resultado que sea ms largo. Esto se debe a un mapa con detalles ms
altos contiene
ms bahas, cabos y pennsulas. La repeticin de este en nmero infinito de pasos
y siempre har que la lnea de costa "ms tiempo". [1]
Cuando la comprensin de los fractales en 2D que es fcil de entender los
fractales en 3D.
Ejemplo de los fractales en 3D en la naturaleza es una montaa donde la
superficie es infinita, pero
el volumen se puede definir.
1.1 Definicin del problema
Un nuevo mtodo para generar tres dimensiones fractales se ha descubierto en
una investigacin en curso [2]. Este mtodo es similar al sistema de Mandelbrot,
pero tiene un
lgebra auto-definido que es similar a los nmeros complejos. El conjunto de
Mandelbrot utiliza
Nmeros complejos con una parte real y una parte imaginaria. El nuevo mtodo

utiliza una parte real y dos partes imaginarias que nos da tres dimensiones
en lugar de dos. El algoritmo para la creacin de la fractal es relativamente
simple pero
por lo tanto computacional pesado y es difcil de visualizar en una forma
efectiva.
1.2 Objetivo
El objetivo de este proyecto es investigar qu mtodo que se puede utilizar para
prestar este fractal en forma eficaz y eficiente. Una aplicacin en la que el
usuario
pueden interactuar en trminos de una funcin de zoom, rotacin y traducir en
tiempo real para explorar la
fractal debe ser implementado y evaluado. Una posibilidad para crear alta
imgenes de alta resolucin con detalles altos tambin ha de aplicarse. Una
evaluacin sobre
cmo la representacin estereoscpica puede mejorar la percepcin visual
tambin debe ser
hecho y si el resultado es positivo, la aplicacin debe tener la posibilidad de
hacer
imgenes estereoscpicas.
1.3 Cuestiones controvertidas
Qu mtodos y optimizaciones existir para la interpretacin del volumen y que
mtodos se adaptan mejor para la representacin del fractal?
Qu modelo de iluminacin se puede utilizar para iluminar el fractal para crear
el
visualizacin?
Qu mtodo se puede utilizar para producir una imagen de alta resolucin con
muchos
detalles de fractal 3D?
Qu mtodos existen para crear la representacin estereoscpica y se
estereoscpica
renderizado mejorar la percepcin visual?
Pgina 5

2
2
Antecedentes tericos
En esta seccin teora acerca de 2D y 3D se explicarn los fractales. Reflexin
en otros investigadores trabaja alrededor fractales 3D. Interpretacin de volumen
ser brevemente
explican y mtodos de optimizacin se discutirn y qu iluminacin
modelos que se ajustan a la interpretacin del volumen. En el extremo de la
seccin estereoscpica

prestacin se explicar y mtodos para lograr un buen resultado estereoscpica.


2.1 Fractales
Un fractal comn es el conjunto de Mandelbrot. El conjunto de Mandelbrot fue
descubierto 1905
por Pierre Fatou y desde entonces han sido estudiados por muchos
investigadores. La
imagen que la mayora de la gente asocia con el conjunto de Mandelbrot fue
creado por primera vez en
1980 por Benot B. Mandelbrot [3]. Se da la definicin del conjunto de
Mandelbrot
por la progresin complejo definido en la ecuacin 1, donde Z y C son complejos
nmeros y Z
0
= 0 0 i.
=
+
Ecuacin 1: Definicin del conjunto de Mandelbrot.
Cuando se genera una imagen del conjunto de Mandelbrot parte de C real y lo
imaginario
se establecen en funcin de la x y la coordenada y. En la figura 1 podemos ver
una imagen de la
Conjunto de Mandelbrot generado en un equipo en el que la parte real de C que
vara entre
aproximadamente -2 y 1 y parte imaginaria variando entre aproximadamente -1 y
1. El color es
establecido en funcin de cada cuantos iteraciones que se necesitan antes de la
absoluta
valor de Z tiende a infinito. El rea de color negro es donde el valor absoluto
tiende a
cero (El rea casi negro exterior donde Z tiende a infinito justo despus de muy
pocos
iteraciones).
Figura 1. Informtica imagen del sistema de Mandelbrot generado.
Existen formas de visualizar el conjunto de Mandelbrot en 3D. Una forma es
hacer girar
el conjunto de Mandelbrot en torno a algunos ejes, pero eso no le da un nuevo
complejo
estructura. Otra forma es establecer una altura dependiendo de cuando tiende a
infinito,
esto sin embargo slo ayuda a explorar el juego en 2D y no agrega una dimensin
a la

fractal.
Pgina 6

3
2.1.1 3D Mandelbrot, el Mandelbulb
Hay varios investigadores de todo el mundo que estn en busca de los algoritmos
para crear fractales en 3D reales. El Mandelbulb es un fractal 3D que fue
encontrado por Daniel
Blanco. [4]. La multiplicacin de los nmeros complejos se puede considerar
como rotacin y
de escala de un punto en 2D. Cuando White descubri su algoritmo experiment
con formas de extender estas transformaciones de 2D a 3D y la ecuacin que
encontrado es muestra en la ecuacin 2.
=
cos pecado * n + * n
pecado * n + pecado * n
cos *

:
=
+
+
= Atan2
+
,
=
2 (,)
Ecuacin 2: La regla de exponentes que se traduce en la Mandelbulb, fundada
por
Daniel Blanco.
En una entrevista con New Scientist Blanco afirm que nadie ha creado una
verdadera
Fractal 3D [5]. A pesar de que es casi all, el algoritmo descubri crea una
Fractal 3D con altos detalles. Sin embargo, admite que no es del todo real 3D
Mandelbrot
sin embargo, "Todava hay secciones 'crema batida', donde no hay detalles".
2.1.2 La nueva fractal
El nuevo fractal que este proyecto se centra alrededor es todava sin nombre. El
fractal es
definida con la misma ecuacin que Mandelbrot 2D (vase la ecuacin 1) y el
diferencia es el complejo de lgebra.
El nmero complejo que se utiliza para este fractal contiene 2 partes imaginarias

(Ver ecuacin 3) y tiene una forma especial para calcular el cuadrado (vase la
ecuacin 4).
=+
+
Ecuacin 3: Nmero complejo con 2 partes imaginarias.
=
=
2*
*
||4 * a * b * c * sq

:
=
1
,
=0
=0
1
+
,
0
0
Ecuacin 4: Regla para calcular el cuadrado del nmero complejo especfico para
el
fractales.
Cuando c es igual a cero en la ecuacin 4 se obtiene el conjunto de Mandelbrot y
por
variando c podemos ver cmo los cambios fractales del conjunto de Mandelbrot
en la nueva
estructuras complejas.
Pgina 7

4
2.2 Representacin de un fractal 3D como un volumen y visualizar
utilizando Volumen
Representacin
Un volumen es bsicamente varias fotos se apilan unos sobre otros y son
comnmente

utilizado en aplicaciones para imgenes mdicas [6]. Un volumen constan de


varios elementos de imagen volumtrica
(elementos de volumen) [7] al igual que un cuadro se componen de varios pxeles
(imagen
elementos). La diferencia es que un pxel se puede tratar con dos coordenadas, x
ey, la cual nos da dos dimensiones cuando un voxel se aborda con tres
coordenadas, x, z y y, lo que nos da tres dimensiones.
En la imagen normal y volmenes cada uno de pxeles o vxeles contiene
normalmente uno
(Escala de grises) o tres componentes (color). Cuando se trabaja con los fractales
que pudimos
ver estos componentes como una representacin de la parte de la contenida en
fractal
que voxel, un voxel que es completamente fuera o dentro tendra el valor cero
o uno respectivamente. Un valor de un voxel que se acuesta en la superficie tiene
que ser
aproximada dependiendo de la cantidad de la voxel que est dentro y fuera de y
lo que las superficies de direccin lo corta.
Cualquier equipo puede visualizar una imagen digital, sin necesidad de instalar
un
aplicacin especfica, sino de visualizar un volumen es ms difcil ya que los
diferentes volmenes
que tenga que ser visualizado en diferentes maneras. Hay dos ramas principales
para el volumen
representacin, representacin de volumen directo y representacin de volumen
indirecta. [8]
2.2.1 Volume Rendering indirecta (IVR)
IVR algoritmos se utilizan para extraer iso-superficies de un volumen. De marcha
Cubos [9] es un algoritmo de IVR que las cajas de los modelos en funcin de un
tringulo
valor umbral. Marching Cubes utiliza un cubo que marchar por el volumen.
Los cubos de 8 esquinas son 8 voxels de 2 diapositivas adyacentes en el
volumen. Si el
cortes superficiales a travs del cubo se crearn tres y cincuenta y nueve
tringulos dependiendo
cmo la superficie corta el cubo. Cuando el cubo se ha marchado por el volumen
y visit todos los posibles conjuntos de 8 voxels vecinos tenemos una serie de
tringulos
que puede ser renderizado usando tcnicas normales de representacin. Dado que
el algoritmo

crea hasta cuatro tringulos para cada cubos que es parcialmente dentro del
nmero de
tringulos aumentarn en gran medida a medida que aumenta el tamao del
volumen.
Este es un algoritmo que crea un modelo de tringulo en funcin de un umbral
valor. Cuando se cambia el valor de umbral, es necesario para ejecutar el
algoritmo de uno
ms tiempo. Esto es mucho tiempo para explorar un volumen con diferentes
valores de umbral.
2.2.2 Volume Rendering directo (DVR) con Ray casting
La principal diferencia entre el IVR y DVR DVR es que no crea ningn
polgonos. Ray Casting (RC) es una tcnica de DVR de manera eficaz y eficiente
que puede
ser implementado en la GPU. Para cada pxel en la pantalla de un rayo est
echada, este rayo
cortes diferentes voxels en el volumen. Dependiendo de la informacin en el
muestreada
voxels un color se ajusta al pxel.
Una forma de implementar RC es utilizar un cubo como la geometra de proxy
[10]. El proxy
geometra se utiliza para localizar el punto de entrada y salida en el volumen de
cada rayo.
Hadwiger utiliza et.al un cubo donde el color para cada vrtice es el mismo que
el
de coordenadas. Los colores del cubo representan entonces la coordenada de
textura para el
punto de entrada / salida. Al aplicar la presente tenemos que utilizar tres pases de
renderizado.
1. Render Caras frontales
2. Render Volver Faces
3. Ray-Casting.
Las dos primeras pasadas hacen que las caras frontales y las caras posteriores del
cubo
en dos texturas. El tercer paso es el algoritmo real RC. Los dos texturas
Pgina 8

5
que contiene los puntos de entrada y de salida de las dos primeras pasadas se
envan a la GPU
junto con el volumen. Los dos ltimos pasos se pueden realizar de forma
simultnea y en

ese caso, slo tenemos que hacer que las caras frontales o la espalda se enfrenta a
una textura y
hacer que las otras caras directamente al procesador de volumen.
2.2.3 Clculo del gradiente / normal para el sombreado en Volume
Rendering
Para conseguir los objetos 3D se ven tan reales como sea posible en proyecciones
2D que necesitamos para dar sombra a la
objeto en funcin de la posicin de la fuente luminosa y la superficie normal. El
ms
mtodo de iluminacin comnmente utilizado es Phong iluminacin [11]. En
Phong
iluminacin de tres tipos de reflexiones se utilizan para cada luz, ambiente,
difuso
y especular (ver ecuacin 5). Reflexin difusa se calcula en funcin de la
ngulo entre la superficie normal y la direccin de la luz y da una pista acerca de
la forma del objeto. La reflexin especular depende del ngulo entre la
reflexin de las luces de vectores en la superficie y la direccin de la visin y da
la
objetar una superficie brillante. La reflexin de ambiente es una constante para
evitar que las piezas de
el objeto a ser todo negro que aparecer en el que el ngulo entre la luz
direccin y normal a la superficie es mayor que 90 grados.
=
+
+
=
=
* Max 0,
=
* Max 0,

:
=
,,
=
,
,,
=
,

,
,
=
,

=
=

=
Ecuacin 5: modelo de iluminacin de Phong
En representacin de volumen que necesitamos para calcular una normal para
cada voxel para realizar
Iluminacin Phong. Hay diferentes maneras de hacerlo dependiendo de lo
Mtodo de representacin que estamos utilizando. Cuando tenemos un volumen
esttico como se describe en
la seccin 2.2.1 normal vxeles se puede crear mediante el clculo del gradiente a
lo largo
cada eje como se muestra en la ecuacin 6, donde f (x, y, z) es el valor de la
vxel en
posicin [xyz].
=
=
+ 1,,
- 1,,
=
, + 1,
, - 1,
=
,, + 1 - (,, - 1)
Ecuacin 6: clculo del gradiente en un volumen esttico.
Dado que los voxels son ya sea dentro o fuera del gradiente en cada eje puede
tomar tres valores, cero, negativo o positivo, que no nos va a dar una muy
sombreado suave. Si hacemos un filtro de paso bajo en el volumen antes del
clculo
los gradientes nos pondremos normales ms suaves, pero con el costo de la
prdida de detalle.
Otra forma de calcular lo normal es crear un conjunto de puntos [x

yo
y
yo
z
yo
] Que
sentar en la superficie interior de cada voxel y calcular el plano de mnimos
cuadrados utilizando el
modelo lineal de regresin mltiple definidos en la ecuacin 7 [12]. Mediante la
creacin de un
Pgina 9

6
diseo de la matriz A y un vector de observacin (vase la ecuacin 8) de los
puntos que
puede calcular el vector de parmetro.
=
Ecuacin 7: Modelo lineal para la regresin mltiple.
=
1
1

1
,
=

Ecuacin 8: Matriz de Diseo y de la observacin del vector para el modelo


lineal para mltiples
de regresin.
Cuando tenemos el vector de parmetros que podemos crear una funcin para un
avin
(Vase la ecuacin 9). En el clculo de una normal de que podemos establecer
a cero para obtener un paralelo
plano que pasa por el origen y fcilmente calcular el producto vectorial de dos
vectores como en la ecuacin 10.
,
=
+
+
Ecuacin 9: Funcin para un avin para un vector de parmetros.

=1
N = vxv
v = [1 0 p]
v = [0 1 p]
Ecuacin 10: clculo normal para un avin usando la funcin en la ecuacin 8 y
0
es igual a cero (un plano paralelo)
2.2.4 Optimizacin del DVR usando Early Ray Terminacin y Espacio
Saltando
Al implementar GPU basada Ray De Colar como se explica en el apartado 2.2.2
que
probar muchos voxels que contiene informacin no importante, que nos da una
cuello de botella en vigor en el fragment shader en la tubera de la lnea
grfica. Ruijters y
Vilanova describir un par de tcnicas para manejar esto y alguna otra
cuellos de botella [13]. Dos de ellos son la terminacin de rayos y el espacio de
salto temprano utilizando
Octree. Terminacin ray temprana significa que slo probamos el rayo hasta que
algn
criterios que se alcance, los criterios ms comn es cuando se alcanza cierta
opacidad.
Figura 2: Subdivisin de un cubo utilizado en la estructura del rbol de octantes.
Pgina 10

7
Cuando se utiliza la terminacin rayos temprano se reduce el nmero de puntos
de muestreo en
el extremo del rayo. Tambin queremos minimizar los puntos de muestreo en el
principio
del rayo. Esto se puede lograr mediante la subdivisin del cubo de proxy en un
rbol de octantes
estructura. Esta subdivisin divide un cubo en 8 nuevos cubos dividiendo cada
lado de
el cubo en medio (ver figura 2). Al subdividir el cubo de proxy varias veces nos
puede saltar para hacer que los nodos octree que no contiene ningn voxels
importantes.
Esto significa que los pases de renderizado 1 y 2 se ha explicado anteriormente se
llevar un poco ms
tiempo, pero nos ahorra tiempo en la GPU.
2.3 renderizado estereoscpico

La estereoscopa es una manera de percibir la profundidad real de imgenes y


pantallas [14] planas.
El principio de la estereoscopa es hacer que cada ojo para ver su propia imagen
de una escena,
al igual que en el mundo real. Cuando se busca en el mundo real, los ojos ven dos
ligeramente diferentes imgenes, si usted desea superponer estas dos imgenes
sera un
imagen borrosa, pero el cerebro puede interpretar las diferencias en las imgenes
y de
que percibir la profundidad. En la bsqueda de una imagen normal, como una
fotografa o un
pantalla de la computadora, no es slo una imagen para ambos ojos. Si en cambio
lo hara
mostrar dos imgenes simultneamente en la pantalla y de alguna manera separar
los
imgenes para cada ojo que podan engaar al cerebro para percibir la
profundidad en la imagen.
Hay varias maneras de lograr esto y algunos de estos mtodos sern
se explica aqu.
2.3.1 Anaglyph Cdigos de color
Anaglyph es una de las tcnicas ms antiguas y ms baratas de lograr la
estereoscopia
[15]. La tcnica requiere que el espectador a usar un par de gafas a la sombra con
diferentes colores para cada ojo, comnmente rojo y azul o rojo y cian. La
imagen
para el primer ojo es de color slo con el primer color y la imagen para el otro
ojo es
slo en el otro color. Puesto que necesitamos para dar color cdigo los dos
cuadros que van a perder
gran parte de la informacin de color.
2.3.2 Liquid Crystal Shutter Glasses
Estos vidrios tienen un filtro para cada ojo y cuando un filtro se da una tensin
que
vuelve opaco por lo que no viene a travs de la luz. Estos filtros se sincroniza con
el
velocidad de fotogramas de la pantalla y para cada marco de las gafas
intercambia entre el ojo, en
otra palabra cada ojo ve cada segundo pxel [16]. Esto significa que la velocidad
de fotogramas
tiene que ser dos veces ms rpido en comparacin con otras tcnicas, una
velocidad de fotogramas anteriores 100

Se prefiere Hz
2.3.3 Longitud de onda Multiplex Imaging
Longitud de onda Multiplex Imaging es un mtodo desarrollado por la empresa
alemana
Infitec [17]. El mtodo utiliza dos proyectores con dos filtros espectrales
diferentes.
Los filtros espectrales utilizan filtros de distancia toda la luz excepto la luz en
espectral especfica
intervalos. Cada filtro deja pasar una cierta cantidad de luz azul, verde y rojo,
pero
desde ligeramente diferentes intervalos. En la figura 3 vemos cmo estos
intervalos pueden ser
definido.
Cuando la prestacin se procesa los cuadros de los ojos separados para separarse
proyectores a todo color. El uso de este mtodo que no se pierde ninguna
informacin de color
al igual que con anaglifo y no necesitamos el doble de la velocidad de fotogramas
como con lquido
Copas de cristal obturador, aunque tenemos que hacer que la escena dos veces
para cada fram.
Un inconveniente es que es mucho ms caro que anaglifo o de cristal lquido
Shutter Glasses.
Pgina 11

8
Figura 3. Los intervalos para la longitud de onda del filtro espectral utilizado en
Longitud de onda de Infitec
Imagen Mltiple. (Intervalos azules son para el primer ojo y el rojo es para la
segunda ojo)
2.3.4 renderizado fuera de eje
Al procesar las imgenes para el ojo izquierdo y derecho con dos cmaras al lado
de cada
otro con un punto de enfoque obtenemos dos viewplanes. Estas plano de dos
vistas son
ortogonal al vector de visualizacin (vase la figura 4) que se traducir en
algunos
los errores de proyeccin. Para solucionar este problema tenemos que utilizar
fuera del eje de representacin. Offeje de representacin permite el uso de viewplanes no ortogonales [18]. En este
OpenGL
se puede hacer usando la funcin

glFrustum (izquierda, derecha, abajo, arriba, cerca, lejos),dondeloscuatro


primeros
argumentos son los lmites del plano de delimitacin cercano y los dos ltimos la
distancia
desde la cmara hasta el plano de delimitacin cercano y lejano.
Figura 4: Viewplanes en una escena con dos cmaras apuntando en el mismo
punto.
3
Mtodo
Durante el proyecto se ha creado una solucin con dos aplicaciones. Ambos son
desarrollado bajo las ventanas. Un ordenador porttil con un procesador AMD
Turion X2 Ultra Dual-Core
Mobile ZM-82 procesador de 2,80 GHz y 3,00 GB de RAM se ha utilizado para
desarrollo y pruebas. La tarjeta de grficos que se ha utilizado es una ATI Radeon
HD 3200, que est lejos de la mejor hoy. La primera aplicacin, el tiempo real
procesador de volumen (ver seccin 3.2.1 y 3.2.2) estn utilizando OpenGL [19]
y
GLSL [20] para explorar los fractales, mientras que la segunda aplicacin, el
super sampler
Pgina 12

9
(Vase la seccin 3.2.3), est utilizando c + + para crear un buffer de imagen y el
diablo [21] para
guardarlo en el disco.
En las secciones de fuelle voy a explicar estas dos aplicaciones y qu mtodos
se utilizan para explorar el fractal y crear imgenes de alta resolucin.
3.1 Clculos Fractal
Ambas aplicaciones que se han creado estn utilizando una funcin para
comprobar si un punto en
El espacio 3D es dentro o fuera del fractal. Esto se ha implementado por lo que
es
bastante fcil de agregar un nuevo mtodo. Para cada fractal hay un espacio de
nombres que
contiene la funcin interior([xyz],maximumIterations,
potencia). En
la funcin simplemente comprobar si el fractal est dentro o no despus de que el
nmero de
iteraciones y devuelven un valor booleano. Si queremos explorar otro nos fractal
slo hay que crear un nuevo espacio de nombres que implementa esa funcin y el
uso que

espacio de nombres en lugar de la primera.


3.2 Mtodos de representacin
Al igual que para todos los volmenes que hay varias formas de visualizar y
encontrar interesante
partes y la informacin. A continuacin voy a explicar los mtodos que ha sido
implementado en las aplicaciones y qu ventajas y desventajas que hay
son con cada mtodo.
3.2.1
Volumen en tiempo real Render
Un buen comienzo para conseguir una buena comprensin de un conjunto de
datos con datos volumtricos se encuentra en
muchos casos al utilizar un volumen procesador en tiempo real, como para el
caso de los fractales 3D. La
inconveniente de este mtodo es cuando se quiere mostrar un volumen con alta
detalla que afecta el tiempo de presentacin y como un fractal tiene un nivel
infinito de detalles
tenemos que limitar los datos a la pantalla.
En la puesta en marcha de la aplicacin de un volumen con un tamao de
alrededor de 500
3
voxels es
creado. Para cada voxel se calcula si est dentro o fuera, si est dentro
establecemos
el valor del voxel a 1 o si est fuera de lo ponemos a 0. Cuando se dispone de un
volumen
como esto se puede calcular una normal para cada voxel utilizando el mtodo
explicado en
la seccin 2.2.3. Este volumen se utiliza como una textura 3D. El valor RGB de
la textura
corresponde a la normal y desde el normales varan entre -1 y 1 y la
Componente RGB puede tomar valores entre 0 y 1 hay que aadir uno y luego
dividir cada uno de los componentes normales. El componente alfa de la textura
corresponde a si ese voxel est dentro o no.
Para hacer que el volumen que necesitamos saber el punto de entrada y salida
para cada rayo.
Esto se hace mediante la creacin de una estructura octree del volumen. En la
seccin 2.2.4 se
se explica cmo crear un octree. Para cada nodo de la octree ahorramos su
coordenadas, el color y el voxel de coordenadas. El nodo superior es tan grande
como el

volumen y se compone de todos los colores. El color de la esquina se establece


en la
correspondientes coordenadas voxel y luces entre [0 0 0] en una esquina a [1 1
1] en la esquina opuesta. El color de la octree corresponde a la entrada y
punto de salida del rayo. Para obtener las caras posteriores al volumen de render
la octree
deben ser prestados a una textura con un objeto frame buffer. Las caras
posteriores se
naturalmente ser ocluida por las caras frontales de manera que tenemos que
cambiar la prueba de profundidad
funcin en OpenGL a-mayor que en vez de-menos.
En el procesador de volumen nos muestra a lo largo de cada rayo con un tamao
de paso alrededor de
uno dividido por el tamao de los volmenes de lado (en este caso 1/500). La
longitud de
stepsize afecta la calidad de la imagen generada y el tiempo de renderizado. Un
mayor
stepsize podra introducir algunos artefactos de muestreo pero el tiempo de
renderizado
Pgina 13

10
disminuir. Dependiendo de la velocidad de la GPU y la calidad deseada, el
usuario puede
elegir un tamao de paso que da un resultado satisfactorio.
Desde el zoom es una parte importante en la exploracin de los fractales en 3D y
el volumen
es slo alrededor de 500
3
voxels grande que no habr muchos detalles si no nos calcula
nuevos voxels. Por lo tanto, un mtodo ha sido implementado para el zoom que
utiliza un
cubo de alambre que se puede escalar y traducir para adaptarse a un rea de
inters y
a continuacin, volver a calcular los voxels y gradientes para el volumen.
3.2.2 Cut avin
En la seccin 2.1.2 se indica que vamos a obtener el conjunto de Mandelbrot
cuando c = 0 (zcoordinar = 0). Para probar esto y explorar, adems, un procesador de plano de
corte tiene
puesto en prctica en mi aplicacin para visualizar diferentes planos de corte. La

ventana se divide en dos ventanas de igual tamao, en la ventana izquierda a


hacer que la
volumen utilizando el procesador de volumen se ha descrito anteriormente. Un
rectangular transparente
avin se aade a la prestacin a partir del volumen de procesamiento que
representan nuestra corte
avin. En el rea de visualizacin derecha un quad se extrae que est llenando
toda la ventana grfica.
Cada vrtice consigue un atributo que corresponde a la esquina asociada del corte
avin. En el shader estas coordenadas se bilinearly interpolados para cada
fragmento y se comprueban si est dentro o fuera. Si est dentro ponemos el
pixel de
negro, de lo contrario nos fijamos el pxel utilizando una tabla de bsqueda
unidimensional utilizando la
nmero de iteraciones que se tard en tender a infinito dividido por el nmero
mximo de
iteraciones.
En la puesta en marcha de las coordenadas planos de corte de las esquinas se
establecen para reducir el volumen en z =
0, lo que redundar en el conjunto de Mandelbrot. El usuario puede hacer zoom
de forma interactiva en
el plano escalando los puntos de esquina hacia el centro del plano o traducir
a lo largo del, lado normal o hasta vectorial. El usuario tambin puede girar el
plano usando la
ratn para explorar muchos cortes diferentes. Esto se hace mediante la traduccin
del plano de modo que el
punto medio en el avin est en el origen y luego girar cada punto utilizando un
matriz de rotacin simple para cada eje.
3.2.3 Sper Sampler para lograr imgenes de alta resolucin
Como se indic anteriormente cuando se utiliza un procesador de volumen para
los fractales explorar en tiempo real
no vemos tantos detalles. Muestreo Super es una tcnica donde varios
puntos se muestrean para cada pxel y luego se calcula la media de estos puntos
como un valor de pxel [22] [23]. Como queremos mostrar bellas imgenes de
alta resolucin
de nuestros fractales se ha creado una aplicacin sper sampler. Esta aplicacin
utiliza una mquina de colada ray con rayos ortogonales. Para definir la direccin
del rayo que podamos
exportar un archivo desde el procesador de volumen con la configuracin de
visualizacin. El sper sampler

aplicacin crea una rejilla de puntos de 3x3 para cada pxel que se mueve a lo
largo de los rayos
hacia el fractal. Para cada paso, los puntos se mueven, comprobamos si el
punto central est dentro o no. Cuando el punto central est dentro de lo que
necesitamos para finalizar
la posicin de cada punto, esto se hace por bsqueda binaria para la
superficie. En otra
palabras que mover cada punto en la direccin del rayo si el punto est fuera y en
la direccin opuesta si el punto est en el interior, para acercarse ms a la
superficie dividimos
el tamao de paso por dos para cada paso. De estos nueve puntos que hay
diferentes maneras
de calcular el sombreado para ese pxel. En la aplicacin de cuatro mtodos
diferentes
de clculo se implementa el sombreado. El primero es el uso de los tres puntos
para
crear un gran tringulo (tringulo rojo en la figura 5) y calcula la normalidad
mediante la adopcin de
el producto vectorial de los vectores direccionales. El primer vector de direccin
se obtiene
desde el punto de sustraccin izquierda desde el punto superior y el segundo para
restar
el punto exacto desde el punto ms bajo. El segundo y tercer mtodo utiliza ocho
tringulos (tringulos azules en la figura 5) y calcula una normal para cada
tringulo justo
como en el primer mtodo. La diferencia entre el mtodo de dos y tres es que
para
Pgina 14

11
mtodo de los dos el sombreado se calcula para cada tringulo y la intensidad
media es
utilizado como un valor de pxel cuando en un mtodo de tres normal medio se
calcula y se
utilizado para el sombreado. El cuarto mtodo que utiliza el mtodo de mnimos
cuadrados, explic
en la seccin 2.2.3.
Figura 5: Tringulo de la subdivisin para el clculo normal.
Al hacer los mtodos anteriores obtenemos las imgenes de alta resolucin con
muy
detalles altos y para hacer estos cuadros parecen an ms realistas que he aadido

algunas sombras en el objeto. Para lograr esto de forma iterativa mover el punto
central
hacia la fuente de luz, si encontramos un punto que est dentro de nosotros
hacemos esa foto
ms oscuro. De esta manera las partes de las superficies que estn ocluidos de la
luz tendrn
ms oscuro.
3.3 renderizado estereoscpico
Para el procesador de volumen, hay una alternativa para la representacin
estereoscpica. Hay
dos mtodos para estreo, uno para la representacin anaglifo y otro para
horizontal
dividir por dos proyectores.
3.3.1 Apagado eje-rendering
En la seccin 2.3.4 el problema con viewplanes ortogonales cuando queremos
hacer
se explica una escena en estreo. Para lograr la correcta estreo utilizando no
ortogonal
vista aviones de una funcin se ha implementado que calcula un tronco vista
desde
una posicin dada y la pantalla en el mundo. Para hacer esto necesitamos algunos
parmetros, el
anchura, la altura y el centro del plano de vista en escena coordina y es normal
y hasta vectorial. Tambin necesitamos la posicin de visualizacin en las
coordenadas de la escena. La
ltimos dos valores que necesitamos es la parte delantera y la distancia medida
desde el recorte de nuevo
el plano de la vista. Al tener todos estos valores podemos calcular los lmites para
la
truncado usando los pasos siguientes: [24]
1. Calcula el vector lateral view aviones tomando el producto cruz de su
y los vectores normales. Tambin aseguran que estos tres vectores son
normalizada.
2. Clculo de un vector desde el centro del plano de la vista a la posicin de la
vista.
3. Calcule la distancia ms corta desde la posicin de fin de plano de la vista
tomando el producto escalar entre el vector de la etapa 2 y la vista
Aviones vector normal.
4. Proyecte la posicin de la vista en plano horizontal por la sustraccin de los
tiempos normales
la distancia desde el plano de la vista de la posicin de la vista.

5. Necesitamos saber las coordenadas de los viewplanes superior derecha y


esquinas inferiores izquierda. Para el clculo de la esquina superior derecha le
sumamos los viewplanes
y los vectores laterales hacia el centro de visin planos. El importe de la y
Pgina 15

12
vectores secundarios que deben ser aadidos es la mitad de la altura y la anchura
de la
viewplanes respectivamente. Por la parte inferior derecha se utiliza el mismo
enfoque, pero el uso de resta en lugar de sumar
6. Ahora tenemos que calcular los vectores de la posicin de vista proyectada
a las dos esquinas de la etapa 5. Esto se hace simplemente restando el
las coordenadas de la posicin de vista proyectada de cada esquina. Llamemos
ellos v2bl y v2tr.
7. Al tener los dos vectores de direccin desde el paso 6 se puede calcular la
fronteras del plano de la vista.
una. izquierda = producto escalar entre v2bl y el vector lateral de la vista
plano
b. derecha = producto escalar entre v2tr y el vector lateral de la vista
plano
c. abajo = producto escalar entre v2bl y el vector de la
vista en planta
d. top = producto escalar entre v2tr y el vector de la vista
plano
8. Tenemos que asegurarnos de que el plano de delimitacin cercano no est
detrs de la vista
punto, esto se hace mediante la comparacin de la distancia de recorte frontal con
la
la distancia desde el paso 3
9. Desde el borderer desde el paso 7 es para el plano de vista y los valores
enviados
a la funcin glFrustum deben ser las fronteras de la delimitacin cercano
plano tenemos que reducir los lmites de la etapa 7. Para ello nos
multiplicar cada valor con la distancia entre la posicin de visin y
el plano de recorte cerca de divide por la distancia desde el paso 3.
10. El ltimo paso que hay que hacer es hacer que el fin de estar en el origen,
esto se puede hacer por crear una matriz de actitud y invertirlo, vase la ecuacin
11. Side, y la normalidad se refiere a los vectores de orientacin para la vista
avin y los viewpos se refiere a la posicin de vista original.
=
0

0
0
1
Ecuacin 11: Matriz de Actitud para traducir vista posicin de origen
Para establecer la posicin de la vista a una distancia correcta desde el plano de la
vista que tenemos que
medir el tamao de nuestra pantalla y la distancia de nuestros ojos son de la
pantalla. Nosotros
hacer esto mediante el clculo de un valor respecto al dividir la opinin de ancho
avin con
pantallas de ancho y se multiplican con la distancia de la pantalla. Ahora
podemos establecer
la posicin de visualizacin mediante la adicin de la normal, multiplicado con la
relacin a la
punto central viewplanes. Esto har que la posicin de visualizacin en el medio
de nuestro
ojos. Para hacer una posicin de la vista para cada ojo se puede utilizar el valor
de relacin
calculado anteriormente multiplicado con la mitad de la distancia interpupilar y
mueva el
posicin de ver para cada ojo que mucho hacia un lado. La distancia interpupilar
es
la distancia entre nuestros alumnos y la distancia media es de 63 mm [25]. No
hace
importa lo que las unidades que usamos para cuando medimos en el mundo real,
siempre y cuando somos
consistente. Si se mide la pantalla en metros que tiene que dar la visin
la distancia y la distancia interpupilar en metros tambin.
3.3.2 Anaglyph
Para separar las dos imgenes una de otra y mostrarlos al mismo tiempo
en la pantalla se utiliza un patrn de tablero de ajedrez. Cuando la escena se
representa para el
primer ojo, comprobamos si la suma de los pxeles x y coordenada y, si es incluso
el pxel es
un cdigo de color y si es impar, el pixel se descarta, para el segundo ojo
hacemos la
lo mismo, pero el cdigo de color si es impar y descartar si aun. El color para
cada ojo es
Pgina 16

13

determinado por una variable uniforme y son como un conjunto estndar de color
rojo (RGB = [1 0
0]) y cian (RGB = [0 1 1]). Para que el color del pixel codificado que slo
multiplica el
color de salida con el cdigo de color para ese componente ojo sabio.
3.3.3 divisin horizontal para proyectores duales
Para representar la escena de divisin horizontal slo tenemos que dividir la
ventana en
dos ventanas de igual tamao y colocarlos uno al lado del otro
horizontalmente. En el
izquierda viewport que prestamos la escena de los ojos derechos de posicin y en
la vista
visualizacin derecha que prestamos la escena de ojos izquierdos posicin
ver. (Esto depende
cmo se instalan los proyectores)
Para mostrar esto correctamente necesitamos establecer nuestro ordenador para
uso prolongado
escritorio en los dos proyectores. Tambin mi necesidad de contar OpenGL para
crear un
ventana que es el tamao del escritorio extendido o de lo contrario podramos
tener problemas
cuando se trata de maximizar la ventana, ventanas normales se maximiza en una
sola
pantalla y as es tambin el caso de las aplicaciones OpenGL.
4
Resultado
Las dos aplicaciones que se han creado tanto generan realmente agradable y
imgenes satisfactorias. La aplicacin de Super Sampler es bastante lento, pero
da muy
buenas fotos y el procesador de volumen tiene un fps bastante bajo en mi equipo
(ver
seccin 3 para obtener informacin detallada de hardware). A continuacin voy a
explicar y mostrar algunas fotos
de diferentes representaciones realizadas con las aplicaciones
4.1 Imgenes de el volumen de render en tiempo real
El volumen de render en tiempo real puede crear buenas fotos de zooms
profundas. La figura 6
muestra cmo la representacin se ve cuando est preformado no zoom, se puso
un complejo
estructura, pero no tienen todos los detalles que se espera un fractal tener. La

aplicacin puede controlar el zoom a la ampliacin de cerca de 2 millones antes


de la
puntos flojos de mucha precisin flotantes. Esto se puede ver en la figura 7,
donde una
se consigue magnificacin alrededor de 2.220.000. El centro est ubicado en el
"derecho
lado "del fractal. En esta ampliacin podemos ver algunos detalles, pero parte se
pierde
debido a los errores de punto flotante de precisin. Si tratamos de enfocar ms
profundo habr
errores en el buffer de profundidad y la caja de marco de alambre va a cambiar su
forma. En la figura 8
podemos ver un zoom con un aumento en torno a diecisis mil con un centro de
alrededor de [-1,7 0 0], lo que sera muy a la izquierda en el Mandelbrot fija eje
real
(Eje x) visto en la figura 1. Aqu podemos ver la estructura fractal ms que en la
figura 7
y tambin supongo que hay algunas similitudes a lo largo del eje z.
Pgina 17

14
Figura 6: Representacin de resultado a partir del volumen de render en tiempo
real
Figura 7: zoom xito con un aumento en torno 2.22million.
Figura 8: zoom profundo con un centro en torno al [-1.7 0 0] y un aumento de
aproximadamente
16 000.
Pgina 18

15
4.2 Imgenes de el procesador del plano de corte
En la figura 9 se puede ver la vista de partida para el procesador del plano de
corte. En la parte izquierda
de la imagen podemos ver la representacin en volumen con el lanzador de rayos
con el plano de corte
agregado como quad azul transparente. En el lado derecho vemos el conjunto de
Mandelbrot. La
parte negro dentro de las reas coloreadas se considera que es en el interior del
fractal,
el rea de color es de color dependiendo del nmero de iteracin que se necesita
antes del punto tiende a infinito, este nmero se asigna a un color usando un

Tabla de bsqueda 1D. El rea de negro fuera de las reas de color es tiendas de
campaa en el que el punto de
hasta el infinito realmente rpido. Al mover, girar o escalar el plano lo haremos
interactivamente explorar diferentes planos de corte en el fractal. En la figura 10
tenemos
coloca el plano de corte escalado en la superficie en el "lado derecho" del fractal
y puede
ver como una pequea quad transparente que representa el plano de corte en el
lado izquierdo de la
imagen.
De la figura 8 en la seccin 4.1 se intua que hay algunas similitudes en
el eje Z y la figura 11 refuerzan esa suposicin. La figura 11 nos muestra dos
paralelas
cortar planos con valor y fijo, el plano de corte superior ha fijado su valor y en
una positiva y
valor y el plano de corte inferior tiene un valor y fija en un valor
negativo. Verticalmente
tenemos el eje z, en horizontal tenemos el eje X y el normal va a lo largo del
eje y. Ya que podemos ver que los planos de corte se ve igual en ambos lados de
la xeje, y an as que cuando se mueve a lo largo de lo normal que puede creer que el
fractal se refleja sobre el eje x.
Figura 9: Imagen de inicio para el procesador del plano de corte
Pgina 19

16
Figura 10: Plano de corte con zoom, el plano azul transparente corte se puede ver
en el lado izquierdo
ligeramente por encima de la media.
Figura 11: Dos planos de corte paralelos con su valor y fijos.
4.3 Imgenes de la aplicacin de Super Sampler
En las fotos de arriba el nivel de detalle no es tan buena como la que queremos,
pero el
la prestacin de la aplicacin sper sampler da una mucho ms satisfactorio
resultados. Como se explica en la seccin 3.2.3 cuatro diferentes mtodos se
utilizan para calcular
el sombreado para cada pxel, en la figura 13 se muestran estos cuatro
mtodos. Los dos
representaciones superiores estn utilizando el mtodo 1 y 2, y las dos versiones
ms bajas son
utilizando el mtodo 3 y 4. En este informe, la diferencia no es tan clara, pero en
el

imgenes de alta resolucin podemos ver que hay algunas diferencias. Mtodo 4,
la
menos mtodo del plano cuadrado, produce una imagen ligeramente ms agudo
que los otros 3
mtodos, pero no podemos declarar que el mtodo como el mejor. Los mejores
mtodos hara
ser el mtodo que crea las fotos ms bonitas, pero ya que las personas tienen
diferentes
degustar una imagen que es el ms bonito para una persona puede no ser la
imagen ms bonita
de acuerdo con otra persona.
Pgina 20

17
En la figura 14 podemos ver una representacin del fractal girado y he visto
desde
arriba y en la figura 15 un poco de colorante en funcin de la direccin de la
normal
ha aadido. En la figura 16 la frmula se ha modificado ligeramente para utilizar
el
poder de ocho en lugar de 2 (vase la ecuacin 12). Esto se puede hacer desde
que tom
poder de 8 es el mismo que tomar la potencia de dos veces 3.
=
+
= (()) +
Ecuacin 12: Definicin de una progresin compleja utilizando el poder de 8 en
lugar de 2
Como se explica en la seccin 3.1, es fcil aadir nuevas frmulas fractales. A
ilustrar esto he aadido la frmula para el Mandelbulb (ver ecuacin 2) y
hecho alguna representacin con el poder 8. La figura 12 muestra la
representacin resultados.
4.4 Los resultados de la representacin estereoscpica
Como se explica en las secciones anteriores, hay una alternativa para
estereoscpica
representacin en la aplicacin para el volumen de render en tiempo real. Crea
bonito estreo
representaciones de los fractales en 3D cuando se utiliza el mtodo de divisin
horizontal y fuera del eje
Mtodo de representacin como explicar en la seccin 3.3.1. Al hacer un
acercamiento del fractal

cuando se utiliza equipo de msica los detalles del fractal se vuelve ms claro y
son ms fciles de
spot. Se hace ms fcil distinguir qu partes que est ms cerca o ms lejos de la
espectador. Cuando la prestacin de gafas anaglifo el resultado no es tan bueno
como para el
divisin horizontal.
Para que los resultados sean lo mejor posible, el usuario puede cambiar de forma
interactiva la
Distancia desde la pantalla y las variables de distancia interpupilar. Esto hace que
sea fcil
para conseguir una proyeccin correcta.
Figura 12: Una representacin supermuestreados del Mandelbulb utilizando el
poder de los 8 (n = 8 en
ecuacin 2)
Pgina 21

18
Figura 13: El nuevo fractal con diferentes mtodos para calcular normals.The
foto superior izquierda utiliza un tringulo por pxel. La esquina superior derecha
imagen utilizan ocho tringulos con normales para calcular la luz averge. La
imagen inferior izquierda calcula la salida normal de averge de 8 tringulos y la
abajo a la derecha utiliza los mtodos de mnimos cuadrados para calcular mejor
plano en forma de nueve puntos.
Pgina 22

19
Figura 14: El nuevo fractal girar y visto desde arriba.
Figura 15: El nuevo fractal con un poco de colorante.
Pgina 23

20
Figura 16: El nuevo fractal calculado con la potencia de 8 en lugar de 2
5
Discusin
En las secciones siguientes voy a discutir los resultados, qu inconvenientes hay
con
las aplicaciones y las mejoras que se pueden hacer y las maneras de extender la
aplicaciones.
5.1 Inconvenientes, trabajos futuros y posibles mejoras
Las imgenes creadas en la aplicacin sper sampler parece muy agradable y
tienen un

muy alto nivel de detalle. Pero el tiempo que se necesita para hacerlos es bastante
alto. Un
imagen con una resolucin de alrededor de un megapixel el tiempo de
presentacin es de 30
minutos. Esto es ya que el sper sampler no tiene tanto optimizaciones. Si
nos gustara crear una animacin donde estamos zoom dentro necesitaramos
cientos o incluso miles de imgenes para ser prestados tomara mucho tiempo
tiempo. Para 1000 las representaciones que se necesitara alrededor de 500 horas,
que es cerca de 40 das.
Si nos gustara que esta pelcula fuera en estreo, tendramos que hacer el doble
de
muchas imgenes. Posibles mejoras para reducir el tiempo de muestreo sper
seran
utilizar GPU basada prestacin en lugar de la CPU basado en un ordenador ms
rpido que el
Pgina 24

21
uno que utiliza, y si quisiramos estreo tenemos que cambiar de ortogonal
de proyeccin para corregir fuera del eje perspectiva de proyeccin para lograr
buenos resultados.
Se decidi implementar el sper sampler como una aplicacin independiente
ya que toma tanto tiempo para hacer, por lo que podra ejecutarse en un equipo
secundario
durante el trabajo y probar el volumen en tiempo real hacen en el primer
equipo. La
buena mejora para las aplicaciones sera la de agruparlos en un solo
aplicacin. Al tener slo una aplicacin ms fcil que pudimos conseguir la
muestra sper
las imgenes de las direcciones que queremos.
Imgenes El sper muestreados se ven muy bien, pero pueden llegar a ser mejor,
uno
manera de mejorar sera el uso de ms de nueve puntos para cada rayo cuando
el clculo del plano de mnimos cuadrados, y el uso de un diferencial estocstica
de los puntos
en lugar de la red estructurada que se utiliza ahora. Sin embargo, un
inconveniente con la adicin de ms
puntos es que se necesitar ms tiempo para hacer.
En la seccin 3.2.3 se explica que las sombras se ha implementado, se trata de
una
importante clave para conseguir la percepcin de la profundidad de las imgenes
sper muestreados. La

diferencia en la percepcin de profundidad entre las versiones con y sin


sombras es bastante grande.
En las fotos (por ejemplo, la figura 14) a partir del super sampler podemos ver
dos
errores de menor importancia, la primera es la "nariz" de la izquierda. A la
izquierda de la fractal podemos ver
un par de pequeos objetos que parecen que no estn conectados con el fractal,
pero
como podemos ver en los planos de corte deben estar conectados, pero la
conexin es
tan pequeo por lo que se perdi. El otro error es el agujero en el "globo"
izquierda donde el
fractal es muy estrecha por lo que se perdi. Una forma de evitar esto es hacer
primero
el conjunto de Mandelbrot a la imagen, esto sera llenar el espacio vaco. Pero
este
slo funcionara para los fractales que se haya propuesto el Mandelbrot como un
plano de corte y
con representaciones con una vista del plano ortogonal al plano de corte.
Otras mejoras que se pueden hacer son la posibilidad de aadir ms
luces con colores e intensidades especficas. Tambin podramos colocar el
objeto en alguna
medio ambiente e implementar mapeado de entorno para que se vea como un
fractal
en forma de espejo.
Un inconveniente con el volumen en tiempo real resulta adecuada la aplicacin
es que todos
interaccin se lleva a cabo con el teclado, excepto el de rotacin que se realiza
haciendo clic
y arrastrando el ratn. Dado que todas las acciones tienen su propia llave que
puede ser difcil de
recordar lo que todos hacen llaves. Una manera de resolver esto sera utilizar
algn grfica
interfaz como controles deslizantes, mens, cuadros de texto, etc
La rotacin del plano de corte se realiza mediante el ratn y es bastante
agradable, aunque a
conseguir un poco mejor la rotacin una opcin para la rotacin alrededor de los
ejes, tanto en el mundial
ejes y sus propios ejes, se podran implementar. Esto se podra realizar mediante
la adicin de
algunos componentes de un gui.

Las representaciones del fractal anteriormente no utilizan ningn color especial,


excepto
aquellos que usan la normal, como un color. Puede haber varias formas de
agregar color a
ellos. Podramos utilizar el error residual que obtenemos de clculo del mnimo
cuadrado
error en una tabla de bsqueda para dar un poco de color. Eso probablemente
resultar en una
de color donde la superficie es plana y otro color que el objeto con curvas. Otro
forma podra ser para mapear la distancia entre el punto de entrada de un rayo a
su salida
punto, ya sea en la direccin del rayo de la direccin opuesta de la normal, en
caso tendramos optar por utilizar la direccin del rayo del color del objeto sera
cambiar a medida que giramos y si optamos por utilizar la normalidad como
direccin el color
sera la misma en todas las direcciones. Sin embargo, otra manera de definir el
color podra ser
mapa la distancia desde la superficie a otra capa de iteracin. Esta distancia
podra
medirse a lo largo de la, direccin de la vista normal o direccin de reflexin para
obtener
Resultados de diferencia.
Pgina 25

22
5.2 Las comparaciones con otras obras
No ha sido posible probar todas las aplicaciones para la prestacin de los
fractales en
en general, aunque una aplicacin para explorar la Mandelbulb se ha encontrado
en
foros fractales [26]. Representacin de una imagen con un megapixel en esa
aplicacin
lleva casi un minuto, en comparacin con las representaciones de la
supermuestreado
aplicacin que la aplicacin es 30 veces ms rpido. De aqu podemos sacar la
conclusin de que la aplicacin puede obtener una optimizacin mayor
velocidad.
5.3 Ventajas y desventajas de la representacin estereoscpica
Mediante el uso de la representacin estereoscpica correcta la percepcin visual
de los fractales consigue
mejorada. Como se explica en la seccin 4.4 se hace ms fcil de detectar lo que
est en el

frente y en la espalda. Al mirar algunos zooms en mono que tiene que girar
y mira desde diferentes puntos de vista para ver realmente todos los detalles en el
fractal pero cuando
Utilizando estreo de esto usted Spot Esta detalles mucho ms rpido.
Un gran inconveniente con la divisin horizontal es que la ventana tiene que ser
dos veces ms grande que se traduce en el doble de la raya, que afecta a la
velocidad de fotogramas. Este
parte de la aplicacin no se ha probado en la computadora porttil se especifica
en el principio de
seccin 3, pero el ms rpido ordenador en un VR-laboratorio donde una
frecuencia de imagen satisfactoria
se logr.
6
Conclusin
Qu mtodos y optimizaciones existir para la interpretacin del volumen y que
mtodos se adaptan mejor para la representacin del fractal?
Uno de los mtodos ms adecuados para la exploracin de los fractales en 3D en
tiempo real es de rayos
fundicin con optimizacin octree (vase la seccin 2.2.2 y 2.2.4). El rayo de
tiempo real
fundicin mtodo visualizar muy pocos detalles fractal, esto puede ser resuelto
mediante la adicin de un
cortar avin que visualizar un corte del fractal con mucho ms detalles con
respecto a la
imagen de la mquina de colada ray. Estos dos mtodos tanto de zoom apoyo y
rotacin que es una clave importante en la exploracin de un fractal para
comprender plenamente y
explorar su estructura.
Volume Rendering indirecta con algoritmo de Marching Cubes (explicado en
seccin 2.2.1) se encontr que no es tan buena como la fundicin de rayos, ya
que toma mucho tiempo
para ejecutar el algoritmo y la gran cantidad de tringulos creados puede ser
bastante pesado
para hacer.
Qu modelo de iluminacin se puede utilizar para iluminar el fractal para crear
visualizacin realista?
Existen un par de diferentes modelos de iluminacin y la mayora de ellos
pueden ser
utilizado en los representadores de volumen y por lo tanto tambin para
fractales. En las aplicaciones

crear durante estos modelo de iluminacin de Phong proyecto se ha utilizado con


gran
resultados.
Qu mtodo se puede utilizar para producir una imagen de alta resolucin con
un buen
detalles de fractal 3D?
El lanzador de rayos y cortar renderizador avin es grandes mtodos para
explorar 3D
fractales no dan altos cuadros detallados. Para resolver este problema una
aplicacin mediante muestreo sper se implement que estn muestreando 9
puntos
por pxel para encontrar la orientacin de la superficie en cada pxel. La
superficie
la orientacin se encuentra mediante el clculo de un plano de error de mnimos
cuadrados usando el modelo para
Pgina 26

23
de regresin lineal mltiple. En la figura 12-16 los resultados de imgenes sper
muestreados
se muestra.
Qu mtodos existen para crear la representacin estereoscpica y se
estereoscpica
renderizado mejorar la percepcin visual?
En la seccin 2.3 de un par de mtodos para la estereoscopa, y se presentan en el
solicitud de rayos fundicin existe la posibilidad de hacer en estreo y la
profundidad real de
puede ser percibida por el uso de gafas anaglifo o ventanas Splited horizontales
en
doble proyector. En los proyectores duales de la percepcin visual es mucho
mayor
al explorar los fractales y es ms fcil para el espectador para determinar lo que
est en
el frente y lo que est en la parte posterior.
7
Referencias
1., Alan Flook. Fractales. Comentario Sensor. 1996, vol. 16, 3, ss. 42-47.
2. Hast, Anders. Comunicacin privada. Gvle: febrero de 2010.
3 Mandelbrot, asptects Benot B. Fractal de la iteracin si z z. (1 - z) para
y complejo z. Anales de la Academia de Ciencias de Nueva York. 1980,
ss. 249-259.
4. Blanco, Daniel. El Unravelling del Real 3D Mandelbulb. [En lnea] 2009.

http://www.skytopia.com/project/fractal/mandelbulb.html.
5 Aron, Jacob La Mandelbulb:... Primera "verdadera" imagen en 3D de un
famoso fractal Nueva
Scientist. Noviembre de 2009, vol. 204, Nmero: 3736, ss. 54-54.
6. Drebin, Robert A, Carpintero, Loren och Hanrahan, Pat. Interpretacin de
volumen.
Computer Graphics. 1988, vol. 22, n 4, ss. 65-74.
7. Colaboradores de Wikipedia. Voxel. [En lnea] 03 de junio 2010.
http://en.wikipedia.org/w/index.php?title=Voxel&oldid=365396220.
8. Lichtenbelt, Barthold, Crane, Randy och Naqvi, Shaz. Introduccin al
Volumen
Rendering: Prentice Hall, Inc., 1998.
. 9 Lorensen, William E y Cline, Harvey E. Marhcing Cubes: Una alta
resolucin
Algoritmo de construccin de superficies 3D. Computer Graphics. Julio 1987,
vol. 21, n 4, ss.
163-169.
10. Hadwiger Markus, Ljung Patric, Salama R. Christof y Ropinski Timo.
Volumen GPU basada en Ray-casting con Advanced
Illumination. Europgraphics,
2009.
11. Colaboradores de Wikipedia. Phong Shading. [En lnea] 25 de mayo 2010.
http://en.wikipedia.org/w/index.php?title=Phong_shading&oldid=364161526.
12 Lay, David C. charpter 6 -.. Ortogonalidad y Mnimos Cuadrados lgebra
Lineal
y su aplicacin. : Pearson Education, Inc., 2006, ss. 373-446.
Pgina 27

24
13. Ruijters, Daniel y Vilanova, Anna. Optimizacin GPU representacin
volumtrica.
Jornal de WSCG. 2006, vol. 14.
14 Hast, Anders 3D estereoscpica Rendering:.. Una visin general de la
aplicacin
Cuestiones Juego Juegos del motor:. Volumen Uno 2010..
15. Contribuidores de Wikipedia. Anaglifo. [En lnea] 03 de junio 2010.
http://en.wikipedia.org/w/index.php?title=Anaglyph_image&oldid=365107651.
16. Burdea, Grigore C och Coiffet, Philippe. Tecnologa de Realidad
Virtual. Nuevo
Jersey: Wiley, 2003.
17. Jroke, Helmut Fritz, Markus. Www.infitec.net. INFITEC. [En lnea] 2003.

18 Zelle, John M och Figura, Charles simple, de bajo


costo Stereographics:.. VR para
. Todos SIGCSE '04: Actas del simposio tcnico SIGCSE 35a en
La educacin en computacin. 2004, ss. 348-352.
19. OpenGL. [En lnea] 03 de junio 2010. http://www.opengl.org
20. GLSL. [En lnea] 03 de junio
2010. http://www.opengl.org/documentation/glsl/
21. DevIL. [En lnea] 03 de junio 2010. http://openil.sourceforge.net
22 Rost, Randi J och Licea-Kane, Bill OpenGL Shading Language:.. Addision
Wesley, 2009.
23. Alta Resolucin Antialiasing. [En lnea] 03 de junio 2010.
http://www.nvidia.com/object/feature_hraa.html
24. Seipel, Stefan. Diapositivas del seminario.
Curso de Visualizacin Avanzada
(VT10_23203)
.
Universidad de Gvle 2010.
25. Dodgson, Neil A. Variacin y extremos de la distancia interpupilar humana.
Proceedings of SPIE. 2004, vol. 5291, ss 36-46.
26. V1.42 Mandelbulb 3D. [En lnea] 30 de mayo 2010.
http://www.fractalforums.com/index.php?action=downloads; gato = 5

Вам также может понравиться