Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Calcular El Ángulo Entre Dos Vectores En 3d

Iniciado por fiero, 29 de Noviembre de 2003, 01:18:50 PM

« anterior - próximo »

fiero

 ¿Cómo se calcula el ángulo entre dos vectores en 3D?
Es una pregunta muy sencilla, pero no consigo hacerlo de una manera fácil. El teorema del coseno da el coseno entre dos vectores, pero siempre en un rango entre 0 y 180 grados. Yo me refiero a una función en que si por ejemplo le metes unos vectores con una diferencia de 45º y luego le metes los vectores a la inversa te dé -45º. Con el teorema del coseno (dotproduct) el resultado siempre sería 45º, no sé si me explico...

un saludo
www.videopanoramas.com Videopanoramas 3D player

CoLSoN2

 el angulo entre dos vectores SIEMPRE será un valor entre 0 y 180, a no ser que lo compliques y lo hagas de alguna forma rara. Y si, es con el dot product :P
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Mars Attacks

 Es que por convenio siempre se toma como ángulo entre dos vectores el ángulo más pequeño (un ángulo negativo sería 360º-ángulo).

DraKKaR

 Lo fácile s calcular el coseno del ángulo que forman 2 vectores (dot product). Una vez hecho eso, ¿pq no usas un arcoseno para hallar el ángulo?

Es lo único que se me ocurre.

PD: Para que lo necesitas?  

FoS

 Espero que esto responda tu pregunta:

Ángulo de dos vectores u(x1, y1, z1) y v(x2, y2, z2)  



(ole)
De todas formas si tienes alguna duda (nooo) , aqui estoy! (nooo)  
he best way to predict the future is to invent it (Alan Kay)

FoS

 Me dado cuenta que querías otra cosa! , pero vamos, con esta fórmula y lo que dice Mars Attack, ya lo tienes, transforma el ángulo que te de al que tu quieres obtener.  
he best way to predict the future is to invent it (Alan Kay)

fiero

 
CitarPD: Para que lo necesitas?

Por ejemplo, para saber si un angulo es convexo o cóncavo en cualquier orientación posible. El dotproduct no vale, ya que siempre devuelve el ángulo menor, y para saber si es cóncavo o convexo habria que saber si el ángulo es mayor de 180º (o negativo, que es lo mismo)

un saludo
www.videopanoramas.com Videopanoramas 3D player

CoLSoN2

 pero tio .. si el dot product te devuelve 90º, puedes tomar tanto 90 como 270 como angulo entre los vectores.. tienes que añadir algun criterio más para identificar cual de los dos angulos quieres... angulo concavo/convexo? eso como se come?
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

fiero

 Bueno, ángulo concavo/convexo me refería a dos vectores que forman parte de un polígono cerrado, si no no tiene mucho sentido. Sí, habrá que establecer un criterio a la hora de calcular el sentido positivo o negativo....

www.videopanoramas.com Videopanoramas 3D player

Amatar

 Para saber si un poligono es concavo o convexo no necesitas saber el angulo, es mas sencillo: coges un lado como base y miras si el siguiente punto del poligono cae a la "izquierda" o a la "derecha". Despues coges el lado siguiente (el del punto que has calculado antes con el ultimo punto del segmento anterior) y repites con el siguiente punto. Si todos te dan hacia un lado es que es convexo.

Me he explicado bien?  O_O . Si no, me explico de nuevo a ver si cuela  :P .

P.D.: esto es en 2D, en 3D me parece que es mucho mas complicado.
a historia comienza con un huevo...

Cojoncio Arena:Severancio Güarrior
http://www.cojoncioarena.com

DraKKaR

 Ei, me parece un buen truco. Y creo que peude servirle a Fiero, puesto que si para lo que necesita lo del ángulo es para rasterizar polígonos, esto se hace en 2D.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.