Interseção de linha / plano com base em pontos

Eu tenho dois pontos no espaço, L1 e L2 que definem dois pontos em uma linha.

Eu tenho três pontos no espaço, P1, P2 e P3 que 3 pontos em um avião.

Então, dadas essas entradas, em que ponto a linha cruza o plano?

Fx. a equação do plano A * x + B * y + C * z + D = 0 é:

A = p1.Y * (p2.Z - p3.Z) + p2.Y * (p3.Z - p1.Z) + p3.Y * (p1.Z - p2.Z)
B = p1.Z * (p2.X - p3.X) + p2.Z * (p3.X - p1.X) + p3.Z * (p1.X - p2.X)
C = p1.X * (p2.Y - p3.Y) + p2.X * (p3.Y - p1.Y) + p3.X * (p1.Y - p2.Y)
D = -(p1.X * (p2.Y * p3.Z - p3.Y * p2.Z) + p2.X * (p3.Y * p1.Z - p1.Y * p3.Z) + p3.X * (p1.Y * p2.Z - p2.Y * p1.Z))

E quanto ao resto?

questionAnswers(2)

yourAnswerToTheQuestion