20190124

Capitulo 6 Vista en 3D (Foley) parte 1

6.5.5 Mapeo en un Puerto de Vista

Las primitivas de salida se recortan en el sistema de coordenadas de proyección normalizado, que también se denomina sistema de coordenadas de pantalla 3D. Asumiremos para esta discusión que el volumen de la vista de proyección paralela canónica se ha utilizado para el recorte (la proyección en perspectiva M transforma el volumen de la vista de proyección en perspectiva en el volumen de la vista de proyección paralela si esta suposición es incorrecta). Por lo tanto, las coordenadas de todas las primitivas de salida que quedan se encuentran en el volumen de vista -1 < x <1, -1 < y < 1, -1 <z <0.

 El programador de PHIGS especifica una ventana 3D en la que se muestran los contenidos de este volumen de vista. se asignan  El Puerto de Vista 3D está contenida en el cubo de unidad
    0 <x <1,   0 <y <l,   0 <z <1.
 La cara frontal z = 1 del cubo de unidad se asigna en el cuadrado más grande que se puede inscribir en la pantalla pantalla. Suponemos que la esquina inferior izquierda del cuadrado está en (0, 0). Por ejemplo, en un dispositivo de visualización con una resolución horizontal de 1024 y una resolución vertical de 800, el cuadrado es la región 0 <x <799, 0 <y <799.

 Los puntos en el cubo unitario se muestran descartando su coordenada z. Por lo tanto, el punto (0.5,0.75,0.46) se mostraría en las coordenadas del dispositivo (400, 599). En el caso de la determinación de la superficie visible (Capítulo 15), la coordenada z de cada primitiva de salida se utiliza para determinar qué primitivas son visibles y cuáles están ocultas por otras primitivas con z más grande.

 Dada una vista 3D dentro del cubo unitario con coordenadas Xv.min, Xv.max, etc., el mapeo del volumen de vista de proyección paralela canónica en la ventana 3D se puede considerar como un proceso de tres pasos. En el primer paso, el volumen de la vista de proyección paralela canónica se traduce de modo que su esquina, (- 1, -1, - 1), se convierte en el origen. Esto se efectúa por la traslación T(1, 1, 1). A continuación, el volumen de la vista trasladada se escala al tamaño de la vista 3D, con la escala


Finalmente, la traslacion (Xv.min, Yv.min, Zv.min) convierte el volumen de vista escalado correctamente a la esquina inferior izquierda del puerte de vista. Por lo tanto, el volumen de vista canónica compuesta a la transformación de la vista 3D es

Tenga en cuenta que esto es similar a, pero no es lo mismo, la ventana para la transformación del puerto de vista Mwv desarrollado en la Sección 5.4.

No hay comentarios:

Publicar un comentario