eGospodarka.pl

eGospodarka.plGrupypl.comp.programming › Prosty przykład Qt - zagadka z graf. 3D
Ilość wypowiedzi w tym wątku: 4

  • 1. Data: 2017-10-01 17:09:52
    Temat: Prosty przykład Qt - zagadka z graf. 3D
    Od: Szyk Cech <s...@o...pl>

    Witam
    Nie mam żadnego doświadczenia z grafiką 3D, a jak mniemam ten przykład
    jej dotyczy. I bardzo mnie ciekawi sens tego obliczenia.
    Przykład dotyczy prostej animacji kulki zgodnie ze wskazaniami
    akcelerometru w telefonie. Przykład jest dostępny na stronie:
    http://doc.qt.io/qtcreator/qtcreator-accelbubble-exa
    mple.html
    A interesujące są te linijki:

    function calcPitch(x, y, z) {
    return -(Math.atan(y / Math.sqrt(x * x + z * z)) * 57.2957795);
    }
    function calcRoll(x, y, z) {
    return -(Math.atan(x / Math.sqrt(y * y + z * z)) * 57.2957795);
    }

    Sam wywnioskowałem tylko tyle, że w pierwszej funkcji jest obliczana
    odległość między x i z z Pitagorasa i to dzieli y (nie wiem już po co).
    A już wcale nie mam pojęcia dlaczego jest z tego robiony arcustangens i
    mnożony przez 57.2957795!?!

    za wszelką pomoc dzięki i pozdro
    Szyk Cech

    --
    http://szyk.jcom.pl/
    http://szyk.free.of.pl/
    http://szykcech.cba.pl/
    http://szyk.000webhostapp.com/
    http://www.geocities.ws/szyk/
    http://szyk.wex.pl/


  • 2. Data: 2017-10-01 22:09:52
    Temat: Re: Prosty przykład Qt - zagadka z graf. 3D
    Od: "M.M." <m...@g...com>

    On Sunday, October 1, 2017 at 5:09:51 PM UTC+2, Szyk Cech wrote:
    > Witam
    > Nie mam żadnego doświadczenia z grafiką 3D, a jak mniemam ten przykład
    > jej dotyczy. I bardzo mnie ciekawi sens tego obliczenia.
    > Przykład dotyczy prostej animacji kulki zgodnie ze wskazaniami
    > akcelerometru w telefonie. Przykład jest dostępny na stronie:
    > http://doc.qt.io/qtcreator/qtcreator-accelbubble-exa
    mple.html
    > A interesujące są te linijki:
    >
    > function calcPitch(x, y, z) {
    > return -(Math.atan(y / Math.sqrt(x * x + z * z)) * 57.2957795);
    > }
    > function calcRoll(x, y, z) {
    > return -(Math.atan(x / Math.sqrt(y * y + z * z)) * 57.2957795);
    > }
    >
    > Sam wywnioskowałem tylko tyle, że w pierwszej funkcji jest obliczana
    > odległość między x i z

    Wyrażenie:
    Math.sqrt(x * x + z * z)
    Oblicza odległość pomiędzy punktem o współrzędnych [0,0] a [x,z] w
    przestrzeni 2D, tudzież w 3D po odpowiednim rzucie prostopadłym.


    z Pitagorasa i to dzieli y (nie wiem już po co).
    > A już wcale nie mam pojęcia dlaczego jest z tego robiony arcustangens i
    > mnożony przez 57.2957795!?!

    Wsteczna inżynieria :)
    To już się wywali gdy x=z=0.
    y / Math.sqrt(x * x + z * z)

    Co chcesz osiągnąc?

    Pozdrawiam


  • 3. Data: 2017-10-02 09:27:55
    Temat: Re: Prosty przykład Qt - zagadka z graf. 3D
    Od: slawek <f...@f...com>

    On Sun, 1 Oct 2017 17:09:52 +0200, Szyk Cech <s...@o...pl> wrote:
    > mnożony przez 57.2957795!?!

    Radian w stopniach


  • 4. Data: 2017-10-09 07:03:10
    Temat: Re: Prosty przykład Qt - zagadka z graf. 3D
    Od: bartekltg <b...@g...com>

    On Sunday, October 1, 2017 at 5:09:51 PM UTC+2, Szyk Cech wrote:
    > Witam
    > Nie mam żadnego doświadczenia z grafiką 3D, a jak mniemam ten przykład
    > jej dotyczy. I bardzo mnie ciekawi sens tego obliczenia.
    > Przykład dotyczy prostej animacji kulki zgodnie ze wskazaniami
    > akcelerometru w telefonie. Przykład jest dostępny na stronie:
    > http://doc.qt.io/qtcreator/qtcreator-accelbubble-exa
    mple.html
    > A interesujące są te linijki:
    >
    > function calcPitch(x, y, z) {
    > return -(Math.atan(y / Math.sqrt(x * x + z * z)) * 57.2957795);
    > }

    x,y,z to wektor.

    Chcemy policzyć, ile wystaje z płaszczyzny xz.
    Wystaje w kieruku y, a na płaszczyznie zostało sqrt(x^2+y^2).
    Liczymy kąt pomiędzy wektorem (x,y,z) a płaszczyzną xz.
    Szkolna trygonometria.


    > function calcRoll(x, y, z) {
    > return -(Math.atan(x / Math.sqrt(y * y + z * z)) * 57.2957795);
    > }

    To samo, ale kąt do płaszczyzny yz.

    Nazwy sygerują luźny związek z tym:
    https://en.wikipedia.org/wiki/Aircraft_principal_axe
    s

    > A już wcale nie mam pojęcia dlaczego jest z tego robiony arcustangens i
    > mnożony przez 57.2957795!?!

    Bo jak masz trójkąt prostokątny (a oś x jest prostopadła do czegokolwiek na zy...)
    to kąt tego trójkąta mierzysz wstawiając proporcję długości boków
    w arcus tangens.

    Dziwna liczba to 180/pi, bo jakiś geniusz widać zaimlementował
    trygonometrię w radianach. Co zrobić, patałachy sa wszędzie;-)

    pzdr
    bartekltg

strony : [ 1 ]



Szukaj w grupach

Szukaj w grupach

REKLAMA

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo:

Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Prywatności. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.