/ / Quais são os chamados quaternions 2D (o que devo procurar por mais informações)? - c #, rotação, xna, quaternions

O que são chamados de quaterniões 2D (o que devo procurar por mais informações)? - c #, rotação, xna, quaternions

Eu me deparei com um conceito de trabalho para um sistema de rotação e orientação rápida hoje, baseado em um quaternion de dois termos que representa uma rotação sobre o eixo X (1,0,0) na forma W + ix, uma rotação sobre o eixo Y (0,1,0) na forma W + jy, ou uma rotação sobre o eixo Z (0,0,1) na forma W + kz.

Eles estão semelhante para números complexos, mas a) são meio angulados edupla face como todos os quaternions (eles são simplesmente quaternions com dois de três termos imaginários zerados) eb) representam rotações sobre um dos três eixos 3D especificamente.

Meu problema e pergunta é ...Não consigo encontrar qualquer representação de tal sistema on-line e não tenho a menor idéia do que procurar. Como esses números complexos são chamados? Quem mais fez algo assim antes? Onde posso encontrar mais informações sobre o caminho que estou seguindo? baixa? Parece bom demais para ser verdade e eu quero encontrar o outro sapato antes que ele caia em mim.

Exemplo prático eu trabalhei fora (um quaternion de orientação de ângulos de Tait-Bryan):

ZQuat Y, YQuat P, XQuat R; // yaw, pitch, roll
float w = Y.W * P.W;
float x = -Y.Z * P.Y;
float y = Y.W * P.Y;
float z = Y.Z * P.W;
Quaternion O; // orientation
O.W = x * R.W + w * R.X;
O.X = y * R.W + z * R.X;
O.Y = z * R.W - y * R.X;
O.Z = w * R.W - x * R.X;

Respostas:

0 para resposta № 1

Quaternions em 2D degenerariam em ser apenasum único componente não é diferente de um ângulo de rotação. Isso é propício porque você não encontra nada. Com quatérnios você não tem o problema de bloqueio do cardan, aparecendo quando dois eixos de rotação se alinham por causa da ordem de rotação. No espaço 2D normal você não tem mais do que um único eixo de rotação. por isso não tem nem ordem (como você classifica um único elemento) e não há eixos para alinhar.A falta de eixos de rotação em 2D é porque você obtém um eixo de rotação quando está perpendicular a dois outros eixos.

Isso dá 3 eixos para 3D:

X&Y=>Z
X&Z=>Y
Y&Z=>X

Mas apenas um para 2D:

X&Y=>Z