Re: Konstrukcija elipse
Objavljeno: 7.1.2010 12:38
Najprej bom izpostavil moje spremembe in upam, da sem postopal pravilno.
V enačbo za Q sem namesto x,y,z vstavil dobljeno središče x0, y0, z0 in prištel konstanto 1. Torej Q= A*x0^2 + ....+F*y0*z0 + 1
Za računanje polosi sem vzel absolutno vrednost pod korenom. V nasprotnem primeru lahko pride do korenjenja negativnega števila.
Sedaj pa še zadnja iteracija:
Sprememba je v izračunu M2. Pomešan je vrstni red členov. Delal sem po principu, da če vstavim notri vse tri lambde, potem moram dobiti enak rezultat, kot pred zadnjo iteracijo.
Rezultat tega je hiperbolični cilinder(za moj primer točk).
Na spletu sem našel seznam, kako prepoznati za katero obliko gre; link: http://mathworld.wolfram.com/QuadraticSurface.html .
Iz tabele je razvidno, da ima eliptični cilinder obe lastni vrednosti enakega predznaka. Če v zadnji iteraciji upoštevam še to, potem je rezultat že zelo blizu željenega. Ali pa sem imel samo precej sreče. Rezultat je namreč eliprični cilinder, ki pa ima napačne koordinate centra.
Ali je to posledica tega, kako dobim matriko MM iz katere iščem člene G,H,I? Tam namreč upoštevam "star" center. Nevem kako drugače naj dobim člene G,H,I.
Lp; Jan
V enačbo za Q sem namesto x,y,z vstavil dobljeno središče x0, y0, z0 in prištel konstanto 1. Torej Q= A*x0^2 + ....+F*y0*z0 + 1
Za računanje polosi sem vzel absolutno vrednost pod korenom. V nasprotnem primeru lahko pride do korenjenja negativnega števila.
Koda: Izberi vse
A->vhodna matrika
PM = PseudoInverse[A];
V = Table[1, {48}];
res = PM.V
M = ....
MI = PseudoInverse[M];
B={res[[7]]/2,res[[8]]/2,res[[9]]/2}
CENTER = -MI.B;
R1 = Sqrt[Abs[Q/lambda[[1]]]]
R2 = Sqrt[Abs[Q/lambda[[2]]]]
Koda: Izberi vse
lambda = Eigenvalues[M]
vector = Eigenvectors[M]
P={{vector [[1, 1]], vector [[1, 2]], vector [[1, 3]]}, {vector [[2, 1]], vector [[2, 2]], vector [[2,3]]},
{vector [[3, 1]], vector [[3, 2]], vector [[3, 3]]}}
PInv = Inverse[P];
Diag ={{lambda[[1]], 0, 0}, {0, lambda[[2]], 0}, {0,0,0}}
M2 = PInv.Diag.P;
MM = M2.CENTER*-2;
Rezultat tega je hiperbolični cilinder(za moj primer točk).
Na spletu sem našel seznam, kako prepoznati za katero obliko gre; link: http://mathworld.wolfram.com/QuadraticSurface.html .
Iz tabele je razvidno, da ima eliptični cilinder obe lastni vrednosti enakega predznaka. Če v zadnji iteraciji upoštevam še to, potem je rezultat že zelo blizu željenega. Ali pa sem imel samo precej sreče. Rezultat je namreč eliprični cilinder, ki pa ima napačne koordinate centra.
Ali je to posledica tega, kako dobim matriko MM iz katere iščem člene G,H,I? Tam namreč upoštevam "star" center. Nevem kako drugače naj dobim člene G,H,I.
Lp; Jan