Rotazione con centro qualsiasi

Messaggioda HowardRoark » 19/01/2024, 16:21

Stavo riflettendo su come ottenere le equazioni di una rotazione con centro qualsiasi. Si sa che una rotazione in senso antiorario è descritta da: $\{(x'=xcos(alpha) - ysen(alpha)), (y'=xsen(alpha) + ycos(alpha)) :}$. Ottenere le equazioni con centro di rotazione qualsiasi non credo sia fondamentale, siccome si possono sempre spostare gli assi cartesiani in modo che il centro coincida con l'origine, ma ogni tanto credo possa essere utile conoscerle.
Ho ragionato come segue: il centro di una rotazione è l'unico punto fisso, ovvero il suo trasformato coincide con se stesso; pertanto, posso ricavarmi le coordinate del centro così:
$ \{(x=xcos(alpha) - ysen(alpha)), (y=xsen(alpha)+ycos(alpha)) :} => C((y*sen(alpha))/(cos(alpha)-1), (x*sen(alpha))/(1-cos(alpha)))$, dove $C$ è ovviamente il centro della rotazione e $alpha != 2kpi$. Ora, come faccio a passare da queste alle equazioni di una generica rotazione, in senso antiorario, con centro in un punto qualsiasi?
$(Z –>)^(90º) – (E–N^2W)^(90º)t = 1$
Avatar utente
HowardRoark
Senior Member
Senior Member
 
Messaggio: 888 di 1695
Iscritto il: 13/07/2016, 09:02

Re: Rotazione con centro qualsiasi

Messaggioda sellacollesella » 19/01/2024, 16:54

