Formule pentru elipsă sub un unghi, în Excel

Știu despre formula generală pentru o elipsă: x ^ 2/a ^ 2 + y ^ 2/b ^ 2 = 1, care poate fi utilizată pentru a izola y și a calcula punctele x, y în excel. E grozav, până acum bine. Aceasta va crea o elipsă, cu axa orizontală A (x) și axa verticală B (y). Dar dacă se dorește rotirea elipsei cu o anumită cantitate de grade, cum ar fi 20 de grade, 60 de grade - în Excel ? Există o modalitate simplă de a face acest lucru în Excel - sau de a aplica asta la formula generală pentru elipsă? Poate mă gândesc prea complicat, astfel încât să nu văd soluția.

Răspunsuri și răspunsuri

Luați rezultatul și valorile x și y și rulați-le printr-o matrice de rotație simplă. În 2D este destul de simplu.
http://en.wikipedia.org/wiki/Rotation_matrix

Ar putea fi o modalitate dificilă de a o obține în formă închisă în funcția de elipsă, dar, ca proces în doi pași, ar trebui să fie destul de ușor.

Aceasta nu este formula generală pentru o elipsă. O formulă generală ar descrie toate elipsele. Expresia dată este o formă canonică, nu o formă generală.

Pentru trasarea unor curbe este adesea mai ușor să folosiți o descriere parametrică a curbei. O descriere parametrică a acelei elipse canonice este

Această descriere parametrică este foarte ușor de implementat în Excel. Să se utilizeze coloana A pentru t, coloana B pentru x și coloana C pentru y. Faceți coloana A, valorile t, mergeți de la 0 la 2 * pi în pași uniformi. Coloanele B și C sunt expresiile simple b * cos (t) și a * sin (t), unde t este valoarea coloanei A pentru rândul în cauză.

Să presupunem că aceste valori x și y sunt pentru unele axe rotite în raport cu axele x și y. Etichetați coloanele B și C u și v în loc de x și y. Adăugați încă două coloane pentru a indica x și y. Valoarea x este u * cos (theta) -v * sin (theta) în timp ce y este u * sin (theta) + v * cos (theta), unde theta este o valoare definită (la fel ca și a și b).

Hmmm., Vă mulțumim pentru răspunsuri - foarte util. Am folosit această formulă pentru a calcula punctele (sau cel puțin 1/4 din elipsă) în excel: y = sqrt (b ^ 2 * (1-x ^ 2/a ^ 2), unde aleg valori pentru a și b. Are formula ta y = b cos (t), dă același rezultat (eventual dând întreaga elipsă)? Și t este unghiuri de la 0 la 360 de grade ? Această formulă pentru y este desigur mai ușoară, dar prima mea formula este acum programată în Excel și funcționează - așa că poate o păstrez.

Apoi, pentru a o roti, se pare că amândoi sunteți de acord că noua formulă pentru y ar fi:

y '= x sin (t) + y cos (t)

Acest lucru l-aș putea adăuga pur și simplu într-o coloană după coloanele mele actuale x, y, pentru a obține aceeași elipsă, doar rotit t grade - (cred). Este aceasta o înțelegere corectă a acestuia? Trebuie să încerc când am timp.:)