ZL31ARM: funkcje graficzne 3D
W artykule przedstawiamy zbiór procedur umożliwiających testowanie na STM32F103 procedur rysujących proste grafiki trójwymiarowe (3D) – doskonały wstęp do własnych, bardziej zaawansowanych ćwiczeń.
Użytkowników portalu zainteresowanych podobnymi funkcjami dla 2D odsyłamy do artykułu.
Do przygotowania przykładowych procedur wykorzystano modułu z wyświetlaczem LCD (KAmodTFT2 firmy KAMAMI.pl) oraz komputerek zintegrowany z programatorem JTAG – ZL31ARM z wbudowanym mikrokontrolerem STM32F103RB. Schemat elektryczny połączeń linii we/wy mikrokontrolera STM32 i modułu KAmodTFT2 pokazano na rysunku 1.
Rys. 1. Schemat podłączenia przycisków i wyświetlacza (zestawy ZL31ARM+KAmodTFT2)
Wygląd połączonych ze sobą elementów zestawu testowego (ZL31ARM oraz KAmodTFT2) pokazano na fotografii 2.
Fot. 2. Wygląd zestawu testowego
Na fotografii 3 przedstawiono w jaki sposób związano układ współrzędnych, w którym operuje się standardowo (w zakresie od 1 do 130), z powierzchnią wyświetlacza.
Fot. 3. Standardowy układ współrzędnych
Programy opisane w artykule powstały na bazie bibliotek opisanych w książce „Mikrokontrolery STM32 w praktyce”, dlatego przed rozpoczęciem ich testowania należy pobrać pliki źródłowe przykładów z tej książki (dostępne m.in. na stronie Wydawnictwa BTC).
Dodatkowe informacje o sposobie użycia tych bibliotek są dostępne w artykule.
Rysowanie sześcianu
Sześcian jest bryłą posiadającą 8 wierzchołków oraz 12 krawędzi. Aby ją narysować należy wyznaczyć 8 punktów charakterystycznych w przestrzeni 3D, rzutować te punkty na płaszczyznę (x,y) i połączyć je za pomocą linii. W danym projekcie zostanie to zrealizowane w sposób pośredni, czyli będą wyznaczone punkty końcowe linii tworzących krawędzie, które następnie zostaną narysowane.