Pytania otagowane jako quaternion

Konstrukcje matematyczne, systemy liczbowe. W grafice 3D kwateriony są używane obok wektorów i macierzy. Jedną z zalet kwaternionów jest to, że przezwyciężają one pewne problemy związane z obrotem (znane jako blokady gimbala), które są nieodłączne dla wektorów i macierzy.

1
Ukierunkowanie modelu na cel
Mam dwa obiekty (cel i gracz), oba mają pozycję (wektor3) i rotację (czwartorzęd). Chcę, aby cel się obrócił i był skierowany w stronę gracza. Cel, gdy coś strzela, powinien trafić prosto w gracza. Widziałem wiele przykładów slerowania dla gracza, ale nie chcę przyrostowej rotacji, cóż, przypuszczam, że byłoby to w …
28 xna  c#  3d  models  quaternion 

5
Obracanie wektora3 o ćwiartkę
Próbuję obrócić wektor3 o dany czwartorzęd. Wiem, że to prawda v′= q⋅ v ⋅ q- 1v′=q⋅v⋅q-1 v' = q \cdot v \cdot q^{-1} Wiem, że jest odwrotnością, która po prostu , ale jak mam odwzorować mnożenie wektora na czwartorzęd, aby odzyskać wektor?q- 1q-1 q^{-1} - qmagnitude(q)−qmagnituremi(q) \frac {-q} {magnitude(q)} Odkryłem, …
25 c++  quaternion 




2
Dlaczego ludzie używają czwartorzędów?
Od jakiegoś czasu używam ich jako czarnych skrzynek, dopiero uczę się matematyki, ale chciałbym uzyskać ostateczne odpowiedzi na to pytanie. Jak dotąd jedyną korzyścią, na którą natknąłem się osobiście, jest możliwość SLERP między dwoma kątami - aby osiągnąć ten sam efekt z wektorem, którego potrzebujesz dość brzydka praca (wewnętrzne połączenie …


3
Jak wdrożyć kamerę opartą na ćwiartce?
AKTUALIZACJA Błąd tutaj był dość prosty. Przegapiłem konwersję radianów na stopnie. Nie musisz czytać wszystkiego, jeśli masz jakiś inny problem. Przejrzałem kilka samouczków na ten temat i kiedy pomyślałem, że rozumiem, próbowałem wdrożyć kamerę opartą na czwartorzędu. Problem polega na tym, że nie działa poprawnie po obróceniu o ok. 10 …


2
Arbitrary Rotation about a Sphere
Koduję mechanikę, która pozwala użytkownikowi poruszać się po powierzchni kuli. Pozycja na kuli jest obecnie zapisywana jako thetai phi, gdzie thetajest kąt między osią z i rzutem xz bieżącej pozycji (tj. Obrót wokół osi y), i phijest kątem od osi y do pozycji. Wyjaśniłem, że źle, ale to jest w …

1
Czwartorzędy i obrót wokół osi świata
Oświadczenie: Jestem profesjonalnym programistą gier i używam czwartorzędów przez większość dni, ale są one dla mnie bliskie czarnej magii. Jestem względnie w domu z matematyką, ale wyimaginowane liczby zawsze mnie myliły. Często traktuję quaty jako użyteczne i wielokrotnie odwracam multiplikacje. Staram się je rozumować tak, jak w przypadku macierzy z …
11 quaternion 

1
Przesuwanie obiektu wzdłuż krzywej podczas obracania
Chciałbym przesunąć obiekt wzdłuż krzywej . W poszczególnych punktach krzywej chcę, aby obiekt zmienił prędkość i obrócił się wzdłuż swojej osi. Wyobraź sobie samolot lecący do celu. Ma swoją ścieżkę, którą musi podążać, a także dostosowuje prędkość i orientację do końca (nagłówek, pith, nachylenie). Czy mogę prosić o informacje dotyczące …

2
Ponieważ Table.drawDebug jest przestarzałe w libGDX, czego powinienem użyć?
Postępuję zgodnie z książką „Learning LibGDX Game Development”, aby stworzyć prostą grę. Jestem w sekcji tworzenia menu, w której tworzymy scenę i renderujemy ją z ramkami debugowania. Książka mówi, aby używać, Table.drawDebug(stage)ale ta statyczna metoda wydaje się Tablecałkowicie usunięta z klasy frameworków . Importuję com.badlogic.gdx.scenes.scene2d.ui.Table; poniżej jest mój kod: @Override …

5
Dlaczego nie mogę używać operatora '> =' z Vector3s?
Próbuję uzyskać prostokąt, aby poruszać się między dwiema pozycjami, które nazywam _positionAi _positionB. Oba są tego typu Vector3. Prostokąt porusza się dobrze. Kiedy jednak się osiągnie _positionB, nie porusza się w przeciwnym kierunku, jak powinien. Wróciłem do kodu, żeby się przyjrzeć. Doszedłem do wniosku, że gdy obiekt się porusza, ifinstrukcje …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 

3
Przesuwne lusterka obrotowe
Obracam swoją postać gry, aby obserwować cel, używając następującego kodu: transform.rotation = Quaternion.Slerp(startQuaternion, lookQuaternion, turningNormalizer*turningSpeed/10f) startQuaternion to bieżąca rotacja postaci, gdy zostanie podany nowy cel. lookQuaternion to kierunek, w którym postać powinna patrzeć i jest ustawiony następująco: destinationVector = currentWaypoint.transform.position - transform.position; lookQuaternion = Quaternion.LookRotation(destinationVector, Vector3.up); TurningNormalizer jest tylko Time.deltaTimezwiększany …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.