V euklidovské geometrii může být průsečíkem dvou přímek prázdná množina , bod nebo přímka. Rozlišení těchto případů a nalezení průsečíku se využívá například v počítačové grafice , při plánování pohybu a při detekci kolizí .
Pokud v trojrozměrné euklidovské geometrii nejsou dvě přímky ve stejné rovině , nazývají se šikmé a nemají žádné průsečíky. Pokud jsou čáry ve stejné rovině, existují tři možnosti. Pokud se shodují, mají nekonečně mnoho společných bodů (jmenovitě všechny body na těchto přímkách). Pokud jsou čáry odlišné, ale mají stejný sklon , jsou rovnoběžné a nemají žádné společné body. Jinak mají jeden průsečík.
V neeuklidovské geometrii se dvě přímky mohou protínat v několika bodech a počet dalších přímek (paralelních), které se s danou přímkou neprotínají, může být větší než jedna.
Nezbytnou podmínkou pro průnik dvou přímek je, že patří do stejné roviny, to znamená, že by se tyto přímky neměly protínat. Splnění této podmínky je ekvivalentní degeneraci čtyřstěnu , ve kterém dva vrcholy leží na jedné přímce a další dva leží na druhé (tj . objem tohoto čtyřstěnu je roven nule). Algebraický tvar této podmínky naleznete v článku " Kontrola křížení ".
Uvažujme průsečík dvou přímek a na rovině, kde přímka je definována dvěma různými body a , a přímka je definována různými body a [1] .
Průsečík čar a lze nalézt pomocí determinantů .
Determinanty lze přepsat takto:
Všimněte si, že průsečík odkazuje na nekonečné čáry, nikoli na úsečky mezi body, a může ležet mimo úsečky. Pokud (místo řešení v jednom kroku) hledáme řešení z hlediska Bézierových křivek prvního řádu , pak můžeme zkontrolovat parametry těchto křivek 0,0 ≤ t ≤ 1,0 a 0,0 ≤ u ≤ 1,0 ( t a u jsou parametry) .
Pokud jsou dvě čáry rovnoběžné nebo shodné, jmenovatel zmizí:
Pokud jsou čáry velmi blízko rovnoběžnosti (téměř rovnoběžné), mohou při výpočtu počítače nastat numerické problémy a rozpoznání takové podmínky může vyžadovat vhodný test "nejistoty" pro aplikaci. Stabilnější a obecnější řešení lze získat otočením segmentů takovým způsobem, že se jeden z nich stane vodorovným, a pak lze snadno získat parametrické řešení druhé přímky. Při řešení je nutné pečlivé zohlednění speciálních případů (rovnoběžnost/shoda přímek, překrývání segmentů).
Souřadnice a průsečíky dvou nevertikálních čar lze snadno najít pomocí následujících substitucí a transformací.
Předpokládejme, že dvě přímky mají rovnice a , kde a jsou sklony čar a a jsou průsečíky čar s osou y . V průsečíku čar (pokud se protínají) budou obě souřadnice shodné, z čehož získáme rovnost:
.Tuto rovnost můžeme transformovat, abychom zdůraznili ,
,a pak
.Abychom našli souřadnici y , vše, co musíme udělat, je zapojit hodnotu x do jednoho z řádkových vzorců, jako je ten první:
.Odtud dostaneme průsečík čar
.Všimněte si, že pro a = b jsou dvě přímky rovnoběžné. Jestliže zároveň c ≠ d , jsou přímky různé a nemají průsečíky, jinak se přímky shodují [2] .
Při použití homogenních souřadnic lze zcela jednoduše najít průsečík dvou explicitně daných čar. Ve 2-rozměrném prostoru lze libovolný bod definovat jako projekci 3-rozměrného bodu daného trojitým . Mapování 3-rozměrných souřadnic na 2-rozměrné probíhá podle vzorce . Body ve 2-rozměrném prostoru můžeme převést na homogenní souřadnice tak, že třetí souřadnici přirovnáme k jedné - .
Předpokládejme, že chceme najít průsečík dvou nekonečných čar ve 2-rozměrném prostoru, které jsou dány vzorci a . Tyto dvě čáry můžeme reprezentovat v lineárních souřadnicích jako ,
Průsečík dvou přímek je pak jednoduše dán vzorci [3]
Pokud , čáry se neprotínají.
Ve dvourozměrném prostoru se čáry s více než dvěma téměř jistě neprotínají v jednom bodě. Abychom určili, zda se protínají v jednom bodě, a pokud se protínají, abychom našli průsečík, napíšeme i -tou rovnici ( i = 1, ..., n ) jako a uspořádáme tyto rovnice do maticového tvaru
kde i -tý řádek matice n × 2 A je , w je vektor 2 × 1 ( x, y ) T a i -tý prvek sloupcového vektoru b je b i . Pokud jsou sloupce matice A nezávislé, pak je hodnost matice 2. Právě tehdy, když je hodnost rozšířené matice [ A | b ] je také rovno 2, existuje řešení maticové rovnice a pak také průsečík n přímek. Průsečík, pokud existuje, je dán pomocí
kde je pseudoinverze matice . Alternativně lze řešení nalézt řešením libovolných dvou nezávislých rovnic. Ale pokud je hodnost matice A 1 a hodnost rozšířené matice je 2, neexistují žádná řešení. V případě, že je hodnost rozšířené matice rovna 1, všechny řádky se shodují.
Ve 3D prostoruVýše uvedený přístup se snadno rozšiřuje na trojrozměrný prostor. V trojrozměrných a vyšších prostorech se téměř jistě neprotínají ani dvě čáry. Dvojice nerovnoběžných neprotínajících se čar se nazývají zešikmení . Ale když křižovatka existuje, lze ji najít následovně.
V trojrozměrném prostoru je přímka reprezentována průsečíkem dvou rovin, z nichž každá je dána vzorcem Pak množinu n přímek lze znázornit jako 2 n rovnic z 3rozměrného souřadnicového vektoru w = ( x , y , z ) T :
,kde A je matice 2n × 3 a b je matice 2n × 1. Stejně jako dříve existuje jedinečný průsečík tehdy a pouze tehdy, když má A celé pořadí sloupců a rozšířená matice [ A | b ] není. Jediný průsečík, pokud existuje, je dán pomocí
V dimenzích dvě a výše lze najít bod, který je nejblíže těmto dvěma (nebo více) čarám ve smyslu nejmenšího součtu čtverců .
Ve dvou rozměrechV případě dvourozměrného prostoru reprezentujte přímku i jako bod na přímce a jednotku kolmou k přímce. To znamená, že pokud a jsou body na přímce 1, pak nechť a
,což je jednotkový vektor podél přímky otočené o 90º.
Všimněte si, že vzdálenost od bodu x k přímce je dána vzorcem
Druhá mocnina vzdálenosti od x k přímce je tedy
Součet čtverců vzdáleností k sadě čar je účelová funkce :
Výraz lze převést:
Abychom našli minimum, derivujeme s ohledem na x a výsledek nastavíme na nulu:
Takto,
kde
Ve 3D prostoruAčkoli normálu nelze definovat v dimenzích vyšších než dvě , lze ji zobecnit na jakoukoli dimenzi, pokud si všimneme, že jde jednoduše o (symetrickou) matici se všemi vlastními hodnotami rovnými jedné, kromě nulové vlastní hodnoty ve směru přímky. , který udává polonormu mezi bodem a jiným bodem . V prostoru libovolné dimenze, jestliže je jednotkový vektor podél i -té přímky, pak
promění vkde E je matice identity, a pak