vectorial tres resueltos que puntos punto por plano perpendicular pasa normal ejercicios ecuacion director dado con calculo c# math .net-3.5 geometry

c# - tres - Dados 3 puntos, ¿cómo calculo el vector normal?



vector normal calculo vectorial (3)

Dados tres puntos 3D (A, B y C), ¿cómo calculo el vector normal? Los tres puntos definen un plano y quiero el vector perpendicular a este plano.

¿Puedo obtener un código C # de muestra que demuestre esto?


Debe calcular el http://mathworld.wolfram.com/CrossProduct.html de dos vectores no paralelos en la superficie. Como tiene tres puntos, puede resolver esto tomando el producto cruzado de, por ejemplo, los vectores AB y AC.

Cuando haces esto, estás calculando una superficie normal , de la que Wikipedia tiene una explicación bastante extensa.


Depende del orden de los puntos. Si los puntos se especifican en el sentido contrario a las agujas del reloj como se ve desde una dirección opuesta a la normal, entonces es fácil de calcular:

Dir = (B - A) x (C - A) Norm = Dir / len(Dir)

donde x es el producto cruzado.

Si está utilizando OpenTK o XNA (tiene acceso a la clase Vector3), entonces es simplemente una cuestión de:

class Triangle { Vector3 a, b, c; public Vector3 Normal { get { var dir = Vector3.Cross(b - a, c - a); var norm = Vector3.Normalize(dir); return norm; } } }