Miten lasketaan kahden avaruussuoran leikkauspiste? Olen yrittänyt netistä ja matematiikan kirjasta etsiä, mutta ei löydy.
Esim. jos toinen suora kulkee pisteiden (4,11,18) ja (-1,-4,-7) kautta. Toinen suora taas kulkee pisteistä (3,1,5) ja (5,0,7)
Kiitos avusta!
Esim. jos toinen suora kulkee pisteiden (4,11,18) ja (-1,-4,-7) kautta. Toinen suora taas kulkee pisteistä (3,1,5) ja (5,0,7)
Kiitos avusta!
Vastaukset 3
Vanhimmat
Jos aiot numeroarvoilla laskea kahden avaruussuoran leikkausta, niin neuvoni on muuttaa ongelma kahden avaruussuoran pienimmän etäisyyden laskemiseksi. Jos tämä etäisyys on riittävän pieni, niin suorat leikkaavat toisensa. Rajallinen numeerinen tarkkuus tekee sen, että laskettu etäisyys tuskin koskaan on nolla.
Yksi tapa tähän on esitettty seuraavassa:
http://pages.pacificcoast.net/~cazelais/251/distance.pdf
Jos suora kulkee pisteiden (x0,y0,z0) ja (x1,y1,z1) kautta, niin sen pisteet voidaan esittää parametrimuodossa
x(p) = p * x0 (1-p) * x1, ja samanlaiset lausekkeet koordinaateille y(p) ja ja z(p).
Jos toinen suora kulkee pisteiden (x2,y2,z2) ja (x3,y3,z3) kautta, niin vastaavasti sen pisteet saadaan parametrin q funktioina
X(q) = q * x2 (1-q) * x3 jne,
Sitten ratkaistaan yhtälöryhmä
x(p) = X(q), y(p) = Y(q), z(p) = Z(q).
Tuntemattomia on kaksi (p ja q). Yhtälöitä on kolme, joten on poikkeustapaus, että niillä olisi ratkaisu. Ratkaistaan p ja q ensin kahdesta ensimmäisestä yhtälöstä. Jos suorat leikkaavat, niin saadun ratkaisun pitäisi toteuttaa kolmas yhtälö. Jos saadaan ratkaisu, niin sijoitetaan esim. p-arvo lausekeisiin x(p), y(p) ja z(p), jolloin saadaan leikkauspisteen koordinaatit.
Yleisessä tapauksessa suorat eivät leikkaa. Silloin voidaan saada esimerkiksi pisteet, joissa ne ovat mahdollisimman lähellä toisiaan. Nämä saadaan määrämällä p ja q siten, että neliösumma
(x(p) - X(q)^2 (y(p) - Y(q))^2 (z(p) -Z(q))^2
saa minimiarvon.
Toinen tapa on käyttää kahden pisteen välisiä parametrisia suoria ja etsiä niiden välinen minimietäisyys eli
L₁ = r₁·(1-u) r₂·u
L₂ = r₃·(1-v) r₄·v,
missä L₁ ja L₂ ovat parametrisia suoria (paikkavektoreita), r₁, r₂, r₃ ja r₄ tunnettuja pisteitä (vektoreita) sekä u ja v parametreja.
Näiden suorien pisteiden välinen neliöllinen etäisyys d² voidaan laskea eli
d² = ( L₁ - L₂)².
Lausekkeen minimin paikka ja sen arvo voidaan laskea osittaisderivaattojen nollakohtien muodostaman lineaarisen yhtälöparin avulla.
Antamassasi tehtävässä paikka (u = 3/5, v = -1) on molemmilla suorilla (1,2,3) ja etäisyys 0, eli suorat leikkaavat.