Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek
Uaktualniono: 22.02.2026

©2026 mgr Jerzy Wałaszek

Interfejs SDL2:

SDL_HapticDirection

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.

SDL_HapticDirection

Struktura zawiera informację o kierunku siły w joysticku ze sprzężeniem siłowym.

Pola danych

Uint8 type rodzaj kodowania; zobacz do Uwag.
Sint32 dir zakodowany kierunek; zobacz do Uwag.

Przykładowy kod

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.

Uwagi

Jest to kierunek, z którego przychodzi siła, zamiast kierunku, w którym ta siła działa.

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)

Powiązane struktury

SDL_HapticPeriodic

Powiązane funkcje

SDL_HapticNumAxes

do podrozdziału  do strony 

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: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.