p.ex. P=P0+(P1-P0)t -> ax+by+c=0 (em 2d)
Em 3d necessitaria de duas equações(do tipo ax+by+cz+d=0), uma para cada plano, e a intersecção seria a linha - isso não me interessa resolver agora
Vamos lá,
(x,y)=(x0,y0)+(x1-x0,y1-y0)t
(x,y)=(x0+(x1-x0)t,y0+(y1-y0)t)
x=x0+(x1-x0)t
y=y0+(y1-y0)t
ax+by+c=0
a(x0+(x1-x0)t)+b(y0+(y1-y0)t)+c=0
ax0+a(x1-x0)t+by0+b(y1-y0)t+c=0
(a(x1-x0)+b(y1-y0))t=-c-ax0-by0
t=(-c-ax0-by0)/(a(x1-x0)+b(y1-y0))
Não haverá solução quando o numerador é diferente de zero e o denominador é zero; haverá solução única quando ambos o numerador e o denominador são diferentes de zero; haverá infinitas soluções quando ambos o numerador e o denominador são zero.
O primeiro é o caso em que as duas linhas não se tocam; o segundo é o caso em que as duas linhas se cruzam num único ponto; o terceiro é o caso em que as duas linhas coincidem completamente: são as mesmas.
Estou interessado no terceiro caso.
(-c-ax0-by0)=0
(a(x1-x0)+b(y1-y0))=0
A primeira equação me diz que (x0,y0) pertence à segunda linha (ax0+by0+c=0). Se eu aplicar a primeira equação na segunda, eu tenho que,
ax1-ax0+by1-by0=0
ax1+by1+c=0
Ou seja, (x1,y1) pertence também à segunda linha.
Mas já estou convencido de que elas coincidem completamente, o que quero agora é achar a, b e c em termos de x0, y0, x1 e y1. Mas isso são duas equações e três incógnitas, então verei no que dá.
ax0+by0+c=0
a=(-c-by0)/x0
ax1+by1-ax0-by0=0
(-c-by0)x1/x0+by1-(-c-by0)-by0=0
-cx1/x0-by0x1/x0+by1=-c
b(y1-y0x1/x0)=-c+cx1/x0
b=(-c+cx1/x0)/(y1-y0x1/x0)
Multiplico em cima e em baixo por x0
b=(-cx0+cx1)/(y1x0-y0x1)
b=c(x1-x0)/(y1x0-y0x1)
Posso agora inserir b em a e ter uma fórmula para a e outra para b, ambas em termos de c (e x0, x1, y0, y1).
a=(-c-by0)/x0
a=(-c-c(x1-x0)y0/(x0y1-x1y0))/x0
a=-c(1+(x1-x0)y0/(x0y1-x1y0))/x0
a=-c((x0y1-x1y0+x1y0-x0y0)/(x0y1-x1y0))/x0
a=-c(y1-y0)/(x0y1-x1y0)
Então temos,
a=-c(y1-y0)/(x0y1-x1y0)
b=c(x1-x0)/(x0y1-x1y0)
c=c
E fica a dúvida, posso escolher qualquer c? O que está havendo com aquele denominador?, o que acontece quando ele dá zero?
Bem, se eu escolher c=0, tenho a trivial equação 0x+0y+0=0, que não nos informa nada. Escolher c=1 nos dá algo mais útil, mas ainda longe do perfeito.
Mais fácil é escolher c=(x0y1-x1y0), me livrar de dois problemas ao mesmo tempo (o denominador e a elegância), e obter:
a=y0-y1
b=x1-x0
c=x0y1-x1y0
Isso, em forma de equação, fica,
ax+by+c=0
(y0-y1)x+(x1-x0)y+(x0y1-x1y0)=0
Assim, obtemos a transformação da notação vetorial da linha 2d em notação equacional,
P=P0+(P1-P0)t -> ax+by+c=0
(Com P=(x,y),P0=(x0,y0),P1=(x1,y1))
Como queríamos fazer.