Visualizador para operações realizadas sobre o plano projetivo
Autor: Eduarda | Publicado: 2011-04-11T04:37:00-07:00

Descrição   Dada a representação de dois points em coordenadas homogêneas P1 = (x1, y1, 1) e P2 = (x2, y2, 1), a equação da reta que passa por P1 e P2 pode ser encontrada calculando-se o produto vetorial P1 x P2. Por sua vez, dadas duas retas no plano, expressas pelas equações cujos coeficientes (ax + by + c = 0) são R1 = (a1, b1, c1) e R2 = (a2, b2, c2), o ponto de intersecção entre elas pode ser obtido por meio do  produto vetorial R1 x R2, seguido pela divisão por w (coordenada homogênea).  Estes resultados decorrem da dualidade entre reta e  ponto no espaço projetivo.   Neste trabalho, deverá ser implementado um programa para visualizar estes resultados, visando desenvolver intuição/interpretação geométrica para estes resultados. Como o produto vetorial de dois vetores linearmente independentes produz um vetor perpendicular a estes (i.e., vetor normal ao plano definido pelos dois vetores originais), visualize e interprete os resultados acima tanto no espaço vetorial R3, bem como no plano projetivo. De posse do seu visualizador, remova a restrição de que w = 1 para P1 e P2 (pontos que determinam R1) e para P3 e P4 (pontos que determinam R2). Explique o que está acontecendo.     Relatório  O terceiro trabalho complementar da disciplina de Computação Gráfica consiste em desenvolver um visualizador 3D do espaço projetivo.O plano projetivo é o conjunto das retas do R3 que passam pela origem, que possui as seguintes características:  <!--[if !supportLists]-->·       <!--[endif]-->É denotado por P = [x,y,z] em coordenadas homogêneas;  <!--[if !supportLists]-->·       <!--[endif]-->Um ponto do RP2 é uma reta do R3 e uma reta do RP2 é um plano do R3.  <!--[if !supportLists]-->·       <!--[endif]-->Coordenadas homogêneas não fazem distinção entre pontos ideais (direções no plano afim)  e pontos projetivos (pontos do plano afim).  <!--[if !supportLists]-->·       <!--[endif]-->Considerando o plano z = 1 como o plano afim Euclideano mergulhado em RP2:  <!--[if !supportLists]-->o   <!--[endif]-->Representa a interseção da reta ?(x,y,z) com o plano z = 1 ou (? = 1/z).  <!--[if !supportLists]-->o   <!--[endif]-->Partição do plano projetivo em dois conjuntos: RP² = { [ x y 1] U [ x y 0] }  As coordenadas homogéneas são utilizadas para permitir a incorporação de matrizes separadas para a translação, escala e rotação numa matriz única que pode ser usada para transformar coordenadas apenas por multiplicação. As coordenadas homogéneas têm mais uma dimensão do que o espaço a que pertencem. Assim, as coordenadas homogéneas do espaço bidimensional têm a forma (x, y, w), onde w representa um plano paralelo ao plano XY.  Convencionou-se atribuir como valor para a coordenada extra, o valor 1.Para o desenvolvimento do visualizador,  foram definidos os pontos P1, P2, P3 e P4 com w = 1. Depois, foram calculados os vetores R1 e R2 como o produto vetorial de P1xP2 e P3xP4, respectivamente, tendo como resultado o vetor normal ao plano formado pelos vetores.  Depois, foi calculado o R1xR2 para calcular o ponto de intersecção dos vetores R1 e R2, que resultou em PI = ( x, y, z ). Depois, todos os elementos do vetor foram divididos por z ( x1 = x/z e x2 = y/z) tendo como vetor resultante PI' = (x1,x2,1). As figuras abaixo apresentam os resultados obtidos.Na figura abaixo, o plano em rosa apresenta o plano formado pelos vetores principais no plano 2D. Em amarelo, é apresentado o plano dos vetores principais no plano 3D. Existem dois planos equivalentes aos planos z (vermelho) e z2 (branco) do plano projetivo.  Na figura abaixo, as retas de cor rosa representam os vetores principais no plano 2D, as retas brancas os vetores principais no plano 3D e as retas em vermelho representam os vetores R1 e R2. Na Figura abaixo, a reta em vermelho representa o ponto de intersecção entre o vetor R1 e R2.