Uživatelské nástroje

Nástroje pro tento web


matematika:software:maxima:prusecikprimkyakruznice

Průsečík přímky a kružnice s CAS Maxima

Zadání

Je dána kružnice $k: (x-m)^2+(y-1)^2=16$ a přímka $p: x-3y+6=0$. Určete hodnotu parametru m, aby přímka p byla tečnou ke kružnici k.

Teorie

Kružnice je zadána ve středovém tvaru, ze kterého pohodlně přečteme souřadnice středu [m;1] a poloměr přímky r = 4. Střed má tedy neznámou x-souřadnici (je dána parametrem m). Přímka je zadána obecnou rovnicí.

Abychom nalezli m (x-souřadnici středu), budeme hledat průsečíky k a p tak, aby existoval právě jeden (tzn. přímka s kružnicí mají jeden společný bod, je to tečna). Řešíme proto soustavu rovnic přímky a kružnice a hledáme společný bod [x;y].

Není nutné celou soustavu dořešit, stačí si uvědomit, že chceme, aby měla právě jedno řešení, proto ve chvíli, kdy dostáváme kvadratickou rovnici, stačí vzít její diskriminant a položit ho roven nule (je-li diskriminant nula, vyjde právě 1 řešení). Dořešíme jen rovnici s diskriminantem a dostáváme hodnoty parametru m.

Řešení

Spusťte program wxMaxima a začněte psát (i když nikde nebliká kurzor, to nevadí) nebo pište do okna online verze. Pokud používáte program wxMaxima, musíte za každým příkazem stisknout Shift+Enter, aby se vykonal!

Příkaz wxMaxima Vysvětlení Postup
k: (x-m)^2+(y-1)^2=16;
Vkládáme rovnici kružnice a pojmenováváme ji k. Zadáváme rovnice do programu.
p: x-3*y+6=0;
Vkládáme rovnici přímky a pojmenováváme p.
solve([k,p],[x,y]);
Necháváme program vyřešit soustavu rovnic k, p vzhledem k neznámým x a y, m je tedy parametr. Všimneme si, že x1 a x2, stejně jako y1 a y2 se liší přičtením či odečtením výrazu pod odmocninou (disktiminant), ten by tedy měl být 0. Zkusíme si nejprve vyřešit soustavu „ručně“ dosazovací metodou.
solve(p,y);
Necháme „vyřešit“ přímku p pro proměnnou y s „parametrem“ x neboli necháme vyjádřit z rovnice přímky p neznámou y vzhledem k x. Vyřešíme soustavu rovnic k a p dosazovací metodou, dosazením za y z rovnice přímky.
rhs(%[1]);
Zobrazíme si jen pravou stranu rovnice, která nám vyšla, to dělá funkce rhs(). symboly %[1] říkají, že z předchozího výsledku, kterým byl (jednoprvkový) seznam (má hranaté závorky) bereme hned první (a zde jedinou) položku.
subst(%,y,k);
Substituujeme (dosazujeme) do rovnice k místo neznámé y hodnotu předchozího výsledku (znak %). Pokud něco nefunguje, můžeme rovnou místo znaku % napsat (x+6)/3.
expand(%);
Roznásobíme předchozí rovnici.
%-16
Od předchozího výsledku odečteme 16, abychom dostali na levé straně kvadratický trojčlen a na pravé straně rovnice nulu. Máme kvadratickou rovnici pro x vzhledem k m. Jelikož ale nepotřebujeme znát hodnotu x, ale pouze zajistit, aby mělo jediné řešení, budeme dále určovat diskriminant kvadratické rovnice tak, aby byl roven 0.
lhs(%);
Zobrazíme si jen levou stranu rovnice, tj. pouze kvadr. trojčlen.
ratcoef(%,x,2);
Z předchozího výsledku (znak %) si zobrazíme koeficient pro x v 2. mocnině.
let(a,%o10);
Nastavíme programu, že má písmeno a později substituovat hodnotou výsledku na řádku 10 (znaky %o10), tj. předchozí výsledek. Pozor, nelze použít znak %, výraz se bude vyhodnocovat až ve chvíli samotného substituování!
ratcoef(%o9,x,1);
Z výsledku na řádku 9 (znak %o9, řádek s kvadratickým trojčlenem) si zobrazíme koeficient pro x v 1. mocnině.
let(b,%o12);
Nastavíme programu, že má písmeno b později substituovat hodnotou výsledku na předchozím řádku (%o12).
ratcoef(%o9,x,0);
Z výsledku na řádku 9 si zobrazíme koeficient pro absolutní člen (x v 0. mocnině)-
let(c,%o14);
Nastavíme programu, že má písmeno c později substituovat hodnotou výsledku na předchozím řádku (%o14).
letsimp(b^2-4*a*c);
Necháme vypsat vzorec pro diskriminant, funkce letsimp do něj dosadí za neznámé a, b a c dříve nastavené hodnoty.
%=0;
V předchozím řádku určený diskriminant položíme roven nule. Máme rovnici diskriminantu rovnu nule, hledáme pro jaká m bude nula a tudíž vyjde jediný průsečík přímky s kružnicí.
solve(%);
Necháme vyřešit rovnici v předchozím řádku. Program nalezl 2 možné hodnoty parametru m. máme řešení.

Bude-li $m =\pm4 \sqrt{10} -3$, bude se kružnice dotýkat přímky.

Můžeme ještě spočítat souřadnice tečného bodu:

Příkaz wxMaxima Vysvětlení Postup
rhs(%[1]);
příkaz rhs vybere jen pravou stranu rovnice, %[1] říká první část ze seznamu posledního výsledku. Zobrazíme hodnotu m1.
subst(%,m,k);
Substituujeme (dosadíme) předchozí výsledek za parametr m do rovnice kružnice. Dosadíme za parametr do kružnice.
solve([%,p],[x,y]);
Vyřešíme soustavu rovnic, první je předchozí výsledek (kružnice s dosazeným parametrem), druhá je přímka, hledáme neznámé x a y. Hledáme průsečík kružnice a přímky pro první hodnotu parametru m.
rhs(%o18[2]);
subst(%,m,k);
solve([%,p],[x,y]);
Výsledek pro druhou hodnotu parametru m2 dostaneme analogicky, nejprve zobrazujeme druhou hodnotu (jen pravou stranu) z výsledku na řádku 18. Dopočítáme tečný bod pro druhou hodnotu parametru.

Celý výpočet pro program wxMaxima si můžete stáhnout. Otevřete nové okno a po načtení klikněte v menu na „Cell“ → „Evaluate All Cells“. Nezapomeňte, že při opakovaném provedení příkazu (stisku Shift+Enter) znamená znak % v příkazu vždy výsledek naposledy provedeného výpočtu, nikoliv předchozího řádku. Při opakovaném provedení se také mění čísla řádků, takže nemusí odpovídat správně očíslování např %o18.

Exportovanou podobu v HTML najdete na stránkách prof. Rýdla.

matematika/software/maxima/prusecikprimkyakruznice.txt · Poslední úprava: 18. 09. 2015, 13.04 autor: rydloadm