Obrót obiektu wokół środka i nowe współrzędne x y

Obiekty i przekształcenia geometryczne, opisane za pomocą układu (nie zawsze prostokątnego) współrzędnych.
nienawiedzony
Użytkownik
Użytkownik
Posty: 51
Rejestracja: 21 sty 2010, o 17:21
Płeć: Mężczyzna
Lokalizacja: trójmiasto
Podziękował: 13 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: nienawiedzony »

Witam, szukam sposobu na znalezienie współrzędnych lewego dolnego rogu prostokąta obracanego wokół własnego środka. Znalazłem taki wzór: \(\displaystyle{ x_{1} = (x - x_{u}) * \cos(\alpha ) - (y - y_{u})* \sin(\alpha) + x_{u} \\ y_{1} = (x - x_{u}) * \sin(\alpha) + (y - y_{u})* \cos(\alpha) + y_{u}}\)
gdzie \(\displaystyle{ x, \ y}\) - współrzędne punktu przed obrotem.
\(\displaystyle{ x_{1}, \ y_{1}}\) - współrzędne naszego punktu po obrocie.
\(\displaystyle{ x_{u}, \ y_{u}}\) - współrzędne punktu wokół którego obracaliśmy.
Pod \(\displaystyle{ x}\) podstawiam współrzędną \(\displaystyle{ x}\) lewego dolnego rogu prostokąta przed obrotem, analogicznie \(\displaystyle{ y}\). Pod \(\displaystyle{ x_{u}}\) podstawiam współrzędną \(\displaystyle{ x}\) środka prostokąta, analogicznie \(\displaystyle{ y_{u}}\). Niestety właściwe liczby dostaję tylko po pierwszym obrocie o \(\displaystyle{ 90}\) stopni, przy kolejnych są złe...
Ostatnio zmieniony 3 sty 2013, o 22:13 przez Ponewor, łącznie zmieniany 2 razy.
Powód: Poprawa wiadomości. Alfa to \alpha, zaś indeksy to _{treść indeksu}. Punkt 2.7 instrukcji LaTeX-a. Funkcje matematyczne należy zapisywać: sinus - \sin, logarytm - \log, logarytm naturalny - \ln itd.
anna_
Użytkownik
Użytkownik
Posty: 16328
Rejestracja: 26 lis 2008, o 20:14
Płeć: Kobieta
Podziękował: 35 razy
Pomógł: 3248 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: anna_ »

Sprawdź to:

