Sistemas de coordenadas
Normalmente, os apps de elementos gráficos 3D usam um dos dois tipos de sistemas de coordenadas cartesianas de esquerda e direita. Em ambos os sistemas de coordenadas, o eixo x positivo aponta para a direita e o eixo y positivo aponta para cima.
Coordenadas à esquerda e à direita
Você pode lembrar para qual direção o eixo z positivo aponta, apontando os dedos de sua mão direita ou esquerda na direção x positiva e curvando-os na direção y positiva. A direção do seu polegar aponta em sua direção ou para longe de você, é a direção em que o eixo z positivo aponta para esse sistema de coordenadas. A ilustração a seguir mostra esses dois sistemas de coordenadas.
O Direct3D usa um sistema de coordenadas à esquerda. Apesar das coordenadas de esquerda e direita serem os sistemas mais comuns, há uma variedade de outros sistemas de coordenadas usados no software 3D. Por exemplo, não é incomum para apps de modelagem 3D usar um sistema de coordenadas no qual o eixo y aponta para o visualizador ou para longe dele, e o eixo z aponta para cima.
Vértices e vetores
Dado o sistema de coordenadas, uma coordenada x, y e z pode definir um ponto no espaço (um "vértice") ou uma direção 3D (um "vetor").
Um conjunto de vértices pode ser usado para definir linhas e formas. Os objetos mais simples que podem ser definidos por vértices são chamados de Primitivas, e um objeto mais complexo definido por um conjunto de primitivas é chamado de "malha".
As operações essenciais realizadas em malhas definidas em um sistema de coordenadas 3D são conversão, rotação e dimensionamento. Você pode combinar essas transformações básicas para criar uma matriz de transformação. Para obter detalhes, consulte Transformações.
Quando você combina essas operações, os resultados não são comutativos; a ordem em que você faz multiplicação das matrizes é importante.
Portabilidade de um sistema de coordenadas destro
Se você estiver fazendo a portabilidade de um app que se baseia em um sistema de coordenadas à direita, você deve fazer duas alterações nos dados passados para o Direct3D:
- Inverter a ordem dos vértices de triângulos, de modo que o sistema os percorra em sentido horário, a partir da frente. Em outras palavras, se os vértices forem v0, v1, v2, passe-os para o Direct3D como v0, v2, v1.
- Use a matriz de visualização para dimensionar o espaço do mundo em -1 na direção z. Para fazer isso, inverte o sinal do membro _31, _32, _33 e _34 da estrutura de matriz que você usa para sua matriz de exibição.
Tópicos relacionados
Sistemas de coordenadas e geometria
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários