• 1 Úvod
  • 2 Základní pojmy
  • 3 Reálné posloupnosti
  • 4 Číselné řady
  • 5 Limita a spojitost funkce
  • 6 Derivace
  • 7 Taylorovy polynomy
  • 8 Primitivní funkce
  • 9 Riemannův integrál
  • 10 Další příklady a aplikace
  • 11 Přehled použitého značení
  • Index Literatura

    10.1 Křivky

    V této podkapitole se budeme stručně zabývat křivkami a jejich délkou. Proč by nás tyto objekty měly zajímat? Křivky se intenzivně využívají v počítačové grafice, například každé písmenko tohoto textu je tvořeno z mnoha křivek. Konkrétně se budeme zabývat křivkou v rovině, intuitivní představu křivky formalizuje následující definice.

    Definice 10.1 (Rovinná křivka / plane curve)

    Buďte \(f\) a \(g\) dvě spojité funkce na intervalu \(\langle a,b \rangle\). Potom zobrazení \(F: \langle a,b \rangle \to \mathbb{R}^2\) definované předpisem \begin{equation*} F(t) = \big( f(t),\, g(t) \big), \quad t\in\langle a,b \rangle,\end{equation*} nazýváme rovinnou křivkou (zkráceně křivkou) v \(\mathbb{R}^2\).

    Poznámka 10.2

    Připomeňme, že kulaté závorky v předchozí definici představují uspořádanou dvojici dvou reálných čísel (bod v \(\mathbb{R}^2\)). Zobrazení \(F\) tedy každému \(t\in\langle a,b \rangle\) přiřadí \(F(t)\), bod v rovině \(\mathbb{R}^2\). Spojitost složek \(f\) a \(g\) pak přesně vyjadřuje intuitivní požadavek, aby křivka byla „nakreslitelná jedním tahem“. Bez požadavku spojitosti by výsledná množina bodů v rovině vůbec nemusela připomínat to, co by bychom v běžné řeči označili jako „křivku“.

    Příklad 10.3

    Jako příklad křivky uvažme parametrizaci kružnice. Za interval volíme \(\langle a,b \rangle = \langle 0,2\pi \rangle\) a klademe \(F(t) = \big( \cos(t), \sin(t) \big)\). Při této volbě kružnici obíháme proti směru hodinových ručiček. Úsečku spojující body \((a,b)\) a \((c,d)\) lze také popsat pomocí křivky, například lze klást \(F(t) = \big( a + (c-a)t, b + (d-b)t \big)\) pro \(t \in \langle 0,1 \rangle\).

    Známým příkladem křivek – o kterém jste jistě už slyšeli – jsou Bézierovy křivky. Nejprve definujeme užitečné polynomy se šikovnými vlastnostmi.

    Definice 10.4 (Bernsteinův polynom)

    Pro \(n\in\mathbb{N}_0\) a celočíselné \(i\) splňující \(0 \leq i \leq n\) definujeme Bernesteinův polynom \(B_{i,n}\) předpisem \begin{equation*} B_{i,n}(t) = \binom{n}{i} t^i (1-t)^{n-i}, \quad t\in\mathbb{R}.\end{equation*}

    Tyto polynomy oplývají několika zajímavými vlastnostmi. Všimněme si, že pro \(t \in \langle 0,1 \rangle\) jsou jejich hodnoty nezáporné, tedy \(B_{i,n}(t) \geq 0\). Dále pro jejich součet přes druhý index platí \begin{equation*} \sum_{i=0}^n B_{i,n}(t) = \sum_{i=0}^n \binom{n}{i} t^i (1-t)^{n-i} = (t + 1 - t)^n = 1.\end{equation*} Skutečně, ve výpočtu jsme nepoužili nic jiného než Binomickou větu. Konečně, pro \(n \in\mathbb{N}\) platí

    \begin{equation}\label{eq_bernstein_at_boundary}\tag{10.1} B_{i,n}(0) = \begin{cases} 1, & i = 0, \\ 0, & i = 1,2,\ldots,n, \end{cases} \quad B_{i,n}(1) = \begin{cases} 1, & i = n, \\ 0, & i = 0,1,\ldots,n-1. \end{cases}\end{equation}
    Díky těmto vlastnostem a nezápornosti Bernsteinových polynomů (na intervalu \(\langle 0,1\rangle\)) také ihned dostáváme37 horní odhad \(B_{i,n}(t) \leq 1\).

    Definice 10.5 (Bézierova křivka)

    Pro \(n+1\) kontrolních bodů \(P_0,P_1,\ldots,P_n \in\mathbb{R}^2\) definujeme křivku \(C\) předpisem \begin{equation*} C(t) = \sum_{i=0}^n P_i B_{i,n}(t), \quad t\in \langle 0,1 \rangle,\end{equation*} a nazýváme ji Bézierovou křivkou s kontrolními body \(P_0,P_1,\ldots,P_n\).

    Body \(P_0, P_1, \ldots, P_n \in \mathbb{R}^2\) jsou často nazývány kontrolními body. Všimněte si, že díky (10.1) platí \begin{equation*} C(0) = P_0 \quad \text{a} \quad C(1) = P_n.\end{equation*} Křivka \(C\) tedy začíná v \(P_0\) a končí v \(P_n\).

    Rozeberme nejpoužívanější případy Bézierových křivek pro nízké \(n\). Pokud \(n=1\), pak \(C\) není nic jiného než úsečka spojující body \(P_0\) a \(P_1\). Skutečně, \begin{equation*} C(t) = \binom{1}{0} (1-t) P_0 + \binom{1}{1} t P_1 = (1-t) P_0 + t P_1, \quad t\in\langle 0,1 \rangle.\end{equation*} Pro \(n=2\) dostáváme tzv. kvadratickou Bézierovu křivku, \begin{equation*} C(t) = (1-t)^2 P_0 + 2t(1-t) P_1 + t^2 P_2, \quad t\in\langle 0,1 \rangle.\end{equation*} Pro \(n=3\) dstáváme tzv. kubickou Bézierovu křivku, \begin{equation*} C(t) = (1-t)^3 P_0 + 3 t (1-t)^2 P_1 + 3 t^2 (1-t) P_2 + t^3 P_3, \quad t\in\langle 0,1 \rangle.\end{equation*}

    Příklad 10.6

    Uvažme například tři body \begin{equation*} P_0 = (1,2), \ P_1 = (-2,-1), \ P_2 = (1,-1).\end{equation*} Potom \begin{equation*} \begin{aligned} C(t) &= P_0 (1-t)^2 + P_1 \cdot 2t(1-t) + P_2 t^2 = \\ &= \Big( 1-6t+6t^2,\ 2-6t+3t^2 \Big). \end{aligned}\end{equation*} kde \(t\in\langle 0,1\rangle\). Tato křivka je znázorněna na obrázku č. 10.1.

    Obrázek 10.1: Ukázka kvadratické Bézierovy křivky z příkladu 10.6.

    V následujícím výpisu uvádíme hrubý extrakt dat z DejaVuSans.ttf s daty pro písmeno „a“. Grafické znázornění odpovídajících křivek je pak na obrázku 10.2.

    <TTGlyph name=a xMin=123 yMin=-29 xMax=1069 yMax=1147/>
      <contour>
        <pt x=702 y=563 on=1/>
        <pt x=479 y=563 on=0/>
        <pt x=307 y=461 on=0/>
        <pt x=307 y=338 on=1/>
        ...
        <pt x=885 y=563 on=1/>
      </contour>
      <contour>
        <pt x=1069 y=639 on=1/>
        <pt x=1069 y=0 on=1/>
        <pt x=885 y=0 on=1/>
        ...
        <pt x=1069 y=895 on=0/>
      </contour>
    </TTGlyph>
    

    Obrázek 10.2: Konstrukce písmena „a“ ve fontu DejaVuSans.ttf pomocí Bézierových křivek.

    Obraťme se nyní k další otázce. Jak vypočíst délku křivky? Umíme snadno počítat délku úseček spojující dva body (pomocí Euklidovské vzdálenosti dvou bodů v rovině). Proto se nabízí možnost aproximovat křivku pomocí lomené čáry (viz obrázek č. 10.3), jejíž délku snadno vypočteme. Postupným zjemňováním lomené čáry se pak limitně budeme blížit k délce původní křivky (pokud to půjde). Jinak řečeno, myšlenku Riemannovy konstrukce lze poměrně snadno přenést z výpočtu obsahů ploch na výpočet délky křivky.

    Definice 10.7

    Pro křivku \(F\) v \(\mathbb{R}^2\) a dělení \(\sigma = \{t_0,\, t_1, \ldots,\, t_n\}\), kde \(t_0 = a\) a \(t_n = b\), intervalu \(\langle a,b \rangle\) položme \begin{equation*} \ell(\sigma) = \sum_{i=1}^n \sqrt{\big( f(t_i) - f(t_{i-1}) \big)^2 + \big( g(t_i) - g(t_{i-1}) \big)^2}.\end{equation*} Toto číslo nazýváme délkou lomené čáry aproximující křivku \(F\) při dělení \(\sigma\) intervalu \(D_F = \langle a,b \rangle\).

    Obrázek 10.3: Aproximace křivky pomocí lomené čáry.

    Věta 10.8

    Je-li \(F\) křivka v \(\mathbb{R}^2\), \(F(t) = \big(f(t),\, g(t)\big)\) a funkce \(f\) a \(g\) jsou spojitě diferencovatelné na \(\langle a,b \rangle\), pak pro libovolnou normální posloupnost dělení \(\sigma_n\) intervalu \(\langle a,b \rangle\) existuje konečná limita

    \begin{equation}\label{eq_delka_krivky}\tag{10.2} L = \lim_{n\to\infty} \ell(\sigma_n) = \int_a^b \sqrt{f'(t)^2 + g'(t)^2} \,\mathrm{d} t.\end{equation}
    Číslo \(L\) nazýváme délkou křivky \(F\).

    Důkaz, náčrtek :

    Mějme rozdělení \(\sigma = \{t_0, t_1, \ldots, t_N\}\) intervalu \(\langle a,b \rangle\). Všimněme si, že \(\ell(\sigma)\) lze upravit následovně: \begin{equation*} \ell(\sigma) = \sum_{i=1}^N \sqrt{\bigg( \frac{f(t_i) - f(t_{i-1})}{t_i - t_{i-1}} \bigg)^2 + \bigg( \frac{g(t_i) - g(t_{i-1})}{t_i - t_{i-1}} \bigg)^2} \cdot (t_i - t_{i-1}).\end{equation*} Použijeme-li Lagrangeovu větu o přírůstku funkce (viz větu č. 6.41) postupně na funkce \(f\) a \(g\) na intervalech \(\langle t_i, t_{i-1} \rangle\), \(i=1,2,\ldots,N\), pak \begin{equation*} \ell(\sigma) = \sum_{i=1}^N \sqrt{f'(\alpha_i)^2 + g'(\beta_i)^2} \cdot \Delta_i,\end{equation*} kde \(\alpha_i,\beta_i \in \langle t_i, t_{i-1}\rangle\), \(i=1,2,\ldots,N\). Kdyby \(\alpha_i = \beta_i\), pak by se jednalo o integrální součet funkce \(f(x) = \sqrt{f'(x)^2 + g'(x)^2}\) při dělení \(\sigma\). Pro normální posloupnost dělení bychom pak v limitě dostali integrál z dané funkce. Složitějšími manipulacemi lze ukázat, že při různých \(\alpha_i\) a \(\beta_i\) se \(\ell(\sigma)\) málo liší od integrálního součtu.

    \(\square\)

    Poznámka 10.9 (Délka grafu funkce)

    Graf funkce \(f:\mathbb{R} \to \mathbb{R}\) definované na intervalu \(\langle a,b \rangle\) lze chápat jako křivku \begin{equation*} F(x) = \big( x,\, f(x) \big), \quad x\in\langle a,b \rangle.\end{equation*} Je-li \(f\) diferencovatelná, pak pro délku grafu funkce \(f\) platí

    \begin{equation}\label{eq_delka_grafu_fce}\tag{10.3} L = \int_a^b \sqrt{1 + f'(x)^2} \,\mathrm{d}x.\end{equation}

    Příklad 10.10

    Vypočtěte délku úseku paraboly \(y=x^2\) mezi body \((0,0)\) a \((1,1)\). Jedná se o délku grafu funkce \(f(x) = x^2\) definované na intervalu \(\langle0,1\rangle\). Takže pomocí per partes odvodíme \begin{equation*} \begin{aligned} L &= \int_0^1 \sqrt{1 + (2x)^2} \,\mathrm{d} x = \Big[ x \sqrt{1+4x^2} \Big]_0^1 - \int_0^1 \frac{1+4x^2 - 1}{\sqrt{1+4x^2}} \,\mathrm{d}x = \\ &= \sqrt{5} - L + \int_0^1 \frac{1}{\sqrt{1+4x^2}} \,\mathrm{d}x. \end{aligned}\end{equation*} Po vyjádření \(L\) a substituci dostáváme \begin{equation*} L = \frac{\sqrt{5}}{2} + \frac{1}{4} \int_0^2 \frac{1}{\sqrt{1+y^2}} \,\mathrm{d}y = \frac{\sqrt{5}}{2} + \frac{1}{4} \ln\Big( 2 + \sqrt{5} \Big),\end{equation*} kde jsme dále použili již vypočtený neurčitý integrál (viz příklad 8.22) \begin{equation*} \int \frac{1}{\sqrt{1+x^2}} \,\mathrm{d} x = \ln\Big( x + \sqrt{x^2 + 1} \Big) + C.\end{equation*}

    Příklad 10.11

    Vypočtěte délku křivky \begin{equation*} F(t) = \Big( e^{-t}\cos(t),\, e^{-t} \sin(t) \Big), \quad t\in\langle 0,4\pi\rangle.\end{equation*} Podle vzorce v rovnici (10.2) platí \begin{equation*} \begin{aligned} \ell &= \int_0^{4\pi} \Big[\big(-e^{-t} \cos(t) - e^{-t} \sin(t) \big)^2 + \big( -e^{-t} \sin(t) + e^{-t} \cos(t) \big)^2 \Big]^{\frac{1}{2}} \mathrm{d}t = \\ &= \int_0^{4\pi} \sqrt{2e^{-2t}} \,\mathrm{d} t = \sqrt{2} \int_0^{4\pi} e^{-t} \,\mathrm{d}t = \sqrt{2} \Big[ -e^{-t} \Big]_0^{4\pi} = \sqrt{2} \big(1 - e^{-4\pi} \big). \end{aligned}\end{equation*}

    Obrázek 10.4: Spirála z příkladu 10.11.