Sistemas de coordenadas do lado esquerdo e do lado direito


7

No Blender e em outras ferramentas de modelagem 3D, o sistema de coordenadas é destro, enquanto no Unity 3D e no Orbiter Space Flight Simulator, eles são canhotos, por que isso pode acontecer? Por que eles não usam o sistema de coordenadas à direita o tempo todo para facilitar as coisas? Por que todos os programas que lidam com gráficos 3D não usam Z +?

 Y         |  Z
 ZX        |  YX
RIGHT-HAND | LEFT-HAND
TOP VIEW   | TOP VIEW

(felizmente, o Unity3D converte do sistema de coordenadas do Blender para o sistema de coordenadas do Unity3D)

Respostas:


10

É apenas tradição. Nenhum sistema é objetivamente melhor que o outro, então você só precisa se acostumar a usar os dois e alternar entre eles de vez em quando!

As coordenadas para destros são tradicionais para modelagem, onde se imagina o plano XY como horizontal e o eixo Z como vertical.

As coordenadas para canhotos são tradicionais para câmeras em que se imagina o plano XY como vertical (correspondendo às coordenadas da tela se a câmera estiver na vertical) e o eixo Z está na tela (correspondendo ao Z no buffer Z) .

Portanto, aplicativos de modelagem como o Blender geralmente usam coordenadas para a mão direita e kits de ferramentas de desenvolvimento de jogos como o Unity geralmente usam coordenadas para a esquerda. Mas alguns sistemas seguem o caminho oposto: o RenderMan é canhoto e o OpenGL é destro (ou pelo menos as versões anteriores eram, agora é bastante agnóstico).


Outra razão pela qual a mão pode diferir é por causa de convenções diferentes sobre a direção do eixo Y em duas dimensões. Naqueles dias longínquos, quando o computador exibe tubos de raios catódicos usados, o monitor era digitalizado de cima para baixo e da esquerda para a direita pelo feixe de elétrons. Portanto, era conveniente ter o eixo Y correndo pela tela, com a origem das coordenadas no canto superior esquerdo. Por outro lado, é convencional em matemática que o eixo Y aponte para cima, com a origem das coordenadas no canto inferior esquerdo. Quando você adiciona um eixo Z, essas convenções dão origem a sistemas de coordenadas tridimensionais de mãos diferentes.


Dias distantes dos tubos de raios catódicos? Não muito longe :)
ashes999

2

Resposta simples, porque não existe uma regra estrita sobre seguir uma determinada convenção .

Você pode até criar um novo sistema de coordenadas para o seu aplicativo. E as pessoas que irão usá-lo terão que se acostumar com a novidade. Nenhuma pergunta.


0

Nem a convenção para a esquerda nem a mão direita são objetivamente melhores que a outra e, da mesma forma, nenhuma escolha para qual eixo deve estar "acima" é objetivamente melhor que a outra. Aplicações diferentes terão requisitos diferentes e, para elas, uma opção específica pode ser mais ideal. Mas isso não é verdade em geral.

Além disso, é uma operação simples para converter entre sistemas de coordenadas.


'direto'? Eu acho que alguém nunca teve que converter dados de animação baseados em quaternion de uma ferramenta de modelagem para destros em um mecanismo em que tudo está no espaço para canhotos.
8119 MrCranky

11
Eu tenho e pior; Eu não disse 'fácil', eu disse diretamente. Transformações de transformação (como dados de animação) podem ser reduzidas a apenas outra transformação de matriz. Derivar qual transformação específica é apropriada é um pouco complicado.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.