[FLUG] Re: potevamo stupirvi con effetti speciali...

Mailing List del Fortunae LUG
=============================

On 2004.05.22 21:05, Carlo Minucci wrote:

concettualmente dovrei disegnare il quadrato e poi altri quadrati ruotati di un tot di pixel che decido io, il problema evidentemente evidente e` che il quadrato aumenta le dimensioni, come posso risolvere matematicamente la cosa, contando anche sul fatto che in matematica ho sempre avuto 4?

Le coordinate di un punto (x, y) ruotato attorno a (0, 0) di "tot" gradi in senso antiorario sono:


xr=x*cos(a)-y*sin(a)
yr=x*sin(a)+y*cos(a)

Al posto di "a" ci devi mettere l'angolo in radianti, cioè se lo vuoi ruotare di 3 gradi devi mettere 3*Pi/180.
Se lo vuoi ruotare in senso antiorario, metti l'angolo negativo


Oppure, per utilizzare il tuo $n, puoi mettere come angolo atan($n/ $ml); atan = arcotangente, non so in php come si chiami


se per esempio i 4 vertici sono: $x1= $ml; $y1=-$ml; $x2=-$ml; $y2=-$ml; $x3=-$ml; $y3= $ml; $x4= $ml; $y4= $ml;

ai vertici (x1, y1), (x2, y2), (x3, y3), (x4, y4) applichi la rotazione ottenendo i 4 nuovi vertici, poi disegni le 4 linee che li congiungono (da 1 a 2, da 2 a 3, da 3 a 4 e da 4 a 1)
Poi i nuovi vertici li fai riruotare e disegni un altro quadrato, e così via.


Siccome da te il tutto è riferito al punto ($mx, $my), quando vai a disegnare devi aggiungere $mx alle x e $my alle y.


Spero ti sia utile, Ciao, Andrea

--
/"\ Fanolug supports:
\ / X ASCII Ribbon Campaign
/ \ against HTML email & vCards



Other related posts: