Křižovatka čar

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 13. října 2020; kontroly vyžadují 2 úpravy .

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.

Průsečík dvou čar

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í ".

Jsou dány dva body na každé přímce

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ů).

Pokud jsou uvedeny rovnice přímek

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] .

Použití homogenních souřadnic

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í.

Průsečík n čar

Existenční a průnikový výraz

Ve dvou rozměrech

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 prostoru

Výš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í

Nejbližší bod k neprotínajícím se čarám

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ěrech

V 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 prostoru

Ač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í v

kde E je matice identity, a pak

Viz také

Poznámky

  1. Weisstein, Eric W. "Line-Line Intersection." Z Mathworldu . Webový zdroj Wolfram . Získáno 10. ledna 2008. Archivováno z originálu 10. října 2007.
  2. Podobné výpočty lze nalézt v knize Delaunaye a Raikova (str. 202-203)
  3. Homogenní souřadnice . robotika.stanford.edu . Získáno 18. 8. 2015. Archivováno z originálu 23. 8. 2015.

Literatura

  • B. N. Delaunay, D. A. Raikov. Analytická geometrie. - M., L.: OGIZ, Státní nakladatelství technické a teoretické literatury, 1948. - T. 1.


Odkazy