szukanie zaawansowane
 [ Posty: 13 ] 
Autor Wiadomość
Mężczyzna Offline
PostNapisane: 31 gru 2012, o 16:27 
Użytkownik

Posty: 51
Lokalizacja: trójmiasto
Witam, szukam sposobu na znalezienie współrzędnych lewego dolnego rogu prostokąta obracanego wokół własnego środka. Znalazłem taki wzór: 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 x, \ y - współrzędne punktu przed obrotem.
x_{1}, \ y_{1} - współrzędne naszego punktu po obrocie.
x_{u}, \ y_{u} - współrzędne punktu wokół którego obracaliśmy.
Pod x podstawiam współrzędną x lewego dolnego rogu prostokąta przed obrotem, analogicznie y. Pod x_{u} podstawiam współrzędną x środka prostokąta, analogicznie y_{u}. Niestety właściwe liczby dostaję tylko po pierwszym obrocie o 90 stopni, przy kolejnych są złe...
Uniwersytet Wrocławski Instytut Matematyczny - rekrutacja 2018
Góra
Kobieta Offline
PostNapisane: 2 sty 2013, o 23:08 
Użytkownik

Posty: 16251
Sprawdź to:

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

Rozumiem, że obracamy punkt A dookoła punktu B

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

(y_3 tam jest po prawej wartość bezwzględna)
Góra
Mężczyzna Offline
PostNapisane: 3 sty 2013, o 21:06 
Użytkownik

Posty: 51
Lokalizacja: trójmiasto
Hej, dzięki za odpowiedź! Niestety otrzymane liczby wciąż są błędne... Dla punktu x_{1} = 80, \ y_{1} = 320, środka obrotu x_{2} = 100, \ y_{2} = 220 otrzymałem x_{3} = 200, \ y_{3} = 240, podczas gdy właściwe liczby to x_{2} = 0, \ y_{3} = 200. Czego nie napisałem wcześniej to to, że bawię się grafiką komputerową, gdzie 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 :) )...
Góra
Kobieta Offline
PostNapisane: 3 sty 2013, o 21:26 
Użytkownik

Posty: 16251
No to jeżeli obracałeś o kąt 90^o, to takie współrzędne wyjdą z tego pierwszego wzoru. :D

A układ osi, czyli to, że y rośnie w dół ma znaczenie.
Góra
Mężczyzna Offline
PostNapisane: 3 sty 2013, o 22:01 
Użytkownik

Posty: 51
Lokalizacja: trójmiasto
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.
Góra
Kobieta Offline
PostNapisane: 3 sty 2013, o 22:23 
Użytkownik

Posty: 16251
No to coś źle liczysz.
Ze woru wychodzi (120,120) i to są chyba prawidłowe wyniki.
Góra
Mężczyzna Offline
PostNapisane: 3 sty 2013, o 22:48 
Użytkownik

Posty: 51
Lokalizacja: trójmiasto
Najpierw dostaję x = 0, \ y = 200, potem x = 200 i y = 200 i to już jest błąd, ponieważ powinienem otrzymać 80 i 120 (odpowiednio dla kątów 90^{\circ} i 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ą 80 i 320, dla kolejnego 0, 200.
Góra
Kobieta Offline
PostNapisane: 3 sty 2013, o 22:52 
Użytkownik

Posty: 16251
Nie bardzo rozumiem. Możesz wrzucić jakiś rysunek?
Góra
Mężczyzna Offline
PostNapisane: 3 sty 2013, o 22:58 
Użytkownik

Posty: 51
Lokalizacja: trójmiasto
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ć...
Góra
Kobieta Offline
PostNapisane: 3 sty 2013, o 23:08 
Użytkownik

Posty: 16251
Nadal nie rozumiem.
Lewy dolny róg to (80, 320), a środek obrotu (jeżeli dobrze rozumiem, to środek prostokąta, czyli punkt przecięcia przekątnych) leży pod nim?
Góra
Mężczyzna Offline
PostNapisane: 3 sty 2013, o 23:12 
Użytkownik

Posty: 51
Lokalizacja: trójmiasto
Tak, środek obrotu to środek prostokąta. Leży w punkcie x = 100, \ y = 220. Skąd myśl, że leży pod nim?
Góra
Kobieta Offline
PostNapisane: 3 sty 2013, o 23:14 
Użytkownik

Posty: 16251
Bo narysowałam to w normalnym układzie współrzędnych.
:D

-- dzisiaj, o 22:28 --

No i z tego pierwszego wzoru wyszło mi (80,120)

x_3=(0 - 100)\cos(90^o) - (240 - 220)\sin(90^o) + 100=80
y_3=(0-100)\sin(90^o)+(240-220)\cos(90^o)+220=120
Góra
Mężczyzna Offline
PostNapisane: 3 sty 2013, o 23:35 
Użytkownik

Posty: 51
Lokalizacja: trójmiasto
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 90^{\circ}, 180^{\circ}, 270^{\circ}. I dopiero zobaczyłem to w swoim kodzie, jak mi to rozpisałaś. Przepraszam za zmarnowany czas...
Góra
Utwórz nowy temat Odpowiedz w temacie  [ Posty: 13 ] 


 Zobacz podobne tematy
 Tytuł tematu   Autor   Odpowiedzi 
 wyznacz wspolrzedne srodka i prominia okrregu  kasienka.g  2
 Współrzędne wierzchołków - wyznacz równanie okr. opisanego.  kornelka90  2
 Współrzędne wierzchołków kwadratu - zadanie 3  AZS06  1
 Współrzędne wierzchołka trapezu  oliwszczak  2
 obrot o kat - zadanie 2  lokiec16  1
 
Atom [Regulamin Forum] [Instrukcja LaTeX-a] [Poradnik] [F.A.Q.] [Reklama] [Kontakt]
Copyright (C) Karpatka.pl