Determinare il centro di una composizione di rotazioni

HowardRoark


Come al solito, scusate se posto l'immagine ma data la natura dell'esercizio non saprei come fare altrimenti. Ho la figura in foto e devo capire che tipo di rotazioni sono state fatte per passare da $F$ a $F'$ e da $F'$ a $F''$. Poi, devo trovare la rotazione che mi fa passare da $F$ a $F''$. Dalla figura intuisco che la prima rotazione ha centro $(0;0)$ e angolo di $90°$; sempre per intuito, la seconda ha centro $(-3;0)$ e angolo di $180°$.
Ora, in una composizione di rotazioni, se i centri $C_1$ della prima e $C_2$ della seconda rotazione sono diversi, il centro della rotazione composta $C$ sarà diverso sia da $C_1$ che da $C_2$. Avendo già informazioni sulle rotazioni precedenti, si può determinare però questo centro?
L'angolo di rotazione invece dovrebbe essere $gamma = alpha + beta$, dove $alpha$ è l'angolo della prima rotazione e $beta$ quello della seconda, in questo caso quindi $gamma = 270°$ o equivalentemente $gamma = -90°$.

Risposte
Quinzio
Questa e' una roto-traslazione:

$ ((x'),(y'),(1)) = ((cos \theta, -sin theta, x_0),(sin theta, cos theta, y_0),(0, 0, 1)) ((x),(y),(1))$

Il punto $(x,y)$ viene prima ruotato attorno all'origine di un angolo $\theta$ e poi traslato di $(x_0, y_0)$.

Le matrici di roto-traslazione si possono ovviamente comporre (moltiplicare).

Una rotazione attorno ad un centro arbitrario si ottiene in questo modo

$ ((x'),(y'),(1)) = ((cos \theta, -sin theta, x_C),(sin theta, cos theta, y_C),(0, 0, 1)) ((1, 0, -x_C),(0, 1, -y_C),(0, 0, 1)) ((x),(y),(1))$

In pratica quello che si fa e' traslare il centro di rotazione sull'origine (la prima matrice a destra), fare la rotazione, e traslare "indietro" il centro di rotazione dov'era all'inizio (la seconda matrice).

Adesso scriviamo la composizione di 2 rotazioni attorno a centri arbitrari e poi la mettiamo uguale ad una rotazione singola, attorno al centro che vogliamo trovare.


$
((cos \alpha, -sin alpha, x_{C1}),(sin alpha, cos alpha, y_{C1}),(0, 0, 1)) ((1, 0, -x_{C1}),(0, 1, -y_{C1}),(0, 0, 1))
((cos \beta, -sin beta, x_{C2}),(sin beta, cos beta, y_{C2}),(0, 0, 1)) ((1, 0, -x_{C2}),(0, 1, -y_{C2}),(0, 0, 1)) =

((cos (alpha+\beta), -sin (alpha+\beta), x_{C3}),(sin (alpha+\beta), cos (alpha+\beta), y_{C3}),(0, 0, 1)) ((1, 0, -x_{C3}),(0, 1, -y_{C3}),(0, 0, 1))
$

Sono noti $alpha$, $beta$, e i due centri $C_1$ e $C_2$.
Quello che vogliamo trovare e' $C_3$.

Esplicitando tutti i calcoli, ovvero facendo tutti i calcoli delle matrici, alla fine ci si ritrova con un sistema di 2 eq. e 2 incognite.
Per trovare il centro $C_3$ va risolto questo sistema.
I conti possono sembrare proibitivi, ma non credo che siano impossibili da fare anche a mano.

Nel tuo esempio, dopo aver fatto tutti i conti, viene che il centro di rotazione $C_3$ e' in $(-3, 3)$.

Quinzio
Invece se i dati di partenza sono un insieme di punti (ad esempio i vertici di una figura) e poi lo stesso insieme traslato e ruotato, quello che si puo' fare per trovare il centro di rotazione e' prendere due punti, ad es. $A$ e $B$ e i loro corrispettivi $A'$ e $B'$ e poi risolvere il sistema:

$ (y - (y_A + y_A')/2) = (x_A-x_A')/(y_A'-y_A) (x - (x_A + x_A')/2)$

$ (y - (y_B + y_B')/2) = (x_B-x_B')/(y_B'-y_B) (x - (x_B + x_B')/2)$

Quello che viene fatto qui e' prendere la perpendicolare che passa per il punto medio del segmento $A A'$ e metterla a sistema con quella del segmento $B B'$.
Le due perpendicolari si intersecano nel centro di rotazione.

Noodles1
"HowardRoark":

... si può determinare però questo centro?

Si tratta della costruzione sintetica sottostante:


Per esempio, $B$ è il centro della rotazione:

$B rarr B$

ottenuta componendo la prima rotazione di centro $C_1$ e angolo $\alpha$ in senso antiorario:

$B rarr A$

con la seconda rotazione di centro $C_2$ e angolo $\beta$ in senso antiorario:

$A rarr B$

HowardRoark
Vi ringrazio per le risposte, appena ho tempo le leggo e cerco di capirle, per quanto riesca!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.