Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Graficacin
Profesor: Alfonso Mendoza Robles
Investigacin:
Investigacin U4
3D en un contenedor 2D
El contenido de los grficos 3-D de WPF se encapsula en un elemento, Viewport3D, que
puede participar en la estructura de elementos bidimensionales. El sistema de grficos trata
los objetos Viewport3D como elementos visuales bidimensionales, al igual que ocurre con
muchos otros elementos de WPF. Viewport3D funciona como una ventana (una ventanilla) de
una escena tridimensional. Expresado de modo ms preciso, es la superficie sobre la que se
proyecta una escena 3-D.
En una aplicacin 2-D convencional, utilice Viewport3D como cualquier otro elemento
contenedor, como Grid o Canvas. Aunque puede utilizar Viewport3D con otros objetos de
dibujo 2-D en el mismo grfico de escena, no puede interpenetrar objetos 2-D y 3-D dentro
de Viewport3D.
Espacio de coordenadas 3D
El sistema de coordenadas de WPF para grficos 2-D localiza el origen en la parte superior
izquierda del rea de representacin (que suele ser la pantalla). En el sistema 2-D, los
valores positivos del eje X se extienden hacia la derecha, y los valores positivos del eje Y
extienden hacia abajo. En el sistema de coordenadas 3-D, sin embargo, el origen se
encuentra en el centro del rea de representacin, los valores positivos del eje X se
extienden hacia la derecha, los valores positivos del eje Y se extienden hacia arriba (no
hacia abajo) y los valores positivos del eje Z se extienden hacia el exterior partiendo del
origen, es decir, hacia el espectador.
Otra manera de entender cmo se representa una escena 3-D en una superficie 2-D consiste
en describir dicha escena como una proyeccin sobre la superficie de
visualizacin. ProjectionCamera permite especificar proyecciones diferentes y sus
propiedades para cambiar la manera en que el espectador ve los modelos 3-
D. PerspectiveCamera especifica una proyeccin en escorzo de la escena. En otras
palabras, PerspectiveCamera proporciona una perspectiva de punto de fuga. Puede
especificar la posicin de la cmara en el espacio de coordenadas de la escena, la direccin
y el campo de visin de la cmara, y un vector que define la direccin "hacia arriba" en la
escena. En el diagrama siguiente se muestra la proyeccin de PerspectiveCamera.
Model3D es la clase base abstracta que representa un objeto 3-D genrico. Para compilar
una escena 3-D, necesita algunos objetos que ver; los objetos que componen el grfico de
escena se derivan de la clase Model3D. En la actualidad, WPF permite geometras de
modelado con GeometryModel3D. La propiedad Geometry de este modelo acepta un
elemento primitivo de malla.
Para crear un modelo, comience por crear un elemento primitivo, o malla. Un elemento 3-D
primitivo es una coleccin de vrtices que constituyen una entidad 3-D nica. La mayora de
los sistemas 3-D proporcionan elementos primitivos modelados a partir de la figura cerrada
ms simple: un tringulo definido por tres vrtices. Dado que los tres puntos de un tringulo
son coplanares, puede seguir agregando tringulos para modelar formas ms complejas,
denominadas mallas.
Para que una malla parezca un objeto tridimensional, debe tener una textura aplicada que
cubra la superficie definida por sus vrtices y tringulos, de manera que se pueda iluminar y
proyectar por la cmara. En 2-D, se utiliza la clase Brush para aplicar colores, patrones,
degradados y otro contenido visual a las reas de la pantalla. El aspecto de los objetos 3-D,
sin embargo, depende del modelo de iluminacin, no slo del color o del patrn que se les
aplica. Los objetos reales reflejan la luz de manera distinta segn la calidad de su superficie:
las superficies satinadas y brillantes no tienen el mismo aspecto que las superficies speras
o mates, y algunos objetos parecen absorber la luz, mientras que otros la emiten. Puede
aplicar a los objetos 3-D los mismos pinceles que a los objetos 2-D, pero no directamente.
Iluminar la escena
Las luces de los grficos 3-D hacen lo mismo que las luces en el mundo real: permiten ver
las superficies. Ms concretamente, las luces determinan qu parte de una escena se
incluye en la proyeccin. Los objetos de luz en WPF crean gran variedad de efectos de luz y
sombra y siguen el modelo de comportamiento de diversas luces del mundo real. Debe
incluir por lo menos una luz en la escena, pues de lo contrario no habr ningn modelo
visible.
DirectionalLight: ilumina como una fuente de luz distante. Las luces direccionales
tienen Direction, que se especifica como Vector3D, pero ninguna ubicacin concreta.
PointLight: ilumina como una fuente de luz cercana. Las luces puntuales tienen
posicin y emiten la luz desde esa posicin. Los objetos de la escena se iluminan
dependiendo de su posicin y distancia con respecto a la luz. PointLightBase expone
una propiedad Range, que determina una distancia ms all de la cual la luz no
iluminar los modelos. PointLight tambin expone propiedades de atenuacin que
determinan cmo disminuye la intensidad de la luz con la distancia. Puede
especificar interpolaciones constantes, lineales o cuadrticas para la atenuacin de la
luz.
SpotLight: hereda de PointLight. Los focos de luz iluminan como las luces puntuales,
y tienen posicin y direccin. Proyectan la luz en una rea cnica establecida por las
propiedades InnerConeAngle y OuterConeAngle, especificadas en grados.
Transformar modelos
Al crear modelos, stos tienen una ubicacin determinada en la escena. Para mover esos
modelos por la escena, girarlos o cambiar su tamao, no es prctico cambiar los vrtices
que definen los propios modelos. En lugar de ello, al igual que en 2-D, se aplican
transformaciones a los modelos.
Cada objeto del modelo tiene una propiedad Transform con la que puede mover, reorientar o
cambiar el tamao del modelo. Al aplicar una transformacin, en realidad lo que se hace es
desplazar todos los puntos del modelo segn un vector o valor especificado por la
transformacin. Es decir, se transforma el espacio de coordenadas en el que se ha definido
el modelo ("espacio del modelo"), pero no se cambian los valores que constituyen la
geometra del modelo en el sistema de coordenadas de la escena completa ("espacio
universal").
Animar modelos