<!-- layout.nunjucks -->
<!DOCTYPE html>
<html lang="cs">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Transformace objektů</title>

    <link rel="stylesheet" href="assets/css/main.css">

    <link rel="preconnect" href="https://fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700;900&display=swap" rel="stylesheet">

</head>

<body>

    <div class="layout">
        <header class="layout__header header">
            <div class="wrap">
                <h1 class="header__heading">3D transformace objektů</h1>

                <div class="portlet">
                    <div class="header__desc-box">
                        <p>Aplikování jednotlivých transformací je možné pomocí nastavení hodnot v maticích Matice 1 až Matice 6. Matice jsou na počátku nastaveny do hodnoty "Identita", což je jednotková matice. U každé matice je možné vybrat jedno z předpřipravených nastavení,
                            pro jednotlivé transformace, konkrétně se jedná o Posun, Změnu Měřítka, Zkosení a Rotaci. Pro rotaci je nutné zadávat hodnotu po výpočtu goniometrické funkce. Další matici transformace nelze přidat.</p>
                        <p>Po kliknutí na tlačítko "Transformuj" jsou jednotlivé transformační matice vynásobeny a do matice "Finální Matice" je zobrazena výsledná transformační matice, která je následně aplikována na objekt ve scéně. Tato matice není upravitelná a pro aplikování jedné transformace je nutné tuto transformaci zadat do jedné ze 6 přechozích matic a ostatní nechat nastavené jako matice identity.</p>
                        <p>Pro změnu objektu ve scéně je možné vybrat z přednastavených objektů v rozbalovacím menu nad Finální Maticí. Při kliknutí na tlačítko "Restart Scény", se ve scéně smažou současné objekty
                            a přidají se objekty vybraného tvaru do počátku souřadnic. Zároveň je restartována kamera. Tlačítko "Transformuj" slouží pro výpočet finální matice a pro aplikování matice transformace na objekt. Po aplikování transformační matice je vidět předchozí stav objektu, což je zelený ze zobrazovaných objektů.</p>
                     </div>
                </div>
            </div>
        </header>

        <main class="layout__content">
            {% block content %} {% endblock %}
        </main>

        <footer class="layout__footer">

        </footer>
    </div>

    <script src="assets/js/main.js" async defer></script>
</body>

</html>