If you're seeing this message, it means we're having trouble loading external resources on our website.

Pokud používáš webový filtr, ujisti se, že domény: *.kastatic.org and *.kasandbox.org jsou vyloučeny z filtrování.

Hlavní obsah

Popis 3D tvarů

Jednoduchým tvarem pro začátek je krychle. Třebaže má čtyřstěn méně stran, jeho strany nejsou pravoúhlé, což věci komplikuje. Začneme vytvořením krychle o rozměrech 200×200×200 pixelů, umístěné na počátek souřadnic (0, 0, 0).
Nebudeme začínat tím, že bychom něco kreslili, ale tím, že vytvoříme pole čísel, která popisují naše tvary ve 3D tvaru - konkrétně, pole, která popisují naše uzly a naše hrany.

Uzly

Začneme tím, že definujeme pole uzlů, kde každý uzel je polem tří čísel, souřadnice x, y a z:
var node0 = [-100, -100, -100];
var node1 = [-100, -100, 100];
var node2 = [-100, 100, -100];
var node3 = [-100, 100, 100];
var node4 = [ 100, -100, -100];
var node5 = [ 100, -100, 100];
var node6 = [ 100, 100, -100];
var node7 = [ 100, 100, 100];
var nodes = [node0, node1, node2, node3, node4, node5, node6, node7];
Jak si můžeš všimnout, naše uzly popisují všech 8 způsobů, jak uspořádat tři kombinace kladných nebo záporných hodnot 100.
V níže uvedené vizualizaci můžeš vidět uzly krychle 2x2x2 umístěné v počátku souřadnic. Otoč je pomocí myši:

Hrany

Dále definujeme pole hran, kde každá hrana je polem dvou čísel. Například edge0 definuje hranu mezi node0 a node1. Začneme počítat na 0, protože pole jsou indexována s nulou na začátku (pro získání hodnoty prvního uzlu zadáme nodes[0]).
var edge0 = [0, 1];
var edge1 = [1, 3];
var edge2 = [3, 2];
var edge3 = [2, 0];
var edge4 = [4, 5];
var edge5 = [5, 7];
var edge6 = [7, 6];
var edge7 = [6, 4];
var edge8 = [0, 4];
var edge9 = [1, 5];
var edge10 = [2, 6];
var edge11 = [3, 7];
var edges = [edge0, edge1, edge2, edge3, edge4, edge5, edge6, edge7, edge8, edge9, edge10, edge11];
Složitější částí je ujistit se, že se spojí dohromady ty správné hrany. Zde je vizualizace hran, které spojujeme do krychle.

Chceš se zapojit do diskuze?

Zatím žádné příspěvky.
Umíš anglicky? Kliknutím zobrazíš diskuzi anglické verze Khan Academy.