Přímka

Vyjádření přímky

Parametrické vyjádření

Zápis

obr1: Parametrické vyjádření přímky

  • Vektorově: b = a + v t
  • Po složkách: b_1 = a_1 + v_1 t,...b_n = a_n + v_n t
  • kde:
    • a, b jsou body ležící na přímce
    • v je směrový vektor přímky
    • t je parametr
    • n je dimenze prostoru, ve kterém je přímka popisována

Význam

  • Bod b leží na přímce pokud vznikl přičtením libovolného t-násobku směrového vektoru v k jinému bodu a, ležícímu na přímce.
  • Pro reprezentaci přímky je nutné uchovávat jeden bod přímky a její směrový vektor
  • Směrový vektor je dobré uchovávat v normalizovaném tvaru

Obecná rovnice (pouze v rovině)

Zápis

obr2: Obecná rovnice přímky

  • Vektorově: dot(a, n) + c = 0
  • Po složkách: a_1 n_1 + a_2 n_2 + c = 0
  • kde:
    • a je bod ležící na přímce (tzn. vektor od počátku soustavy souřadnic k tomuto bodu)
    • n je normálový vektor přímky
    • c je vzdálenost přímky od počátku soustavy souřadnic

Význam

  • Bod a leží na přímce pokud jeho skalární součin s normálovým vektorem přímky n je po přičtení konstanty c roven nule
  • Normálový vektor je dobré uchovávat v normalizovaném (jednotkovém) tvaru

Osvětlení

obr3: Bod neležící na přímce

  • Pokud je normálový vektor n v normalizovaném tvaru, můžeme si skalární součin vektorů a a n představit jako skalární projekci a na n, dostaneme tedy, jak je patrné z obr2, délku ortogonálního průmětu vektoru a (vektoru mezi počátkem a bodem a) do n, což je v tomto případě vzdálenost naší přímky od počátku. Za c proto dosazením do obecné rovnice přímky zvolíme opačnou hodnotu této vzdálenosti.
  • Pokud není normálový vektor v normalizovaném tvaru, přesvědčíme se, že vztah platí stejně. Rozepíšeme skalární součin pro a n jako dot(a, n) = delim{|}{delim{|}{n}{|}}{|} (delim{|}{delim{|}{a}{|}}{|} cos α) výraz v závorce je opět skalární projekcí a na n a je násoben délkou vektoru n, ta je ale pro danou přímku konstantní ⇒ konstanta c bude také delim{|}{delim{|}{n}{|}}{|} násobkem hodnoty, které by se konstanta c rovnala při jednotkovém vektoru n ⇒ pokud dosadíme do rovnice bod, který na přímce leží, vyjde opět nula.
  • Z výše uvedených bodů a obr3 plyne, že po dosazení bodu, který na dané přímce neleží, do rovnice této přímky, rovnost platit nebude.

Vzájemná poloha bodu a přímky - klasifikace

Bod ležící na přímce

  • Bod z vektorového prostoru s dimenzí dim >= 2 leží na přímce, pokud po dosazení tohoto bodu do rovnice přímky nastane rovnost.

Bod ležící mimo přímku

  • Bod z vektorového prostoru s dimenzí dim >= 2 neleží na přímce, pokud po dosazení tohoto bodu do rovnice přímky nenastane rovnost.

Vzájemná poloha bodu a přímky - operace

Vzdálenost bodu a přímky

obr4: Vzdálenost bodu a přímky

Parametrické vyjádření

  • Hledáme-li vzdálenost bodu b od přímky p: x = a + v t, postupujeme následovně:
    1. Vyjdeme z toho, že spojnice bodu b s nejbližším bodem na přímce p musí být na přímku p kolmá: dot(x - b, v) = 0
    2. Dosadíme z rovnice přímky: dot(a - b + v t, v) = 0
    3. Označíme rozdíl bodů a - b jako vektor u: dot(u + v t, v) = 0
    4. Rozepíšeme pomocí definice skalárního součinu: dot(u, v) + dot(v, v) t = 0
    5. Vyřešíme rovnici pro t, které pak dosadíme do rovnice přímky p, dostaneme tak bod x, který je kolmým průmětem bodu b do přímky p
    6. Vzdáleností bodu b od přímky p bude vzdálenost bodů b a x