\(\displaystyle{ A=(x_1,y_1)}\) - współrzędne punktu obracanego
\(\displaystyle{ B=(x_2,y_2)=}\) - współrzędne środka obrotu
\(\displaystyle{ A'=(x_3,y_3)}\) - współrzędne punktu \(\displaystyle{ A}\) po obrocie po obrocie
\(\displaystyle{ \alpha}\) - kąt obrotu

Rozumiem, że obracamy punkt \(\displaystyle{ A}\) dookoła punktu \(\displaystyle{ B}\)

\(\displaystyle{ x_3=(x_1-x_2)\cos\alpha+(y_1-y_2)\sin\alpha+x_2}\)
\(\displaystyle{ y_3=\left|(x_1-x_2)\sin\alpha-(y_1-y_2)\cos\alpha-y_2 \right|}\)

(\(\displaystyle{ y_3}\) tam jest po prawej wartość bezwzględna)
nienawiedzony
Użytkownik
Użytkownik
Posty: 51
Rejestracja: 21 sty 2010, o 17:21
Płeć: Mężczyzna
Lokalizacja: trójmiasto
Podziękował: 13 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: nienawiedzony »

Hej, dzięki za odpowiedź! Niestety otrzymane liczby wciąż są błędne... Dla punktu \(\displaystyle{ x_{1} = 80, \ y_{1} = 320}\), środka obrotu \(\displaystyle{ x_{2} = 100, \ y_{2} = 220}\) otrzymałem \(\displaystyle{ x_{3} = 200, \ y_{3} = 240}\), podczas gdy właściwe liczby to \(\displaystyle{ x_{2} = 0, \ y_{3} = 200}\). Czego nie napisałem wcześniej to to, że bawię się grafiką komputerową, gdzie \(\displaystyle{ y}\) w dół rosną, nie maleją (ale czy to coś zmienia?), a wzór który w poście podałem pochodzi z opisu jak taką transformację wykonać (może autorowi działa, bo jest bystrzejszy, ale w moim wypadku niestety nie działa )...
Ostatnio zmieniony 3 sty 2013, o 21:26 przez Ponewor, łącznie zmieniany 1 raz.
Powód: Całe wyrażenia matematyczne umieszczaj w tagach [latex] [/latex].
anna_
Użytkownik
Użytkownik
Posty: 16328
Rejestracja: 26 lis 2008, o 20:14
Płeć: Kobieta
Podziękował: 35 razy
Pomógł: 3248 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: anna_ »

No to jeżeli obracałeś o kąt \(\displaystyle{ 90^o}\), to takie współrzędne wyjdą z tego pierwszego wzoru.

A układ osi, czyli to, że \(\displaystyle{ y}\) rośnie w dół ma znaczenie.
nienawiedzony
Użytkownik
Użytkownik
Posty: 51
Rejestracja: 21 sty 2010, o 17:21
Płeć: Mężczyzna
Lokalizacja: trójmiasto
Podziękował: 13 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: nienawiedzony »

I takie dane dostałem z pierwszego wzoru po obrocie o ten kąt. Jednak po obrocie o 180 współrzędne nie były prawidłowe.
anna_
Użytkownik
Użytkownik
Posty: 16328
Rejestracja: 26 lis 2008, o 20:14
Płeć: Kobieta
Podziękował: 35 razy
Pomógł: 3248 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: anna_ »

No to coś źle liczysz.
Ze woru wychodzi \(\displaystyle{ (120,120)}\) i to są chyba prawidłowe wyniki.
nienawiedzony
Użytkownik
Użytkownik
Posty: 51
Rejestracja: 21 sty 2010, o 17:21
Płeć: Mężczyzna
Lokalizacja: trójmiasto
Podziękował: 13 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: nienawiedzony »

Najpierw dostaję \(\displaystyle{ x = 0, \ y = 200}\), potem \(\displaystyle{ x = 200}\) i \(\displaystyle{ y = 200}\) i to już jest błąd, ponieważ powinienem otrzymać \(\displaystyle{ 80}\) i \(\displaystyle{ 120}\) (odpowiednio dla kątów \(\displaystyle{ 90^{\circ}}\) i \(\displaystyle{ 180^{\circ}}\)). Pamiętaj, że liczę cały czas współrzędne lewego dolnego rogu - więc cały czas pierwotne współrzędne się zmieniają - dla pierwszego obrotu wynoszą \(\displaystyle{ 80}\) i \(\displaystyle{ 320}\), dla kolejnego \(\displaystyle{ 0}\), \(\displaystyle{ 200}\).
Ostatnio zmieniony 3 sty 2013, o 22:19 przez Ponewor, łącznie zmieniany 1 raz.
Powód: Całe wyrażenia matematyczne umieszczaj w tagach [latex] [/latex].
anna_
Użytkownik
Użytkownik
Posty: 16328
Rejestracja: 26 lis 2008, o 20:14
Płeć: Kobieta
Podziękował: 35 razy
Pomógł: 3248 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: anna_ »

Nie bardzo rozumiem. Możesz wrzucić jakiś rysunek?
nienawiedzony
Użytkownik
Użytkownik
Posty: 51
Rejestracja: 21 sty 2010, o 17:21
Płeć: Mężczyzna
Lokalizacja: trójmiasto
Podziękował: 13 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: nienawiedzony »

Może lepiej wyjaśnię to innymi słowami.
1. Lewy dolny róg jest na 80, 320
2. Po obrocie staje się lewym górnym rogiem o współrzędnych 0, 200
3. Teraz odczytuję współrzędne "nowego" lewego dolnego rogu - wynoszą 0, 240
4. Podstawiam je do wzoru i otrzymuję 200, 200, co jest błędnym wynikiem z mojego punktu widzenia

O czym nie wspomniałem wcześniej to figura ma 200 wysokości, 40 szerokości.
Nie wiem... Mam wrażenie, że komplikuję prostą rzecz, ale po prostu skończyły mi się pomysły jak to zrobić...
anna_
Użytkownik
Użytkownik
Posty: 16328
Rejestracja: 26 lis 2008, o 20:14
Płeć: Kobieta
Podziękował: 35 razy
Pomógł: 3248 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: anna_ »

Nadal nie rozumiem.
Lewy dolny róg to \(\displaystyle{ (80, 320)}\), a środek obrotu (jeżeli dobrze rozumiem, to środek prostokąta, czyli punkt przecięcia przekątnych) leży pod nim?
nienawiedzony
Użytkownik
Użytkownik
Posty: 51
Rejestracja: 21 sty 2010, o 17:21
Płeć: Mężczyzna
Lokalizacja: trójmiasto
Podziękował: 13 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: nienawiedzony »

Tak, środek obrotu to środek prostokąta. Leży w punkcie \(\displaystyle{ x = 100, \ y = 220}\). Skąd myśl, że leży pod nim?
anna_
Użytkownik
Użytkownik
Posty: 16328
Rejestracja: 26 lis 2008, o 20:14
Płeć: Kobieta
Podziękował: 35 razy
Pomógł: 3248 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: anna_ »

Bo narysowałam to w normalnym układzie współrzędnych.


-- dzisiaj, o 22:28 --

No i z tego pierwszego wzoru wyszło mi \(\displaystyle{ (80,120)}\)

\(\displaystyle{ x_3=(0 - 100)\cos(90^o) - (240 - 220)\sin(90^o) + 100=80}\)
\(\displaystyle{ y_3=(0-100)\sin(90^o)+(240-220)\cos(90^o)+220=120}\)
nienawiedzony
Użytkownik
Użytkownik
Posty: 51
Rejestracja: 21 sty 2010, o 17:21
Płeć: Mężczyzna
Lokalizacja: trójmiasto
Podziękował: 13 razy

Obrót obiektu wokół środka i nowe współrzędne x y

Post autor: nienawiedzony »

O Boże, Chryste, Jezus Maria! Wiedziałem, że robię jakiś głupi błąd - podstawiałem do wzoru zwiększający się kąt, czyli \(\displaystyle{ 90^{\circ}, 180^{\circ}, 270^{\circ}}\). I dopiero zobaczyłem to w swoim kodzie, jak mi to rozpisałaś. Przepraszam za zmarnowany czas...
ODPOWIEDZ