Obrót obiektu wokół środka i nowe współrzędne x y
-
- 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
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...
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.
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.
-
- 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
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)
\(\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)
-
- 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
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] .
Powód: Całe wyrażenia matematyczne umieszczaj w tagach
-
- 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
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.
A układ osi, czyli to, że \(\displaystyle{ y}\) rośnie w dół ma znaczenie.
-
- 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
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.
-
- 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
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] .
Powód: Całe wyrażenia matematyczne umieszczaj w tagach
-
- 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
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ć...
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ć...
-
- 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
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?
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?
-
- 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
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?
-
- 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
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}\)
-- 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}\)
-
- 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
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...