Trasformazioni nel piano

Visto che abbiamo appena parlato del cos(α-β) in un nostro precedente articolo (http://www.versionestabile.it/blog/cos-alpha-beta-ve-lo-ricordate) perché non parlare delle trasfromazioni nel piano, per arrivare ad ottenere la formula della rotazione di un punto rispetto ad un punto generico Ω(x0,y0)? 🙂

Traslazione

traslazione_a_aprimo

Un punto A viene traslato in A’ di Δx e Δy

Quindi: A^\prime = \begin{bmatrix} x \\ y \end{bmatrix}

Mentre A’ sarà: A^\prime = \begin{bmatrix} x^\prime \\ y^\prime \end{bmatrix} = \begin{bmatrix} x + \Delta x \\ y + \Delta y \end{bmatrix}

In rappresentazione matriciale potremmo scrivere

 A^\prime = T + A = \begin{bmatrix} \Delta x \\ \Delta y \end{bmatrix} + \begin{bmatrix} x \\ y \end{bmatrix}

Rotazione rispetto all’origine

rotazione rispetto origine

Qui abbiamo: A = \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} x = r\cdot\cos\alpha \\ y = r\cdot\sin\alpha \end{bmatrix}

Il suo punto A’ ruotato di β in senso antiorario sarà: A^\prime = \begin{bmatrix} x^\prime \\ y^\prime \end{bmatrix} = \begin{bmatrix} x^\prime = r\cdot\cos(\alpha + \beta) \\ y^\prime = r\cdot\sin(\alpha + \beta) \end{bmatrix}

Ecco che ci vengono in aiuto le tanto dimostrate formule del coseno e del seno della somma di angoli! 😀

A^\prime = \begin{bmatrix} x^\prime \\ y^\prime \end{bmatrix} = \begin{bmatrix} x^\prime = r\cdot\cos(\alpha + \beta) \\ y^\prime = r\cdot\sin(\alpha + \beta) \end{bmatrix} = \begin{bmatrix} x^\prime = r\cdot\cos\alpha\cos\beta - r\cdot\sin\alpha\sin\beta \\ y^\prime = r\cdot\sin\alpha\cos\beta) + r\cdot\cos\alpha\sin\beta \end{bmatrix}

Poichè

\begin{cases} x = r\cdot\cos\alpha \\ y = r\cdot\sin\alpha \end{cases}

A’ diventa:

A^\prime = \begin{bmatrix} x^\prime \\ y^\prime \end{bmatrix} = \begin{bmatrix} x^\prime = r\cdot\cos(\alpha + \beta) \\ y^\prime = r\cdot\sin(\alpha + \beta) \end{bmatrix} = \begin{bmatrix} x^\prime = r\cdot\cos\alpha\cos\beta - r\cdot\sin\alpha\sin\beta \\ y^\prime = r\cdot\sin\alpha\cos\beta) + r\cdot\cos\alpha\sin\beta \end{bmatrix} = \begin{bmatrix} x^\prime = x\cos\beta - y\sin\beta \\ y^\prime = y\cos\beta) + x\sin\beta \end{bmatrix}

In rappresentazione matriciale diventa $latex

A^\prime = R \cdot A = \begin{bmatrix} \cos\beta & -\sin\beta \\ \sin\beta & \cos\beta \end{bmatrix} \cdot \begin{bmatrix} x \\ y \end{bmatrix}

Scala

scala

Nell’immagine precedente si è ipotizzato: \begin{cases} scala x = s_x = \frac{1}{2} \\ scala y = s_y = \frac{1}{2} \end{cases}

Qui abbiamo: A = \begin{bmatrix} x \\ y \end{bmatrix}

Il suo punto A’ scalato di sx e sy lo scriviamo come: A^\prime = \begin{bmatrix} x^\prime \\ y^\prime \end{bmatrix} = \begin{bmatrix} x^\prime = x\cdot s_x \\ y^\prime = y\cdot s_y \end{bmatrix}

In rappresentazione matriciale diventa $latex

A^\prime = S \cdot A = \begin{bmatrix} s_x \\ s_y \end{bmatrix} \cdot \begin{bmatrix} x \\ y \end{bmatrix}

Trasformazioni nel piano

Formule trigonometriche della somma e differenza di due angoli

Con l’arrivo dell’Estate, ls scuole chiudono e io penso sempre a quanto era bello poter contare in 3 mesi di vacanze! 😀

E quanto ritorna la nostalgia mi viene da scrivere un po’ di formule matematiche.

Visto che avevo iniziato con la trigonometria… continuiamo con la trigonometria!

Dalla formula del coseno della differenza di due angoli otteniamo facilmene le formule per

\cos(\alpha+\beta)
\sin(\alpha-\beta)
\sin(\alpha+\beta)

sen_alfa_sen_pi_meno_alfa

sin_alfa_sin_meno_alfa
Dalle immagine sopra vediamo che:

