Ir para conteúdo
  • 0

[Resolvido] [Dúvida] Euler Angle


jetta

Pergunta

eu to fazendo um plugin, e a primeira vez que eu to usando armorstand. então eu quero saber como funciona o euler angle, por que da forma que estou fazendo não ta funcionando.

usei esse site pra gerar os valores, porém in-game fica diferente do site.

 

 

 

EulerAngle ea = new EulerAngle(90, 93, 0);
armorStand.setRightArmPose(ea);
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

Funcionamento:

% case 'xyz'  % EULER-CARDAN
   % c=cos, s=sin, i means the i.th component
   % X = [c3.*c2,  c3.*s2.*s1+s3.*c1, -c3.*s2.*c1+s3.*s1];
   % Y = [-s3.*c2, -s3.*s2.*s1+c3.*c1, s3.*s2.*c1+c3.*s1];
   % Z = [s2,      -c2.*s1,            c2.*c1];
   % REAL(ASIN(X)) catchs rounding errors:
   % if X is greater than 1.0, ASIN(X) is complex.
   EM = [atan2(Dot(BC.Y, BP.Z), Dot(BC.Z, BP.Z)), ...
         real(asin(-Dot(BC.X, BP.Z))), ...
         atan2(Dot(BC.X, BP.Y), Dot(BC.X, BP.X))]
function R = Dot(X, Y);
R = X(:, 1) .* Y(:, 1) + X(:, 2) .* Y(:, 2) + X(:, 3) .* Y(:, 3);

BC = Resultado onde BP seria a matriz pai.

Fields X Y Z = Elas  são matrizes [n x 3], que contem orto vetores normais em locais da coordenada, ou seja. É bem mais complexo que parece, pra mexer nele você deve analisar pontos cardeais e fazer uma matriz nele, colocar a armor stand nessa matriz e pegar os valores desse produto seguindo os modelos acima e com isso, designar a sua variável com esses valores.

 

Caso continue com dúvidas, cola skype.

Créditos da Matriz: Jan Simon (MathWorks) 

 

Tutorial sobre a sua dúvida, vale a pena conferir: 

http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm--euler-angles--quaternions--and-euler-vectors

Que @%$#~&I toda é essa tia '-'

 

@Topic

 

Tivemos esse problema quando eu + mathi + karamujo recriamos os pets do hypixel, depois descobrimos que para usar os valores do http://haselkern.github.io/Minecraft-ArmorStand/e depois colocar na mesma ordem só que usando a classe Math(Math.toRadians()), vai ficar igual ao do site

Link para o comentário
Compartilhar em outros sites

Guest Fusquete

Funcionamento:

% case 'xyz'  % EULER-CARDAN
   % c=cos, s=sin, i means the i.th component
   % X = [c3.*c2,  c3.*s2.*s1+s3.*c1, -c3.*s2.*c1+s3.*s1];
   % Y = [-s3.*c2, -s3.*s2.*s1+c3.*c1, s3.*s2.*c1+c3.*s1];
   % Z = [s2,      -c2.*s1,            c2.*c1];
   % REAL(ASIN(X)) catchs rounding errors:
   % if X is greater than 1.0, ASIN(X) is complex.
   EM = [atan2(Dot(BC.Y, BP.Z), Dot(BC.Z, BP.Z)), ...
         real(asin(-Dot(BC.X, BP.Z))), ...
         atan2(Dot(BC.X, BP.Y), Dot(BC.X, BP.X))]
function R = Dot(X, Y);
R = X(:, 1) .* Y(:, 1) + X(:, 2) .* Y(:, 2) + X(:, 3) .* Y(:, 3);

BC = Resultado onde BP seria a matriz pai.

Fields X Y Z = Elas  são matrizes [n x 3], que contem orto vetores normais em locais da coordenada, ou seja. É bem mais complexo que parece, pra mexer nele você deve analisar pontos cardeais e fazer uma matriz nele, colocar a armor stand nessa matriz e pegar os valores desse produto seguindo os modelos acima e com isso, designar a sua variável com esses valores.

 

Caso continue com dúvidas, cola skype.

Créditos da Matriz: Jan Simon (MathWorks) 

 

Tutorial sobre a sua dúvida, vale a pena conferir: 

http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm--euler-angles--quaternions--and-euler-vectors

Link para o comentário
Compartilhar em outros sites

Guest Fusquete

Que @%$#~&I toda é essa tia '-'

 

@Topic

 

Tivemos esse problema quando eu + mathi + karamujo recriamos os pets do hypixel, depois descobrimos que para usar os valores do http://haselkern.github.io/Minecraft-ArmorStand/e depois colocar na mesma ordem só que usando a classe Math(Math.toRadians()), vai ficar igual ao do site

É a lógica do uler angle Cardian (é a mesma coisa mas coloca a armor stand em uma matriz ;- )

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...