The documentation jest dość niejasne, co się dzieje, kiedy te metody są używane. Czy ktoś może wyjaśnić, w jaki sposób Matrix wpływa na mapę bitową, w której jest ustawiony? Używają tam terminu concatenate, ale nie jestem pewien, w jaki sposób termin ten odnosi się do danych współrzędnych (wcześniej używał go tylko w odniesieniu do manipulacji ciągami).Poszukuję objaśnienia post/pre/set Translate (w obiekcie Matrix) i jak z nich korzystać
Odpowiedz
Zestaw metod zastąpi bieżącą Matrix nowymi wartościami, bez względu na to, co Matryca zawierała wcześniej. Metoda przed i po zastosuje nową transformację przed lub po tym, co zawiera obecna Matryca.
W tym przykładzie, obrót zostanie zignorowany, ponieważ używamy metody określonej i m będzie zawierać tylko tłumaczenie:
Macierz M = new Matrix();
m.setRotate (90);
m.setTranslate (100, 100);
W tym przykładzie, końcowa matryca będzie tłumaczenie następuje przez obrót:
macierzy M = nowa macierz();
m.setTranslate (100, 100);
m.postRotacja (90);
W ostatnim przykładzie, końcowa matryca będzie obrót następuje tłumaczenia:
macierzy M = nowa macierz();
m.setTranslate (100, 100);
m.preRotate (90);
Jest trochę więcej informacji w tym (dość długie) postu:
http://www.satyakomatineni.com/akc/display?url=displaynoteimpurl&ownerUserId=satya&reportId=2898
Nadzieję, że to pomaga.
- 1. glm translate matrix nie tłumaczy wektora
- 2. złamać i wrócić w Ruby, jak z nich korzystać?
- 3. Uprawnienia Android SU: jak z nich korzystać?
- 4. ViewBag, ViewData, TempData, Session - jak i kiedy z nich korzystać?
- 5. Jak korzystać z "każdego" na obiekcie Openstruct?
- 6. Pliki cookie Angularjs - jak z nich korzystać w kontrolerach
- 7. Co to jest Ext.namespace, jak z nich korzystać?
- 8. XML Schema key/keyref - jak z nich korzystać?
- 9. Na PackedArray, szukając porady, jak z nich korzystać
- 10. CSR Matrix - Matrix mnożenie
- 11. Poszukuję przykładu Jedisa z Sentinelem
- 12. ustalenie, ile bloków i wątków dla jądra cuda, i jak z nich korzystać
- 13. Co oznaczają różne wartości w języku XMLHttpRequest dla readystates i jak z nich korzystać?
- 14. Rozszerzenia OpenGL, jak z nich korzystać poprawnie w C i glsl
- 15. Jak korzystać z dwóch przycisków przesyłania i rozróżniać, który z nich został użyty do przesłania formularza?
- 16. routing szyn i params z "." w nich
- 17. Matrix Mnożenie z pandy DataFrame i Series
- 18. Patrząc na elegancką i skuteczny biblioteki C matrix ++
- 19. Android Translate Animacja
- 20. Nowoczesne OpenGL: stosy VBO, GLM i Matrix
- 21. Różnica między Matrix hamcrest Matrix i hamcrest Core Core Matchery
- 22. Jak zdobyć wyrazy z google translate phrasebook?
- 23. Co to jest delegat w Cocoa i dlaczego powinienem z nich korzystać?
- 24. Jak wyliczyć wszystkie właściwości w obiekcie i uzyskać ich wartości?
- 25. Zmiana rozmiaru objaśnienia IOS MapView
- 26. Jaka jest różnica pomiędzy Matrix Matrix isA, any, eq i same?
- 27. Matrix Math With Sparklyr
- 28. Objaśnienia: kiedy jest arrayOf potrzebne
- 29. Jak używać translate w kontroler używając Zend?
- 30. Różnica między transformacją: translate i position: relative ;?
Niektóre komentarze na temat współrzędnych, których używa, również byłyby super w tej odpowiedzi. np. "rotacja, po której następuje tłumaczenie" jest dość oczywiste: ale w jaki sposób osiąga się to w odniesieniu do osi X i Y? Jak obrócić coś o jego centralnym punkcie, a nie współrzędnym głównym. – RichieHH
Pytanie dotyczyło różnicy między metodami pre/post/set. Dokumenty api są dość jasne o różnych wariantach każdej transformacji. Oczywiście, jeśli zastosujesz transformacje w różnych zamówieniach, będzie to miało pewien wpływ na wartości parametrów, ale jest to nieco nietypowy temat. – Albin
To bardzo pomaga, myślę, że zespół programistów Androida powinien uwzględnić to w swoich dokumentach. – tim687