\cos(\alpha) = \sin(\frac{\pi}{2}-\alpha)
\sin(\alpha) = \cos(\frac{\pi}{2}-\alpha)
\sin(-\alpha) = -\sin\alpha
\cos(-\alpha) = \cos(\alpha)

\cos(\alpha+\beta) = \cos\alpha\cos\beta - \sin\alpha\sin\beta

infatti

\cos(\alpha+\beta) = \cos(\alpha-(-\beta)) = \cos\alpha\cos(-\beta) + \sin\alpha\sin(-\beta) = \cos\alpha\cos\beta - \sin\alpha\sin\beta


\sin(\alpha+\beta) = \sin\alpha\cos\beta + \cos\alpha\sin\beta

infatti

\sin(\alpha+\beta) = \cos(\frac{\pi}{2}-(\alpha+\beta)) = \cos((\frac{\pi}{2}-\alpha)-\beta)) = \cos(\frac{\pi}{2}-\alpha)\cos\beta + \sin(\frac{\pi}{2}-\alpha)\sin\beta = \sin\alpha\cos\beta + \cos\alpha\sin\beta


\sin(\alpha-\beta) = \sin\alpha\cos\beta - \cos\alpha\sin\beta

infatti

\sin(\alpha-\beta) = \cos(\frac{\pi}{2}-(\alpha-\beta)) = \cos((\frac{\pi}{2}-\alpha)+\beta)) = \cos(\frac{\pi}{2}-\alpha)\cos\beta - \sin(\frac{\pi}{2}-\alpha)\sin\beta) = \sin\alpha\cos\beta - \cos\alpha\sin\beta

Formule trigonometriche della somma e differenza di due angoli

Intel i7 core0 90% CPU

Oggi da un mio cliente mi è capitata una cosa molto strana.

Ad un certo punto un programma che si è sempre eseguito velocemente nel mi laptop, improvvisamente andava lentissimo.

Dopo una breve diagnosi ho scoperto che il core0 del mio processore i7 era al 90% del suo quando il PC era idle e quando eseguivo il programma in questione andava al 100%! O_O

cpu0_100

Ho disinstallato i programmi che aveva installato dopo l’ultima volta che mi ricordavo che il programma funzionava correttamente e fatto anche un punto di ripristino… ma nulla…

Alla fine sapete cos’era? Staccando il cavo HDMI per il secondo monitor immediatamente il core0 è tornato a funzionare correttamente e anche riattaccandolo successivamente il problema non si ripresenta. Il problema si presenta solamente se avvio il PC con il cavo HDMI già collegato.

cpu0_100_hdmi

Il monitor che avevo dal mio cliente era un Asus.

Con l’HP che ho a casa non ho mai avuto questo problema… molto strano… ma per il momento non ho altre info in merito…

Intel i7 core0 90% CPU

Visualizzare i file nascosti su Mac Osx

Da terminale lanciare

defaults write com.apple.finder AppleShowAllFiles YES

E riavviare la “Finder app” cliccando ‘Alt’+pulsante destro sull’icona nel dock e scegliere “Relaunch” (o Riavvia se avete la lingua Italiana).

relunch_finder

Per ripristinare il default:

defaults write com.apple.finder AppleShowAllFiles NO

e rilanciare nuovamente il finder.

Visualizzare i file nascosti su Mac Osx

Bootstrap 3 with less

Se volete lavorare con Bootstrap 3 modificando i file .less e non volete installare o non conoscete Bower e Grunt allora un buon setup di strumenti di sviluppo multipiattaforma a mio avviso è:

  • SourceTree by Atlasssian per il versioning con Git
  • Sublime Text 2 per la modifica dei file html, php e less
  • Prepros App per la compilazione di file .less, .css (minify) e .js (minify)

Qui i riferiementi, alla data di scrittura dell’articolo, al download dei tool:

SourceTree
Sublime Text 2
Prepros App

Questa la configurazione per la compilazione su Prepros App dei file .less a partire dalla struttura di directory dei file sorgenti di bootstrap.

prepros.css.config

Una cosa che ho trovato differente rispetto ad altri preprocessori è nella gestione dei file minificati .min.css differenti rispetto ai file da cui derivano .css (senza suffisso .min) e questa:

Volendo generare sia i file.css e i loro minificati separati file.min.css occorre non settare il flag (compressCSS) sui file.css ma all’interno del progetto sul file generato file.css è qui che va messo il flag di minificazione (compressCSS).

Un’altra cosa da sapere è che Sublime Text non ha di default la sintassi per i file .less.

Se volete quindi installarla seguite le istruzioni che trovate qui: danro/LESS-sublime

Buon lavoro!

Alla prossima!

Bootstrap 3 with less

cos (α – β) ve lo ricordate?

