Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #30723 > unrolled thread

Prosty przykład Qt - zagadka z graf. 3D

Started bySzyk Cech <szyk100@o2.pl>
First post2017-10-01 17:09 +0200
Last post2017-10-08 22:03 -0700
Articles 4 — 4 participants

Back to article view | Back to pl.comp.programming


Contents

  Prosty przykład Qt - zagadka z graf. 3D Szyk Cech <szyk100@o2.pl> - 2017-10-01 17:09 +0200
    Re: Prosty przykład Qt - zagadka z graf. 3D "M.M." <mmarszik@gmail.com> - 2017-10-01 13:09 -0700
    Re: Prosty przykład Qt - zagadka z graf. 3D slawek <fake@fakeemail.com> - 2017-10-02 09:27 +0200
    Re: Prosty przykład Qt - zagadka z graf. 3D bartekltg <bartekltg@gmail.com> - 2017-10-08 22:03 -0700

#30723 — Prosty przykład Qt - zagadka z graf. 3D

FromSzyk Cech <szyk100@o2.pl>
Date2017-10-01 17:09 +0200
SubjectProsty przykład Qt - zagadka z graf. 3D
Message-ID<oqr0fu$8ct$1@mx1.internetia.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-example.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/

[toc] | [next] | [standalone]


#30724

From"M.M." <mmarszik@gmail.com>
Date2017-10-01 13:09 -0700
Message-ID<02f32018-7566-4554-bf08-e706c53ad3fe@googlegroups.com>
In reply to#30723
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-example.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

[toc] | [prev] | [next] | [standalone]


#30725

Fromslawek <fake@fakeemail.com>
Date2017-10-02 09:27 +0200
Message-ID<almarsoft.1898736615004774137@news.v.pl>
In reply to#30723
On Sun, 1 Oct 2017 17:09:52 +0200, Szyk Cech <szyk100@o2.pl> wrote:
> mnożony przez 57.2957795!?!

Radian w stopniach

[toc] | [prev] | [next] | [standalone]


#30760

Frombartekltg <bartekltg@gmail.com>
Date2017-10-08 22:03 -0700
Message-ID<b1a61ba5-94ba-4932-ae48-760c0b6be44b@googlegroups.com>
In reply to#30723
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-example.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_axes
 
> 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

[toc] | [prev] | [standalone]


Back to top | Article view | pl.comp.programming


csiph-web