Troels Thomsen wrote:
> Jeg får data fra en sensor der kan positioneres frit i rummet (inden for en
> kasse med sidelængden 32 tommer, tror jeg). Jeg får x,y,z position + en
> rotationsmatrix som beskrevet. Jeg skal måle og vise maksvinklerne for
> objektet.
Isoleret set er de tre vinkler vist ikke synderligt interessante,
fordi de konkrete gradtal afhænger af, hvordan du tilfældigvis har
valgt at lægge det fiktive koordinatsystem. Men hvis du bruger
vinklerne til at beregne fysiske egenskaber ved sensoren - f.eks.
farten af et fast punkt på sensoren eller sensorens øjeblikkelige
rotationsfrekvens - så har det heldigvis ingen betydning, hvordan
du vælger E, A og R; De skal bare opfylde ligningerne og give den
rigtige matrix, så bør de fysiske størrelser komme rigtigt ud. Du
bekymrer dig unødigt
[klip, matrix]
Der er vist et par forkerte fortegn i matricen, men pointen er god
nok:
> Så helt fundementalt er problemet altså at når E er 90 grader så kan man
> ikke sige hvor meget A og R er, kun summen.
Med andre ord er afbildningen fra (A, E, R) til rotationsmatricer
surjektiv (alle matricer "rammes") men ikke injektiv (fordi samme
matrix rammes af flere kombinationer af vinkler). Det svarer til
problemstillingen med at beskrive Jordens overflade med længde- og
breddegrader (l, b): Det virker fint, bortset fra de to kedelige
tilfælde b = +-90 grader (nord- og sydpolen), hvor l ikke er
entydigt defineret. Jeg mener, at det generelt er umuligt at vælge
en (pæn) parametrisering af en kugleoverflade, sådan at der er en
bijektiv sammenhæng mellem tal-par og punkter på kugleoverfladen.
Det ville ikke overraske mig, om det samme skulle gælde for
sammenhængen mellem tal-tripler og 3-d rotationer (måske nogen vil
uddybe?). Hvis ellers dette holder, er konsekvensen, at det er
umuligt at definere tre tal (vinkler), som ændrer sig kontinuert,
selvom sensoren drejes kontinuert.
> Der er en fysisk begrænsning på vandringen af objektet vi måler på. Den
> sørger vi for at få til at falde sammen med den akse, der ikke må give 90
> grader.
Det forstod jeg ikke, men hvis det betyder, at I kan undgå E=90
grader, er det jo fint.
> Jeg har en alternativ ide, men den tager noget tid at lave, tror jeg:
>
> Når sin(e) kommer "for tæt på" 1 (og de fire andre elementer nærmer sig nul)
> gemmer man
> r og a rotationerne. Derefter skifter man udregningsmetode og får dermed kun
> summen af r og a. Dem deler man i samme forhold som de gemte r og a
> rotationer. Når sin(e) igen har en fornuftig størrelse skifter man tilbage
> til den første udregningsmetode.
Jeg er ikke overbevist om, at det vil virke, fordi selv med en
jævn bevægelse vil du bevæge dig ind og ud af "det kritiske
område" ad to forskellige ruter. r og a (og sikkert også r/a) vil
springe diskontinuert.
--
Jonas Møller Larsen