Obecná rovnice (pouze v rovině)

  • Pro nalezení vzdálenosti l bodu b od přímky s normálovým vektorem n, použijeme vzorec: l = {dot(b, n) + c}/{delim{|}{delim{|}{n}{|}}{|}}
  • Výraz v čitateli představuje obecnou rovnici dané přímky, výraz ve jmenovateli je velikost jejího normálového vektoru, pokud je tedy normálový vektor už v normalizovaném tvaru, jmenovatel je roven jedné a nemusíme jej ve vzorci uvažovat.
  • Z obr2 a obr4 je zřejmé že po dosazení bodu b do vzorce se odečte vzdálenost přímky od počátku od vzdálenosti ortogonálního průmětu bodu b do vektoru n od počátku a dostaneme tedy vzdálenost bodu b od dané přímky.

Vzájemná poloha dvou přímek - klasifikace

Rovnoběžné přímky

Parametrické vyjádření

  • Přímka p je rovnobežná s přímkou q, pokud její směrový vektor je lineární kombinací směrového vektoru přímky q (jeho t-náskobkem pro t epsilon R).

Obecná rovnice (pouze v rovině)

  • Přímka p je rovnobežná s přímkou q, pokud její normálový vektor je lineární kombinací normálového vektoru přímky q (jeho t-náskobkem pro t epsilon R).

Totožné přímky

Parametrické vyjádření

  • Přímka p je rovnobežná s přímkou q, pokud její směrový vektor je lineární kombinací směrového vektoru přímky q a zároveň vektor od počátku k bodu a je lineární kombinací vektoru od počátku k bodu b (tj souřadnice bodu a; a epsilon p jsou t-násobkem souřadnic bodu b; b epsilon q pro t epsilon R).

Obecná rovnice (pouze v rovině)

  • Přímka p je rovnobežná s přímkou q, pokud její normálový vektor je t-náskobkem normálového vektoru přímky q a zároveň vzdálenost přímky p od počátku c je t-násobkem vzdálenosti pro t epsilon R.

Různoběžné přímky

  • Přímky p a q jsou různoběžné, pokud mají právě jeden společný bod-průsečík.

Mimoběžné přímky

  • Přímky mohou být mimoběžné pouze v prostorech s dimenzí >= 3
  • Přímky jsou mimoběžné pokud nemají stejný směr a žádný společný bod, tzn nejsou rovnoběžné ani různoběžné
  • Z obou výše uvedených poznatků plyne: Přímky jsou mimoněžné pokud neleží ve stejné rovině

Vzájemná poloha dvou přímek - operace

Průsečík přímek

Parametrické vyjádření

  • Průsečík přímek p: x = a + v t a q: x = a + u s nalezneme tak, že všechny rovnice obou parametrických vyjádření položíme sobě rovny, dostaneme tak pro n rozměrný prostor soustavu n rovnic o neznámých t a s. Po vyřešení soustavy zbyvá dosadit t do rovnic pro p, nebo s do rovnic pro q a získáme souřadnice průsečíku obou přímek.
  • POZOR: Pokud hledáme v prostoru průsečík dvou přímek, nebo se pouze chceme přesvědčit, zda jsou tyto přímky různoběžné, je třeba při reprezentaci proměnných pomocí standartních desetinných datových typů (double, float) brát v potaz, že může docházet k nepřesnostem a i malá nepřesnost způsobí, že různoběžné přímky se stanou mimoběžnými. Tento problém lze odstranit tak, že místo průsečíku obou přímek hledáme jejich nejkratší příčku, přičemž pokud je délka této příčky menší než minimální zvolené epsilon, považujeme přímky za různoběžné a libovolný z obou krajních bodů příčky považujeme za průsečík.

