Você consegue perceber o problema aqui?

Eis uma rotina do Projeto VirtualWorlds:

typedef struct vec3_s {
  float x, y, z;
} vec3_t;

void vec3_cross(vec3_t *vout_p, vec3_t *v1_p, vec3_t *v2_p)
{
  vout_p->x = (v1_p->y * v2_p->z) - (v1_p->z * v2_p->y);
  vout_p->y = (v1_p->z * v2_p->x) - (v1_p->x * v2_p->z);
  vout_p->z = (v1_p->x * v2_p->y) - (v1_p->y * v2_p->x);
}

A rotina acima calcula o produto vetorial de dois vetores (v1 e v2) e coloca o vetor perpendicular em vout.

O problema não é o cálculo, é outro! Vou coloar a resposta nos comentários daqui alguns dias…

Anúncios

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s