Ș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.:)

Arată corect acest lucru? Nu pare că curba a fost rotită cu 45 de grade?

Poate vreau să folosesc formulele pentru crearea întregii elipse și apoi să scot ce parte din elipsă vreau să folosesc. Dar asta a fost doar deocamdată pentru a vedea dacă funcționează.

elipsă

Ai dreptate - pare ok. Știu de ce nu arăta exact corect - pentru că pe măsură ce valorile se schimbă, axele din grafic se schimbă. Este posibil să controlați automat grila graficului, deci este la fel în diferitele imagini?

. acea elipsă canonică este

(1) Aflați mai întâi unde se rotește originea, dacă rotiți cu un unghi θ în jurul punctului (0, -b). Poate cel mai simplu mod de a face acest lucru este să rotiți punctul (0, -b) despre origine cu θ, să aflați deplasarea și să realizați că originea va deplasa acea cantitate în opus direcție când este rotită cu θ aproximativ (0, -b)

(2) Apoi rotiți elipsa cu θ în jurul originii, la fel ca înainte.

(3) În cele din urmă, aplicați deplasarea pe care ați determinat-o la pasul (1) pe întreaga elipsă.

Apropo, dacă parametrizați elipsa inițială (nerotată) așa cum a fost sugerat anterior:

De asemenea, este posibil să doriți să setați scalele axelor la valori fixe, astfel încât să nu aveți de-a face cu problemele de scalare automată ori de câte ori mutați elipsa.

Sfatul final: îmi place să dau graficelor Excel un fundal alb. Ori de câte ori văd un fundal gri pe un grafic Excel, îmi spune „Sunt un noob total! Sau sunt prea leneș ca să mă deranjez să reglez valorile implicite ale Excel”.

Oricum, noroc.

Ai dreptate cu privire la fundalul alb din grafice. În mod normal, și eu fac asta (dar nu am făcut-o încă în aceasta.:-)) - Ei bine, acum am făcut-o.

Da, acum folosesc formulele cos/sin pentru elipsă - hei, ai scris din nou greșit? Nu ar trebui să folosești păcatul pentru tine ? Sau este cos atât pentru x, cât și pentru y?

Folosesc grade mai degrabă decât radieni, deoarece nu „înțeleg” radianii. Așa că am scris doar în Excel pentru cos (t): COS (t * PI ()/180), t dat în grade.

Pentru a face ceea ce am vrut, am folosit următoarea abordare:
Mai întâi am făcut un set de coloane x, y, creând doar elipsa și nimic altceva. Apoi am făcut o coloană numită grade și un nou set de coloane numite x 'și y' - și aici am calculat elipsa rotită. În coloanele x, y, aș putea găsi apoi (0, -b) și să compar cu valorile din coloanele x ', y'. Apoi aș putea crea o formulă pentru cât de mult x ', y' a fost mutat comparativ cu x, y, plus că știam unde doresc să fie localizat punctul "0, -b" - și am făcut asta într-un nou set de coloane x '', y ''.

Această abordare elipsă este un supliment la un alt program Excel. Acest program poate fi folosit pentru a studia diferite profiluri ale membrelor pentru arcuri (tir cu arcul), modul în care se vor îndoi etc. până la un arc complet tras. Suplimentul pentru elipsă a fost o idee pe care am luat-o, pentru a avea o modalitate de a calcula automat o curbă geometrică corectă matematic pentru arc-membru. Suplimentul pentru elipsă poate fi folosit pentru a face orice, de la membrele drepte peste membrele ușor curbate la membrele arcului recurbat curbat. A se vedea, de asemenea, atașat pentru a vă face o idee despre modul în care îl folosesc.

Dacă vedeți ceva care nu arată corect în modul în care rotesc și mișc elipsa etc., spuneți-mi.