Obecná rovnice (pouze v rovině)

  • Hledáme průsečík přímek p: dot(a, n) + c = 0 a q: dot(a, m) + d = 0, což je po rozespsání p: a_1 n_1 + a_2 n_2 + c = 0 a q: a_1 m_1 + a_2 m_2 + d = 0
    1. Hledáme bod, který bude pro obě přímky společný ⇒ bod a v rovnici přímky p musí být totožný s bodem a v rovnici přímky q, vyjádříme například z první rovnice vztah pro první souřadnici bodu a: a_1 = {- a_2 n_2 - c}/{n_1}
    2. Získaný vztah dosadíme do druhé rovnice a po úpravě dostaneme hodnotu druhé souřadnice průsečíku přímek p a q: a_2 = {c m_1 - d n_1}/{m_2 n_1 - m_1 n_2}
    3. Druhou souřanici dosadíme do výše odvozeného vztahu pro první souřadnici průsečíku a dostaneme: a_1 = {d n_2 - c m_2}/{m_2 n_1 - m_1 n_2}
    4. Výsledné vztahy pro obě souřadnice mají shodného jmenovatele, který pokud je nulový vztahy nemají řešení ⇒ přímky se neprotínají. A pokud se v rovině dvě přímky neprotínají jsou rovnoběžné.

Příčka mimoběžek

Popis

  • Příčka dvou mimoběžek je přímka spojující dvě mimoběžné přímky, nejkratší příčka dvou mimoběžek je pak nejkratší přímka spojující tyto přímky

Nalezení nejkratší příčky dvou mimoběžek

  • Uvažujeme-li přímky p: x = a + v t a q: y = b + u s
  • Postup1:
    1. Hledáme bod x ležící na přímce p a bod y ležící na přímce q, pro které platí, že jejich vzdálenost je minimální: min delim{|}{delim{|}{y - x}{|}}{|}^2
    2. Po dosazení z rovnic přímek: min delim{|}{delim{|}{b - a + u s - v t}{|}}{|}^2
    3. Hledáme minimum ⇒ získaný vztah zderivujeme podle proměnných t a s a výsledky položíme rovno nule ⇒ řešíme soustavu dvou rovnic o dvou neznámých
    4. Výsledné t a s dosadíme do odpovídajících rovnic přímek a dostaneme krajní body příčky obou těchto přímek
  • Postup2:
    1. Vyjdeme z toho, že příčka dvou přímek musí být kolmá na obě přímky: dot(y - x, v) = 0 a dot(y - x, u) = 0
    2. Dosadíme z rovnic přímek: dot(b - a + u s - v t, v) = 0 a dot(b - a + u s - v t, u) = 0
    3. Rodíl bodů b - a vyjádříme jako vektor w: dot(w + u s - v t, v) = 0 a dot(w + u s - v t, u) = 0
    4. Vyjdeme z definice skalárního součinu a upravíme oba vztahy: dot(v, w) + dot(u, v) s - dot(v, v) t = 0 a dot(u, w) + dot(u, u) s - dot(u, v) t = 0
    5. Vyjádříme jednu neznámou, například s: s = {dot(u, v) t - dot(u, w)}/{dot(u, u)}
    6. Dosadíme a získáme vztah pro t: s = {dot(v, w) dot(u, u) - dot(u, w) dot(u, v)}/{dot(u, u) dot(v, v) - dot(u, v) dot(u, v)}
    7. Výsledné t a s dosadíme do odpovídajících rovnic přímek a dostaneme opět krajní body příčky obou těchto přímek

Vzdálenost přímek

Vzdálenost dvou přímek p a q, je délka nejkratší spojnice bodů a: a epsilon p a b: b epsilon q

Parametrické vyjádření

  • Vzdálenost dvou přímek můžeme spočítat pro rovnoběžné přímky a v prostoru s dimenzí dim >= 3 i pro mimoběžné přímky
  • Pro dané dvě přímky p, q zadané parametricky spočítáme jejich vzdálenost jako délku jejich nejkratší spojnice ⇒ nalezeneme jejich nejkratší příčku a spočítáme její délku

Obecná rovnice (pouze v rovině)

  • V rovině lze vzdálenost přímek spočítat pouze pro rovnoběžné přímky
  • Pokud máme dvě rovnoběžné přímky p: dot(a, n) + c a q: dot(b, m) + d, můžeme jejich vzdálenost vypočítat jako rozdíl jejich vzdáleností od počátku, tedy: delim{|}{c/{delim{|}{delim{|}{n}{|}}{|}} - d/{delim{|}{delim{|}{m}{|}}{|}}}{|}

Personal Tools