Le equazioni che descrivono una rotazione di \(\alpha \in [0,2\pi)\) attorno al punto \((a,b)\) si ottengono:

  • traslando \(Oxy\) di vettore \(\overline{O'-O}=(a,b)\) ottenendo \(O'x'y'\);

  • ruotando \(O'x'y'\) di \(\alpha \in [0,2\pi)\) attorno ad \(O'\) ottenendo \(O''x''y''\);

  • traslando \(O''x''y''\) di vettore \(\overline{O'''-O''}=(-a,-b)\) ottenendo \(O'''x'''y'''\).
Così facendo otterrai tali equazioni una volta per tutte e poi basterà ricordarle a memoria. :-)
sellacollesella
Average Member
Average Member
 
Messaggio: 648 di 959
Iscritto il: 08/04/2022, 12:43

Re: Rotazione con centro qualsiasi

Messaggioda HowardRoark » 19/01/2024, 17:08

Non so bene come si faccia ad applicare una trasformazione geometrica ad un intero piano. Non sarebbe più semplice traslare solo un punto (il centro) da $(0,0)$ ad $(a,b)$?
$(Z –>)^(90º) – (E–N^2W)^(90º)t = 1$
Avatar utente
HowardRoark
Senior Member
Senior Member
 
Messaggio: 889 di 1695
Iscritto il: 13/07/2016, 09:02

Re: Rotazione con centro qualsiasi

Messaggioda sellacollesella » 19/01/2024, 17:19

Traslando \(Oxy\) di vettore \(\overline{O'-O}=(a,b)\) otteniamo \(O'x'y'\) relazionati da: \[
\begin{cases}
x' = x - a \\
y' = y - b \\
\end{cases}.
\] Ruotando \(O'x'y'\) di \(\alpha \in [0,2\pi)\) attorno ad \(O'\) otteniamo \(O''x''y''\) relazionati da: \[
\begin{cases}
x'' = x'\cos\alpha - y'\sin\alpha \\
y'' = x'\sin\alpha + y'\cos\alpha \\
\end{cases}.
\] Traslando \(O''x''y''\) di vettore \(\overline{O'''-O''}=(-a,-b)\) otteniamo \(O'''x'''y'''\) relazionati da: \[
\begin{cases}
x''' = x'' + a \\
y''' = y'' + b \\
\end{cases}.
\] Non rimane che procedere a ritroso per determinare la trasformazione geometrica piana desiderata: \[
\begin{cases}
x''' = (x-a)\cos\alpha - (y-b)\sin\alpha + a \\
y''' = (x-a)\sin\alpha + (y-b)\cos\alpha + b \\
\end{cases}.
\] Capito questo modo di procedere, lo potrai applicare con profitto componendo qualsiasi altra trasformazione geometrica elementare 2D e poi, se sarai interessato, anche 3D, dove le cose si fanno molto divertenti. :D
Ultima modifica di sellacollesella il 19/01/2024, 17:41, modificato 1 volta in totale.
sellacollesella
Average Member
Average Member
 
Messaggio: 649 di 959
Iscritto il: 08/04/2022, 12:43

Re: Rotazione con centro qualsiasi

Messaggioda HowardRoark » 19/01/2024, 17:41

sellacollesella ha scritto:Traslando \(Oxy\) di vettore \(\overline{O'-O}=(a,b)\) otteniamo \(O'x'y'\) relazionati da:
\begin{cases}
x' = x - a \\
y' = y - b \\
\end{cases}.

Con questa trasli il piano "in profondità" (penso sia la terza dimensione)

sellacollesella ha scritto: Ruotando \(O'x'y'\) di \(\alpha \in [0,2\pi)\) attorno ad \(O'\) otteniamo \(O''x''y''\) relazionati da:
\begin{cases}
x'' = x'\cos\alpha - y'\sin\alpha \\
y'' = x'\sin\alpha + y'\cos\alpha \\
\end{cases}.

Ruoti il piano da dove lo hai traslato in precedenza.

sellacollesella ha scritto: Traslando \(O''x''y''\) di vettore \(\overline{O'''-O''}=(-a,-b)\) otteniamo \(O'''x'''y'''\) relazionati da:
\begin{cases}
x''' = x'' + a \\
y''' = y'' + b \\
\end{cases}.

Riporti il piano "al suo posto" con il centro di rotazione spostato di $(a,b)$ da $(0,0)$. Lo scrivo per capire se la mia interpretazione sia giusta.

sellacollesella ha scritto:\] Non rimane che procedere a ritroso per determinare la trasformazione geometrica piana desiderata: \[
\begin{cases}
x''' = (x-a)\cos\alpha - (y-b)\sin\alpha + a \\
y''' = (x-a)\sin\alpha + (y-b)\cos\alpha + b \\
\end{cases}.
\]

Ovviamente se componessi la trasformazione così: $R°T°T$ (cioè prima applico le due traslazioni), è come se applicassi solo la rotazione $R$ con centro l'origine, giusto? Però mi verrebbe da pensare che se prima trasli il piano in profondità, poi lo fai ruotare attorno ad $O'$ e poi trasli il piano riportandolo dov'era prima, il centro di rotazione non sia cambiato (cioè sia sempre $(0,0)$), ma sicuramente sto sbagliando qualcosa io. Almeno questo è quello che penso a livello astratto, perché applicando le formule a ritroso mi ritrovo col tuo ragionamento.
$(Z –>)^(90º) – (E–N^2W)^(90º)t = 1$
Avatar utente
HowardRoark
Senior Member
Senior Member
 
Messaggio: 890 di 1695
Iscritto il: 13/07/2016, 09:02

Re: Rotazione con centro qualsiasi

Messaggioda HowardRoark » 19/01/2024, 17:49

Forse ho capito: la prima volta che trasli il piano, $O$ non coincide più con $O'$ ($O$ e $O'$ non sono collegati da una retta perpendicolare ai due piani $Oxy$ e $O'x'y'$, intendo questo per "coincidenza"), e quindi se fai ruotare il piano $O'x'y'$ fai ruotare anche $O$. Procedendo a ritroso porti il piano dov'era prima ma il punto $O$ non starà più dov'era prima ma sarà spostato di $(a,b)$.
$(Z –>)^(90º) – (E–N^2W)^(90º)t = 1$
Avatar utente
HowardRoark
Senior Member
Senior Member
 
Messaggio: 891 di 1695
Iscritto il: 13/07/2016, 09:02

Re: Rotazione con centro qualsiasi

Messaggioda sellacollesella » 19/01/2024, 18:09

Qui stiamo trattando trasformazioni geometriche piane, 2D insomma, quindi non c'è la terza dimensione.

In particolare, stiamo componendo delle trasformazioni geometriche elementari, il cui ordine non può essere generalmente scambiato, in quanto si otterrebbe un risultato differente, in genere non sono commutative.

Inoltre, i punti del piano considerato non si muovono, bensì a traslare e ruotare sono i sistemi di riferimento e per tal motivo mutano le coordinate dei punti del piano a seconda della trasformazione geometrica applicata.

Nello specifico, prima di tutto faccio in modo che il sistema di riferimento abbia origine coincidente col punto attorno a cui desidero ruotare, poi ruoto attorno all'origine del mio nuovo sistema di riferimento, quindi traslo di vettore opposto al primo in modo tale che il sistema di riferimento finale sia quello desiderato.
sellacollesella
Average Member
Average Member
 
Messaggio: 650 di 959
Iscritto il: 08/04/2022, 12:43

Re: Rotazione con centro qualsiasi

Messaggioda HowardRoark » 19/01/2024, 18:35

Quindi sono gli assi cartesiani che traslano (nella prima e ultima trasformazione), non è il piano che si sposta in profondità. Ok, ora è più chiaro. Quindi, se io voglio trasformare un punto $P$ con una rotazione di centro $(a,b)$, traslo prima gli assi in modo che il centro coincida con $(a,b)$, da qui faccio la rotazione e poi non traslo $P'$, trasformato di $P$ con la rotazione di cui sopra, del vettore opposto $(-a,-b)$, giusto? Traslo nuovamente solo gli assi cartesiani (riporto l'origine dov'era prima). Perché se traslassi anche $P'$ la trasformazione risultante sarebbe una rotazione con centro $(0,0)$, che non era quello che volevo ottenere.
$(Z –>)^(90º) – (E–N^2W)^(90º)t = 1$
Avatar utente
HowardRoark
Senior Member
Senior Member
 
Messaggio: 892 di 1695
Iscritto il: 13/07/2016, 09:02

Re: Rotazione con centro qualsiasi

Messaggioda HowardRoark » 19/01/2024, 18:44

sellacollesella ha scritto:Traslando \(Oxy\) di vettore \(\overline{O'-O}=(a,b)\) otteniamo \(O'x'y'\) relazionati da: \[
\begin{cases}
x' = x - a \\
y' = y - b \\
\end{cases}.


Comunque qui credo sia il contrario: le equazioni dovrebbero essere $\{(x'=x+a), (y'=y+b) :}$
sellacollesella ha scritto:Traslando \(O''x''y''\) di vettore \(\overline{O'''-O''}=(-a,-b)\) otteniamo \(O'''x'''y'''\) relazionati da: \[
\begin{cases}
x''' = x'' + a \\
y''' = y'' + b \\
\end{cases}.

e qui $\{(x'''=x''-a), (y'''=y''-b) :}$
$(Z –>)^(90º) – (E–N^2W)^(90º)t = 1$
Avatar utente
HowardRoark
Senior Member
Senior Member
 
Messaggio: 893 di 1695
Iscritto il: 13/07/2016, 09:02

Re: Rotazione con centro qualsiasi

Messaggioda sellacollesella » 19/01/2024, 18:48

No, sono corrette. Infatti, se il sistema di riferimento \(Oxy\) lo trasliamo di vettore \(\overline{O'-O}=(a,b)\) significa che il punto che prima aveva coordinate \((x,y)=(a,b)\) ora ha coordinate \((x',y')=(0,0)\). Disegna sempre.
sellacollesella
Average Member
Average Member
 
Messaggio: 651 di 959
Iscritto il: 08/04/2022, 12:43

Prossimo

Torna a Secondaria II grado

Chi c’è in linea

Visitano il forum: Google Adsense [Bot] e 1 ospite