Dirección de un vector 3D

Estado
Cerrado para nuevas respuestas.

javier_macross

Newbie Lvl 1
Hola amigos. Tengo una duda que ojalá me puedan responder. Tengo dos puntos 3D; el primero el origen que tiene los valores: (0.0,10.0,100.0) y otro que sería en (0.0,-10.0,-10.0) Mi pregunta es ¿Cómo calculo la dirección del vector para que su dirección sea de la forma (x,y,z). Esto desde luego hecho en C.

Muchas gracias de antemano por su ayuda.

Saludos.
^^
 

0xDEADBEEF

Vicinity of obscenity
Ex-Staff
El vector de por si ya tiene la dirección implicita. A partir de dos puntos puedes obtener el vector de la siguiente manera:

C++:
p0 = { x0, y0, z0 };
p1 = { x1, y1, z1 };
 
v = { x1 - x0, y1 - y0, z1 - z0 };
Si lo que quieres es sacar el angulo respecto al origen de coordenadas, se hace así:

Para v = { x, y, z } -> { 3, -6, 2 }
C++:
cos(x) = x/sqrt(x^2+y^2+z^2)
cos(x) = 3/sqrt(3^2+(-6)^2+2^2)
cos(x) = 0.4286
x = arccos(0.4286)
x = 64.62 (degrees)
Repite lo mismo para cada componente.

http://www.intmath.com/vectors/7-vector ... -space.php

Suerte!
 
Estado
Cerrado para nuevas respuestas.
Arriba