|
Serwis Edukacyjny Nauczycieli w I-LO w Tarnowie
Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy
Wałaszek |
©2026 mgr Jerzy Wałaszek
|
SDL_HapticDirection
| SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Struktura zawiera informację o kierunku siły w joysticku ze sprzężeniem siłowym.
| Uint8 | type | rodzaj kodowania; zobacz do Uwag. |
| Sint32 | dir | zakodowany kierunek; zobacz do Uwag. |
SDL_HapticDirection direction; // Kierunki kartezjańskie direction.type = SDL_HAPTIC_CARTESIAN; // Używanie kartezjańskiego kodowania kierunku. direction.dir[0] = 0; // Pozycja X direction.dir[1] = 1; // Pozycja Y // Zakładając, iż urządzenie to posiada dwie osie, nie musimy określać trzeciego parametru. // Kierunki biegunowe direction.type = SDL_HAPTIC_POLAR; // Będziemy używać biegunowego kodowania kierunku. direction.dir[0] = 18000; // Używany jest tylko pierwszy parametr. // Współrzędne sferyczne direction.type = SDL_HAPTIC_SPHERICAL; // Kodowanie sferyczne direction.dir[0] = 9000; // Ponieważ mamy tylko dwie osie, nie potrzebujemy więcej parametrów. |
Główne kierunki urządzenia haptic są względem położenia tego urządzenia. Północ jest od użytkownika, Południe jest ku użytkownikowi, Wschód jest na prawo, a Zachód na lewo od użytkownika.
Poniższy rysunek przedstawia główne kierunki:
.--.
|__| .-------.
|=.| |.-----.|
|--| || ||
| | |'-----'|
|__|~')_____('
[ KOMPUTER ]
PÓŁNOC (0,-1)
^
|
|
(-1,0) ZACHÓD <----[ HAPTIC ]----> WSCHÓD (1,0)
|
|
v
POŁUDNIE (0,1)
[ UŻYTKOWNIK ]
\|||/
(o o)
---ooO-(_)-Ooo---
|
Kierunki można określić przez:
| SDL_HAPTIC_POLAR | Współrzędne biegunowe. |
| SDL_HAPTIC_CARTESIAN | Współrzędne kartezjańskie. |
| SDL_HAPTIC_SPHERICAL | Współrzędne sferyczne. |
Jeśli typem jest SDL_HAPTIC_POLAR, kierunek kodowany jest setnymi stopnia poczynając od północy z obrotem zgodnie ze wskazówkami zegara. SDL_HAPTIC_POLAR używa tylko pierwszego parametru dir. Główne kierunki będą następujące:
| Północ | 0 (0 stopni) |
| Wschód | 9000 (90 stopni) |
| Południe | 18000 (180 stopni) |
| Zachód | 27000 (270 stopni) |
Jeśli typem jest SDL_HAPTIC_CARTESIAN, kierunek kodowany jest trzema pozycjami (oś X, oś Yi oś Z przy trzech osiach). SDL_HAPTIC_CARTESIAN używa pierwszych trzech parametrów. Główne kierunki będą następujące:
| Północ | 0,-1, 0 |
| Wschód | 1, 0, 0 |
| Południe | 0, 1, 0 |
| Zachód | -1, 0, 0 |
Oś Z reprezentuje wysokość efektu, jeśli jest obsługiwana, w przeciwnym razie pozostaje nieużywana. W kodowaniu kartezjańskim (1, 2) będzie tym samym, co (2, 4), możesz stosować dowolne mnożniku, ważny jest tylko kierunek.
Jeśli typem jest SDL_HAPTIC_SPHERICAL, kierunek kodowany jest przez dwa obroty. Używane są pierwsze dwa parametry dir. Są one następujące (wszystkie wartości są w setnych stopnia):
| Stopnie od (1, 0) obrócone w kierunku (0, 1) |
| Stopnie w kierunku (0, 0, 1) (urządzenie potrzebuje przynajmniej 3 osi) |
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.