Como chegar o avião de uma coleção arbitrária de pontos?
-
18-09-2019 - |
Pergunta
Eu tenho uma coleção arbitrária de pontos 3D, eu sei que eles estão no mesmo plano, mas como faço para calcular que o avião?
Solução
Tome quaisquer três pontos distintos, e formam um triângulo de área não-zero. Calcule a produto cruzado de dois dos lados do triângulo. Isso dá-lhe do avião normal, e você pode usar o ponto comum como um ponto no plano.
Um ponto num plano mais uma normais define um plano .
Outras dicas
Se eles não são todos planar, calcule os coeficientes do avião usando mínimos quadrados se encaixam.
A equação para um avião é Ax + By + Cz = D, então plugue em seus pontos e resolver para os quatro coeficientes desconhecidos.
UPDATE: Só por curiosidade - como você "sabe" que todos os pontos estão no mesmo plano? O que te faz tão certo?
Assumindo que eles são co-planar, escolher três pontos, e tente o seguinte:
http://www.jtaylor1142001.net/calcjat/Solutions/VPlanes /VP3Pts.htm
Por causa quaisquer três pontos não colineares definir um plano, uma possível resposta é ...
Basta pegar os três primeiros pontos que não são colinear.
Outra forma de definir um plano é uma função de dois parâmetros a um ponto. Se você tem três pontos A, B, C, então a função capas f(i,j) = A + (B-A)i + (C-A)j
todos os pontos no plano.
Dependendo da aplicação, pode ser útil para normalizar os vetores b = (B-A)
e c = (C-A)
ser perpendicular e da unidade de comprimento. unidade de comprimento é fácil.
A fim de torná-los perpendiculares, primeiro normalize b, em seguida, tomar o produto escalar de b e c. Esta é a quantidade dos pontos o c vector na mesma direcção como b, então subtrair este a partir de c. Finalmente c = c - (b.c)b
normalizar c (isto é, divide-se por isso de comprimento)