Ik heb twee lijnen in 3D die elkaar mogelijk snijden. Hoe kom ik eenvoudig het snijpunt te weten?
De lijnen zijn vectorieel gerepresenteerd alsvolgt:
1. (x,y,z) = (a,b,c) + t1*(d,e,f)
2. (x,y,z) = (g,h,i) + t2*(j,k,l)
Bijvoorbeeld:
1. (x,y,z) = (1,1,1) + t1*(-1,-1,-1)
2. (x,y,z) = (0,0,0) + t2*(1,2,3)
Het is duidelijk dat bij t1=1 en t2=0 het snijpunt ligt maar hoe vind ik dat analytisch?
Met vriendelijke groet,
Mark van der HorstMark van der Horst
23-9-2002
Het snijpunt wordt gekarakteriseerd door het feit dat de drie coördinaten x, y en z aan beide vectorvoorstellingen tegelijk dienen te voldoen.
Voor het gemak noem ik t(1) even t en t(2) even k. Dat vermijdt het steeds herhalen van de getallen 1 en 2.
Je krijgt derhalve 3 vergelijkingen:
1 - t = k
1 - t = 2k
1 - t = 3k
Om t en k te bepalen heb je aan 2 vergelijkingen genoeg. In de praktijk kies je dus een "aantrekkelijk" tweetal, lost dat op en controleert dan of de derde vergelijking óók klopt.
In dit geval is het wel erg simpel, want de nummers 1 en 2 leren direct dat k = 2k, zodat k = 0 en dus t = 1.
Beide waarden blijken ook de derde vergelijking te gehoorzamen.
Laatste stap: vul in de lijn waar de parameter t in zit nu voor t de waarde 1 in en, desgewenst, in de andere lijnvoorstelling k = 0.
Als het allemaal klopt krijg je twee keer dezelfde drie coördinaten die het snijpunt bepalen.
In het slordige taalgebruik van alledag zegt men bij dit procédé wel eens: je moet de lijnen aan elkaar gelijk stellen.
MBL
23-9-2002
#4422 - Ruimtemeetkunde - Iets anders