2009-07-22 29 views
6

tengo el problema siguiente geométrica en 2D:geometría 2D: cómo verificar si un punto se encuentra dentro de un ángulo

i tiene un punto desde el que i echo un ángulo infinito (2D-cono) que viene dada por una dirección y un ángulo. (el punto y la dirección forman un vector y a cada lado la mitad del ángulo forma el cono 2D)

ahora quiero verificar si otro punto en 2D está dentro de este cono o afuera.

¿Cómo se puede lograr esto? gracias!

+1

en qué idioma? – erenon

+0

¿No es un cono 3d? –

+1

El lenguaje no debería importar; Creo que es el algoritmo que OP está buscando. –

Respuesta

9

Calcula el vector desde el centro del cono hasta el punto de consulta. Normalice el vector para que sea de longitud 1, tome el vector central del cono y normalícelo también a la longitud de 1.
Ahora tome el producto de puntos entre los vectores. El producto escalar entre dos vectores normalizados es el coseno del ángulo entre ellos. Tome los arcos (acos en la mayoría de los idiomas) del producto escalar y obtendrá el ángulo. compare este ángulo con el ángulo del cono (medio ángulo en su descripción). si es inferior, entonces el punto en cuestión está dentro del cono.

Esto funciona en 2D y 3D.

+0

gracias, en realidad eso es lo que hice todo el tiempo, pero simplemente no pensé que había terminado, porque no me di cuenta de dónde se tiene en cuenta la posición real del punto. ahora tiene sentido. ¡Gracias! – clamp

1

Calcular el ángulo de la dirección usando arctg de la dirección. Resta el origen del punto marcado. Calcule su ángulo (nuevamente a través de arctg de un vector normalizado) y verifique si se encuentra dentro de los límites de los ángulos.

1

Diría que la mejor manera es proyectar el punto en la superficie 2D perpendicular a la dirección de los conos. Luego calcula la distancia otogonal entre ese mismo plano y el punto. Finalmente, conoces el ancho del cono a esa altura, para que puedas ver si el punto está fuera de ese ancho.

1

Deje que el vector desde el punto de origen hasta el punto especificado forma un ángulo A con la normal que recorre el centro. Si el ángulo A es menor que el medio ángulo del cono, se encuentra dentro del exterior.

Cuestiones relacionadas