L’altro giorno sono andato (… cosa volete è obbligatorio per i neo-iscritti) al corso di deontologia professionale dell’ordine degli ingegneri di Ravenna. Poiché tra un discorso interessante e l’altro c’erano anche discorsi un po’ noiosi mi è venuta la voglia di fare qualche dimostrazione matematica dei vecchi studi… e visto che ultimamente l’ho usato spesso, proprio la dimostrazione di cos (α-β).

Poi metterò anche le pagine del mio blocco appunti così vedete che è vero che gli ingegneri sono un po’ matti 🙂

La dimostrazione di cos(α-β) è la base per la facile dimostrazione delle formule gemelle

cos (α-β)
sin (α-β)
sin (α+β)

cos (α-β) = ?

ab_aprimobprimo

 

Il segmento AB sulla circonferenza con c’entro nell’origine lo trasliamo di un angolo β in modo che il punto B vada a coincidere sull’asse x.

Deve ovviamente essere: \overline{AB}=\overline{A'B'}

pitagora

Per il famoso Pitagora

\overline{AB} = \sqrt{(x_A-x_B)^2+(y_A-y_B)^2}

Ed anche

\overline{A^\prime B^\prime} = \sqrt{(x_A^\prime-x_B^\prime)^2+(y_A^\prime-y_B^\prime)^2}

E imponiamo l’uguaglianza dei segmenti:

\overline{AB} = \overline{A^\prime B^\prime}

Poiché abbiamo tutte componenti positive possiamo elevare al quadrato e avere:

\overline{AB}^2 = \overline{A^\prime B^\prime}^2

Quindi

(x_A-x_B)^2+(y_A-y_B)^2 = (x_A^\prime-x_B^\prime)^2+(y_A^\prime-y_B^\prime)^2

Sempre dalla trigonometria risulta che:

A = \begin{cases} x_A=r \cdot cos\alpha \\ y_A = r \cdot sin\alpha \end{cases}

e

B = \begin{cases} x_A=r \cdot cos\beta \\ y_A = r \cdot sin\beta \end{cases}

e

A^\prime = \begin{cases} x_A=r \cdot cos(\alpha-\beta) \\ y_A = r \cdot sin(\alpha-\beta)) \end{cases}

e

B^\prime = \begin{cases} x_A=r \cdot cos(\beta-\beta) \\ y_A = r \cdot sin(\beta-\beta)) \end{cases}

Quindi

\overline{AB}^2 = (r\cdot cos\alpha - r\cdot cos\beta)^2+(r\cdot sin\alpha-r\cdot sin\beta)^2

e

\overline{A^\prime B^\prime}^2 = (r\cdot cos(\alpha-\beta) - r\cdot cos0)^2+(r\cdot sin(\alpha-\beta) - r\cdot sin0)^2 = (r\cdot cos(\alpha-\beta) - r)^2+(r\cdot sin(\alpha-\beta))^2

Imponiamo di avere un raggio pari ad 1: r=1

Abbiamo:

\overline{AB}^2 = \cos^2\alpha + \cos^2\beta - 2\cos\alpha\cos\beta + \sin^2\alpha + \sin^2\beta-2\sin\alpha\sin\beta

e

\overline{A^\prime B^\prime}^2 = \cos^2(\alpha-\beta) + 1 - 2\cos(\alpha-\beta) + \sin^2(\alpha-\beta)

Poiché equivale l’uguaglianza: \cos^2\theta + \sin^2\theta = 1

Abbiamo

\overline{AB}^2 = (\cos^2\alpha + \sin^2\alpha) + (\cos^2\beta + \sin^2\beta) - 2\cos\alpha\cos\beta -2\sin\alpha\sin\beta = 1 + 1 - 2\cos\alpha\cos\beta -2\sin\alpha\sin\beta = 2 - 2\cos\alpha\cos\beta -2\sin\alpha\sin\beta

e

\overline{A^\prime B^\prime}^2 = (\cos^2(\alpha-\beta) + \sin^2(\alpha-\beta))+ 1 - 2\cos(\alpha-\beta) = 1 + 1 - 2\cos(\alpha-\beta) = 2 - 2\cos(\alpha-\beta)

Quindi se \overline{AB}^2 = \overline{A^\prime B^\prime}^2

si ha:
2 - 2\cos\alpha\cos\beta - 2\sin\alpha\sin\beta = 2 - 2\cos(\alpha-\beta)

(2 - 2) - 2\cos\alpha\cos\beta - 2\sin\alpha\sin\beta = - \cos(\alpha-\beta)

2\cos(\alpha-\beta) = 2\cos\alpha\cos\beta + 2\sin\alpha\sin\beta

\cos(\alpha-\beta) = \cos\alpha\cos\beta + \sin\alpha\sin\beta

CVD.

Lo so… gli ingegneri tendono alla follia a volte… 😀

cos_alpha_men_beta_1

cos_alpha_men_beta_2

alpha_men_beta_3

cos (α – β) ve lo ricordate?