| ofs | hex dump | ascii |
|---|
| 0000 | 63 6f 6e 73 74 72 75 63 74 5f 77 32 2e 6d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | construct_w2.m.................. |
| 0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0060 | 00 00 00 00 30 31 30 30 36 34 34 00 30 30 32 31 33 36 31 00 30 30 30 30 33 33 31 00 30 30 30 30 | ....0100644.0021361.0000331.0000 |
| 0080 | 30 30 30 31 31 34 32 00 30 35 36 37 33 36 37 35 35 32 37 00 30 31 31 35 30 35 00 20 30 00 00 00 | 0001142.05673675527.011505..0... |
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0100 | 00 75 73 74 61 72 20 20 00 6a 73 68 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...jshi................... |
| 0120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0200 | 66 75 6e 63 74 69 6f 6e 20 57 20 3d 20 63 6f 6e 73 74 72 75 63 74 5f 77 32 28 63 65 6e 74 65 72 | function.W.=.construct_w2(center |
| 0220 | 73 2c 44 73 2c 69 6d 67 5f 63 65 6e 74 65 72 2c 69 6e 64 65 78 65 73 2c 66 72 61 6d 65 73 29 0a | s,Ds,img_center,indexes,frames). |
| 0240 | 25 0a 25 20 20 66 75 6e 63 74 69 6f 6e 20 57 20 3d 20 63 6f 6e 73 74 72 75 63 74 5f 77 32 28 63 | %.%..function.W.=.construct_w2(c |
| 0260 | 65 6e 74 65 72 73 2c 44 73 2c 69 6d 67 5f 63 65 6e 74 65 72 2c 69 6e 64 65 78 65 73 2c 66 72 61 | enters,Ds,img_center,indexes,fra |
| 0280 | 6d 65 73 29 0a 25 20 20 20 6f 70 74 69 6f 6e 61 6c 3a 20 66 72 61 6d 65 73 0a 25 20 20 0a 0a 0a | mes).%...optional:.frames.%..... |
| 02a0 | 70 6f 69 6e 74 73 20 3d 20 6c 65 6e 67 74 68 28 69 6e 64 65 78 65 73 29 3b 0a 69 66 20 28 6e 61 | points.=.length(indexes);.if.(na |
| 02c0 | 72 67 69 6e 20 3d 3d 20 34 29 2c 0a 20 66 72 61 6d 65 73 20 3d 20 30 2e 35 2a 73 69 7a 65 28 63 | rgin.==.4),..frames.=.0.5*size(c |
| 02e0 | 65 6e 74 65 72 73 2c 32 29 3b 0a 65 6e 64 0a 0a 57 20 3d 20 7a 65 72 6f 73 28 33 2a 66 72 61 6d | enters,2);.end..W.=.zeros(3*fram |
| 0300 | 65 73 2c 70 6f 69 6e 74 73 29 3b 0a 0a 63 65 6e 74 65 72 5f 78 20 3d 20 69 6d 67 5f 63 65 6e 74 | es,points);..center_x.=.img_cent |
| 0320 | 65 72 28 31 29 3b 0a 63 65 6e 74 65 72 5f 79 20 3d 20 69 6d 67 5f 63 65 6e 74 65 72 28 32 29 3b | er(1);.center_y.=.img_center(2); |
| 0340 | 0a 0a 66 6f 72 20 6a 3d 31 3a 66 72 61 6d 65 73 2c 0a 20 20 25 20 78 20 69 73 20 63 65 6e 74 65 | ..for.j=1:frames,...%.x.is.cente |
| 0360 | 72 73 28 3a 2c 32 2a 6a 2d 31 29 0a 20 20 25 20 79 20 69 73 20 63 65 6e 74 65 72 73 28 3a 2c 32 | rs(:,2*j-1)...%.y.is.centers(:,2 |
| 0380 | 2a 6a 29 0a 20 20 25 20 64 20 69 73 20 44 73 28 3a 2c 32 2a 6a 2d 31 29 0a 20 20 57 28 6a 2c 3a | *j)...%.d.is.Ds(:,2*j-1)...W(j,: |
| 03a0 | 29 20 3d 20 28 63 65 6e 74 65 72 73 28 69 6e 64 65 78 65 73 2c 32 2a 6a 2d 31 29 20 2d 63 65 6e | ).=.(centers(indexes,2*j-1).-cen |
| 03c0 | 74 65 72 5f 78 29 27 2e 2f 44 73 28 69 6e 64 65 78 65 73 2c 32 2a 6a 2d 31 29 27 3b 0a 20 20 57 | ter_x)'./Ds(indexes,2*j-1)';...W |
| 03e0 | 28 6a 2b 66 72 61 6d 65 73 2c 3a 29 20 3d 20 28 63 65 6e 74 65 72 73 28 69 6e 64 65 78 65 73 2c | (j+frames,:).=.(centers(indexes, |
| 0400 | 32 2a 6a 29 20 2d 63 65 6e 74 65 72 5f 79 29 27 2e 2f 44 73 28 69 6e 64 65 78 65 73 2c 32 2a 6a | 2*j).-center_y)'./Ds(indexes,2*j |
| 0420 | 2d 31 29 27 3b 20 0a 20 20 57 28 6a 2b 32 2a 66 72 61 6d 65 73 2c 3a 29 20 3d 20 6f 6e 65 73 28 | -1)';....W(j+2*frames,:).=.ones( |
| 0440 | 31 2c 70 6f 69 6e 74 73 29 2e 2f 44 73 28 69 6e 64 65 78 65 73 2c 32 2a 6a 2d 31 29 27 3b 0a 65 | 1,points)./Ds(indexes,2*j-1)';.e |
| 0460 | 6e 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | nd.............................. |
| 0480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 04a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 04c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 04e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0600 | 63 6f 6e 73 74 72 75 63 74 5f 77 2e 6d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | construct_w.m................... |
| 0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0660 | 00 00 00 00 30 31 30 30 36 34 34 00 30 30 32 31 33 36 31 00 30 30 30 30 33 33 31 00 30 30 30 30 | ....0100644.0021361.0000331.0000 |
| 0680 | 30 30 30 31 31 34 31 00 30 35 36 37 34 32 31 33 37 36 34 00 30 31 31 34 31 32 00 20 30 00 00 00 | 0001141.05674213764.011412..0... |
| 06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0700 | 00 75 73 74 61 72 20 20 00 6a 73 68 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...jshi................... |
| 0720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0800 | 66 75 6e 63 74 69 6f 6e 20 57 20 3d 20 63 6f 6e 73 74 72 75 63 74 5f 77 28 63 65 6e 74 65 72 73 | function.W.=.construct_w(centers |
| 0820 | 2c 44 73 2c 69 6d 67 5f 63 65 6e 74 65 72 2c 69 6e 64 65 78 65 73 2c 66 72 61 6d 65 73 29 0a 25 | ,Ds,img_center,indexes,frames).% |
| 0840 | 0a 25 20 20 66 75 6e 63 74 69 6f 6e 20 57 20 3d 20 63 6f 6e 73 74 72 75 63 74 5f 77 28 63 65 6e | .%..function.W.=.construct_w(cen |
| 0860 | 74 65 72 73 2c 44 73 2c 69 6d 67 5f 63 65 6e 74 65 72 2c 69 6e 64 65 78 65 73 2c 66 72 61 6d 65 | ters,Ds,img_center,indexes,frame |
| 0880 | 73 29 0a 25 20 20 20 6f 70 74 69 6f 6e 61 6c 3a 20 66 72 61 6d 65 73 0a 25 20 20 0a 0a 0a 70 6f | s).%...optional:.frames.%.....po |
| 08a0 | 69 6e 74 73 20 3d 20 6c 65 6e 67 74 68 28 69 6e 64 65 78 65 73 29 3b 0a 69 66 20 28 6e 61 72 67 | ints.=.length(indexes);.if.(narg |
| 08c0 | 69 6e 20 3d 3d 20 34 29 2c 0a 20 66 72 61 6d 65 73 20 3d 20 30 2e 35 2a 73 69 7a 65 28 63 65 6e | in.==.4),..frames.=.0.5*size(cen |
| 08e0 | 74 65 72 73 2c 32 29 3b 0a 65 6e 64 0a 0a 57 20 3d 20 7a 65 72 6f 73 28 32 2a 66 72 61 6d 65 73 | ters,2);.end..W.=.zeros(2*frames |
| 0900 | 2c 70 6f 69 6e 74 73 29 3b 0a 0a 63 65 6e 74 65 72 5f 78 20 3d 20 69 6d 67 5f 63 65 6e 74 65 72 | ,points);..center_x.=.img_center |
| 0920 | 28 31 29 3b 0a 63 65 6e 74 65 72 5f 79 20 3d 20 69 6d 67 5f 63 65 6e 74 65 72 28 32 29 3b 0a 0a | (1);.center_y.=.img_center(2);.. |
| 0940 | 66 6f 72 20 6a 3d 31 3a 66 72 61 6d 65 73 2c 0a 20 20 25 20 78 20 69 73 20 63 65 6e 74 65 72 73 | for.j=1:frames,...%.x.is.centers |
| 0960 | 28 3a 2c 32 2a 6a 2d 31 29 0a 20 20 25 20 79 20 69 73 20 63 65 6e 74 65 72 73 28 3a 2c 32 2a 6a | (:,2*j-1)...%.y.is.centers(:,2*j |
| 0980 | 29 0a 20 20 25 20 64 20 69 73 20 44 73 28 3a 2c 32 2a 6a 2d 31 29 0a 20 20 57 28 6a 2c 3a 29 20 | )...%.d.is.Ds(:,2*j-1)...W(j,:). |
| 09a0 | 3d 20 28 63 65 6e 74 65 72 73 28 69 6e 64 65 78 65 73 2c 32 2a 6a 2d 31 29 20 2d 63 65 6e 74 65 | =.(centers(indexes,2*j-1).-cente |
| 09c0 | 72 5f 78 29 27 2e 2f 44 73 28 69 6e 64 65 78 65 73 2c 32 2a 6a 2d 31 29 27 3b 0a 20 20 57 28 6a | r_x)'./Ds(indexes,2*j-1)';...W(j |
| 09e0 | 2b 66 72 61 6d 65 73 2c 3a 29 20 3d 20 28 63 65 6e 74 65 72 73 28 69 6e 64 65 78 65 73 2c 32 2a | +frames,:).=.(centers(indexes,2* |
| 0a00 | 6a 29 20 2d 63 65 6e 74 65 72 5f 79 29 27 2e 2f 44 73 28 69 6e 64 65 78 65 73 2c 32 2a 6a 2d 31 | j).-center_y)'./Ds(indexes,2*j-1 |
| 0a20 | 29 27 3b 20 0a 20 25 20 57 28 6a 2b 32 2a 66 72 61 6d 65 73 2c 3a 29 20 3d 20 6f 6e 65 73 28 31 | )';...%.W(j+2*frames,:).=.ones(1 |
| 0a40 | 2c 70 6f 69 6e 74 73 29 2e 2f 44 73 28 69 6e 64 65 78 65 73 2c 32 2a 6a 2d 31 29 27 3b 0a 65 6e | ,points)./Ds(indexes,2*j-1)';.en |
| 0a60 | 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | d............................... |
| 0a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0c00 | 66 61 63 74 6f 72 2e 6d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | factor.m........................ |
| 0c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0c60 | 00 00 00 00 30 31 30 30 36 34 34 00 30 30 32 31 33 36 31 00 30 30 30 30 33 33 31 00 30 30 30 30 | ....0100644.0021361.0000331.0000 |
| 0c80 | 30 30 30 31 36 31 36 00 30 35 36 35 32 36 36 35 32 37 36 00 30 31 30 33 33 32 00 20 30 00 00 00 | 0001616.05652665276.010332..0... |
| 0ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d00 | 00 75 73 74 61 72 20 20 00 6a 73 68 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...jshi................... |
| 0d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0e00 | 25 0a 25 20 55 73 61 67 65 3a 0a 25 0a 25 20 20 20 20 5b 52 2c 74 2c 53 5d 20 3d 20 66 61 63 74 | %.%.Usage:.%.%....[R,t,S].=.fact |
| 0e20 | 6f 72 28 57 29 0a 25 0a 25 20 46 75 6e 63 74 69 6f 6e 20 74 6f 20 66 61 63 74 6f 72 20 61 20 6d | or(W).%.%.Function.to.factor.a.m |
| 0e40 | 61 74 72 69 78 20 6f 66 20 69 6e 70 75 74 20 64 61 74 61 20 28 57 29 20 69 6e 74 6f 20 74 68 65 | atrix.of.input.data.(W).into.the |
| 0e60 | 20 63 61 6d 65 72 61 0a 25 20 72 6f 74 61 74 69 6f 6e 20 6d 61 74 72 69 78 20 28 52 29 2c 20 74 | .camera.%.rotation.matrix.(R),.t |
| 0e80 | 72 61 6e 73 6c 61 74 69 6f 6e 20 28 74 29 2c 20 61 6e 64 20 74 68 65 20 73 68 61 70 65 20 6d 61 | ranslation.(t),.and.the.shape.ma |
| 0ea0 | 74 72 69 78 20 28 53 29 2e 0a 25 20 54 68 72 65 65 2d 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 76 65 | trix.(S)..%.Three-dimensional.ve |
| 0ec0 | 72 73 69 6f 6e 2e 20 46 61 69 6c 75 72 65 20 6f 66 20 6e 6f 72 6d 61 6c 69 7a 61 74 69 6f 6e 20 | rsion..Failure.of.normalization. |
| 0ee0 | 72 65 73 75 6c 74 73 20 69 6e 0a 25 20 65 6d 70 74 79 20 52 20 61 6e 64 20 53 2e 0a 0a 66 75 6e | results.in.%.empty.R.and.S...fun |
| 0f00 | 63 74 69 6f 6e 20 5b 52 2c 74 2c 53 5d 20 3d 20 66 61 63 74 6f 72 28 57 29 0a 0a 70 74 73 20 3d | ction.[R,t,S].=.factor(W)..pts.= |
| 0f20 | 20 73 69 7a 65 28 57 2c 32 29 3b 0a 74 20 3d 20 57 2a 6f 6e 65 73 28 70 74 73 2c 31 29 2f 70 74 | .size(W,2);.t.=.W*ones(pts,1)/pt |
| 0f40 | 73 3b 0a 57 20 3d 20 57 20 2d 20 74 2a 6f 6e 65 73 28 31 2c 70 74 73 29 3b 0a 0a 25 20 55 73 65 | s;.W.=.W.-.t*ones(1,pts);..%.Use |
| 0f60 | 20 53 56 44 20 74 6f 20 66 61 63 74 6f 72 20 57 2e 20 0a 20 20 20 5b 61 2c 62 2c 63 5d 20 3d 20 | .SVD.to.factor.W......[a,b,c].=. |
| 0f80 | 73 76 64 28 57 2c 30 29 3b 0a 20 0a 73 6d 61 6c 6c 62 20 3d 20 62 28 31 3a 33 2c 31 3a 33 29 3b | svd(W,0);...smallb.=.b(1:3,1:3); |
| 0fa0 | 09 25 20 53 69 6e 63 65 20 57 20 69 73 20 72 61 6e 6b 20 33 2c 20 62 20 68 61 73 20 6f 6e 6c 79 | .%.Since.W.is.rank.3,.b.has.only |
| 0fc0 | 20 74 68 72 65 65 20 6d 65 61 6e 69 6e 67 66 75 6c 20 76 61 6c 75 65 73 0a 73 71 72 74 62 20 3d | .three.meaningful.values.sqrtb.= |
| 0fe0 | 20 73 71 72 74 28 73 6d 61 6c 6c 62 29 3b 0a 52 68 61 74 20 3d 20 61 28 3a 2c 31 3a 33 29 20 2a | .sqrt(smallb);.Rhat.=.a(:,1:3).* |
| 1000 | 20 73 71 72 74 62 3b 0a 53 68 61 74 20 3d 20 73 71 72 74 62 20 2a 20 63 28 3a 2c 31 3a 33 29 27 | .sqrtb;.Shat.=.sqrtb.*.c(:,1:3)' |
| 1020 | 3b 0a 0a 47 20 3d 20 66 69 6e 64 47 28 52 68 61 74 29 3b 0a 0a 69 66 20 73 69 7a 65 28 47 2c 31 | ;..G.=.findG(Rhat);..if.size(G,1 |
| 1040 | 29 20 3d 3d 20 30 2c 0a 52 20 3d 20 5b 5d 3b 0a 53 20 3d 20 5b 5d 3b 0a 65 6c 73 65 0a 20 20 52 | ).==.0,.R.=.[];.S.=.[];.else...R |
| 1060 | 20 3d 20 52 68 61 74 2a 47 3b 0a 20 20 53 20 3d 20 69 6e 76 28 47 29 2a 53 68 61 74 3b 0a 0a 20 | .=.Rhat*G;...S.=.inv(G)*Shat;... |
| 1080 | 20 25 20 72 6f 74 61 74 69 6f 6e 20 6d 61 74 72 69 78 20 74 68 61 74 20 61 6c 69 67 6e 73 20 74 | .%.rotation.matrix.that.aligns.t |
| 10a0 | 68 65 20 72 65 66 65 72 65 6e 63 65 20 66 72 61 6d 65 20 77 69 74 68 20 74 68 65 20 66 69 72 73 | he.reference.frame.with.the.firs |
| 10c0 | 74 20 63 61 6d 65 72 61 0a 20 20 46 20 3d 20 73 69 7a 65 28 52 2c 31 29 2f 32 3b 0a 20 20 52 31 | t.camera...F.=.size(R,1)/2;...R1 |
| 10e0 | 20 3d 20 52 28 31 2c 3a 29 3b 0a 20 20 52 31 20 3d 20 52 31 2f 6e 6f 72 6d 28 52 31 29 3b 0a 20 | .=.R(1,:);...R1.=.R1/norm(R1);.. |
| 1100 | 20 52 32 20 3d 20 52 28 46 2b 31 2c 3a 29 3b 0a 20 20 52 32 20 3d 20 52 32 2f 6e 6f 72 6d 28 52 | .R2.=.R(F+1,:);...R2.=.R2/norm(R |
| 1120 | 32 29 3b 0a 20 20 52 33 20 3d 20 63 72 6f 73 73 28 52 31 2c 52 32 29 3b 0a 20 20 52 33 20 3d 20 | 2);...R3.=.cross(R1,R2);...R3.=. |
| 1140 | 52 33 2f 6e 6f 72 6d 28 52 33 29 3b 0a 20 20 50 20 3d 20 5b 52 31 3b 20 52 32 3b 20 52 33 5d 3b | R3/norm(R3);...P.=.[R1;.R2;.R3]; |
| 1160 | 0a 20 20 50 20 3d 20 50 27 3b 0a 0a 20 20 52 20 3d 20 52 2a 50 3b 0a 20 20 53 20 3d 20 69 6e 76 | ...P.=.P';....R.=.R*P;...S.=.inv |
| 1180 | 28 50 29 2a 53 3b 0a 65 6e 64 0a 0a 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | (P)*S;.end...................... |
| 11a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 11e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1200 | 66 61 63 74 6f 72 5f 74 65 73 74 32 2e 6d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | factor_test2.m.................. |
| 1220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1260 | 00 00 00 00 30 31 30 30 36 34 34 00 30 30 32 31 33 36 31 00 30 30 30 30 33 33 31 00 30 30 30 30 | ....0100644.0021361.0000331.0000 |
| 1280 | 30 30 30 31 36 36 30 00 30 35 36 35 37 32 37 37 36 32 31 00 30 31 31 34 35 30 00 20 30 00 00 00 | 0001660.05657277621.011450..0... |
| 12a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 12e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1300 | 00 75 73 74 61 72 20 20 00 6a 73 68 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...jshi................... |
| 1320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 13a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 13c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 13e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1400 | 25 0a 25 20 55 73 61 67 65 3a 0a 25 0a 25 20 20 20 20 5b 52 2c 74 2c 53 5d 20 3d 20 66 61 63 74 | %.%.Usage:.%.%....[R,t,S].=.fact |
| 1420 | 6f 72 28 57 29 0a 25 0a 25 20 46 75 6e 63 74 69 6f 6e 20 74 6f 20 66 61 63 74 6f 72 20 61 20 6d | or(W).%.%.Function.to.factor.a.m |
| 1440 | 61 74 72 69 78 20 6f 66 20 69 6e 70 75 74 20 64 61 74 61 20 28 57 29 20 69 6e 74 6f 20 74 68 65 | atrix.of.input.data.(W).into.the |
| 1460 | 20 63 61 6d 65 72 61 0a 25 20 72 6f 74 61 74 69 6f 6e 20 6d 61 74 72 69 78 20 28 52 29 2c 20 74 | .camera.%.rotation.matrix.(R),.t |
| 1480 | 72 61 6e 73 6c 61 74 69 6f 6e 20 28 74 29 2c 20 61 6e 64 20 74 68 65 20 73 68 61 70 65 20 6d 61 | ranslation.(t),.and.the.shape.ma |
| 14a0 | 74 72 69 78 20 28 53 29 2e 0a 25 20 54 68 72 65 65 2d 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 76 65 | trix.(S)..%.Three-dimensional.ve |
| 14c0 | 72 73 69 6f 6e 2e 20 46 61 69 6c 75 72 65 20 6f 66 20 6e 6f 72 6d 61 6c 69 7a 61 74 69 6f 6e 20 | rsion..Failure.of.normalization. |
| 14e0 | 72 65 73 75 6c 74 73 20 69 6e 0a 25 20 65 6d 70 74 79 20 52 20 61 6e 64 20 53 2e 0a 0a 66 75 6e | results.in.%.empty.R.and.S...fun |
| 1500 | 63 74 69 6f 6e 20 5b 52 2c 74 2c 53 2c 43 2c 62 5d 20 3d 20 66 61 63 74 6f 72 28 57 29 0a 0a 70 | ction.[R,t,S,C,b].=.factor(W)..p |
| 1520 | 74 73 20 3d 20 73 69 7a 65 28 57 2c 32 29 3b 0a 74 20 3d 20 57 2a 6f 6e 65 73 28 70 74 73 2c 31 | ts.=.size(W,2);.t.=.W*ones(pts,1 |
| 1540 | 29 2f 70 74 73 3b 0a 57 20 3d 20 57 20 2d 20 74 2a 6f 6e 65 73 28 31 2c 70 74 73 29 3b 0a 0a 25 | )/pts;.W.=.W.-.t*ones(1,pts);..% |
| 1560 | 20 55 73 65 20 53 56 44 20 74 6f 20 66 61 63 74 6f 72 20 57 2e 20 0a 20 20 20 5b 61 2c 62 2c 63 | .Use.SVD.to.factor.W......[a,b,c |
| 1580 | 5d 20 3d 20 73 76 64 28 57 2c 30 29 3b 0a 0a 66 69 67 75 72 65 28 33 29 3b 70 6c 6f 74 28 64 69 | ].=.svd(W,0);..figure(3);plot(di |
| 15a0 | 61 67 28 62 29 29 0a 20 0a 73 6d 61 6c 6c 62 20 3d 20 62 28 31 3a 33 2c 31 3a 33 29 3b 09 25 20 | ag(b))...smallb.=.b(1:3,1:3);.%. |
| 15c0 | 53 69 6e 63 65 20 57 20 69 73 20 72 61 6e 6b 20 33 2c 20 62 20 68 61 73 20 6f 6e 6c 79 20 74 68 | Since.W.is.rank.3,.b.has.only.th |
| 15e0 | 72 65 65 20 6d 65 61 6e 69 6e 67 66 75 6c 20 76 61 6c 75 65 73 0a 73 71 72 74 62 20 3d 20 73 71 | ree.meaningful.values.sqrtb.=.sq |
| 1600 | 72 74 28 73 6d 61 6c 6c 62 29 3b 0a 52 68 61 74 20 3d 20 61 28 3a 2c 31 3a 33 29 20 2a 20 73 71 | rt(smallb);.Rhat.=.a(:,1:3).*.sq |
| 1620 | 72 74 62 3b 0a 53 68 61 74 20 3d 20 73 71 72 74 62 20 2a 20 63 28 3a 2c 31 3a 33 29 27 3b 0a 0a | rtb;.Shat.=.sqrtb.*.c(:,1:3)';.. |
| 1640 | 5b 47 2c 43 5d 20 3d 20 66 69 6e 64 67 32 28 52 68 61 74 29 3b 0a 0a 69 66 20 73 69 7a 65 28 47 | [G,C].=.findg2(Rhat);..if.size(G |
| 1660 | 2c 31 29 20 3d 3d 20 30 2c 0a 52 20 3d 20 5b 5d 3b 0a 53 20 3d 20 5b 5d 3b 0a 65 6c 73 65 0a 20 | ,1).==.0,.R.=.[];.S.=.[];.else.. |
| 1680 | 20 52 20 3d 20 52 68 61 74 2a 47 3b 0a 20 20 53 20 3d 20 69 6e 76 28 47 29 2a 53 68 61 74 3b 0a | .R.=.Rhat*G;...S.=.inv(G)*Shat;. |
| 16a0 | 0a 20 20 25 20 72 6f 74 61 74 69 6f 6e 20 6d 61 74 72 69 78 20 74 68 61 74 20 61 6c 69 67 6e 73 | ...%.rotation.matrix.that.aligns |
| 16c0 | 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 66 72 61 6d 65 20 77 69 74 68 20 74 68 65 20 66 69 | .the.reference.frame.with.the.fi |
| 16e0 | 72 73 74 20 63 61 6d 65 72 61 0a 20 20 46 20 3d 20 73 69 7a 65 28 52 2c 31 29 2f 32 3b 0a 20 20 | rst.camera...F.=.size(R,1)/2;... |
| 1700 | 52 31 20 3d 20 52 28 31 2c 3a 29 3b 0a 20 20 52 31 20 3d 20 52 31 2f 6e 6f 72 6d 28 52 31 29 3b | R1.=.R(1,:);...R1.=.R1/norm(R1); |
| 1720 | 0a 20 20 52 32 20 3d 20 52 28 46 2b 31 2c 3a 29 3b 0a 20 20 52 32 20 3d 20 52 32 2f 6e 6f 72 6d | ...R2.=.R(F+1,:);...R2.=.R2/norm |
| 1740 | 28 52 32 29 3b 0a 20 20 52 33 20 3d 20 63 72 6f 73 73 28 52 31 2c 52 32 29 3b 0a 20 20 52 33 20 | (R2);...R3.=.cross(R1,R2);...R3. |
| 1760 | 3d 20 52 33 2f 6e 6f 72 6d 28 52 33 29 3b 0a 20 20 50 20 3d 20 5b 52 31 3b 20 52 32 3b 20 52 33 | =.R3/norm(R3);...P.=.[R1;.R2;.R3 |
| 1780 | 5d 3b 0a 20 20 50 20 3d 20 50 27 3b 0a 0a 20 20 52 20 3d 20 52 2a 50 3b 0a 20 20 53 20 3d 20 69 | ];...P.=.P';....R.=.R*P;...S.=.i |
| 17a0 | 6e 76 28 50 29 2a 53 3b 0a 65 6e 64 0a 0a 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | nv(P)*S;.end.................... |
| 17c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 17e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1800 | 66 61 63 74 6f 72 5f 74 65 73 74 2e 6d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | factor_test.m................... |
| 1820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1860 | 00 00 00 00 30 31 30 30 36 34 34 00 30 30 32 31 33 36 31 00 30 30 30 30 33 33 31 00 30 30 30 30 | ....0100644.0021361.0000331.0000 |
| 1880 | 30 30 30 31 36 36 30 00 30 35 36 35 37 32 37 37 37 31 30 00 30 31 31 33 36 35 00 20 30 00 00 00 | 0001660.05657277710.011365..0... |
| 18a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 18e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1900 | 00 75 73 74 61 72 20 20 00 6a 73 68 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...jshi................... |
| 1920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 19a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 19c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 19e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1a00 | 25 0a 25 20 55 73 61 67 65 3a 0a 25 0a 25 20 20 20 20 5b 52 2c 74 2c 53 5d 20 3d 20 66 61 63 74 | %.%.Usage:.%.%....[R,t,S].=.fact |
| 1a20 | 6f 72 28 57 29 0a 25 0a 25 20 46 75 6e 63 74 69 6f 6e 20 74 6f 20 66 61 63 74 6f 72 20 61 20 6d | or(W).%.%.Function.to.factor.a.m |
| 1a40 | 61 74 72 69 78 20 6f 66 20 69 6e 70 75 74 20 64 61 74 61 20 28 57 29 20 69 6e 74 6f 20 74 68 65 | atrix.of.input.data.(W).into.the |
| 1a60 | 20 63 61 6d 65 72 61 0a 25 20 72 6f 74 61 74 69 6f 6e 20 6d 61 74 72 69 78 20 28 52 29 2c 20 74 | .camera.%.rotation.matrix.(R),.t |
| 1a80 | 72 61 6e 73 6c 61 74 69 6f 6e 20 28 74 29 2c 20 61 6e 64 20 74 68 65 20 73 68 61 70 65 20 6d 61 | ranslation.(t),.and.the.shape.ma |
| 1aa0 | 74 72 69 78 20 28 53 29 2e 0a 25 20 54 68 72 65 65 2d 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 76 65 | trix.(S)..%.Three-dimensional.ve |
| 1ac0 | 72 73 69 6f 6e 2e 20 46 61 69 6c 75 72 65 20 6f 66 20 6e 6f 72 6d 61 6c 69 7a 61 74 69 6f 6e 20 | rsion..Failure.of.normalization. |
| 1ae0 | 72 65 73 75 6c 74 73 20 69 6e 0a 25 20 65 6d 70 74 79 20 52 20 61 6e 64 20 53 2e 0a 0a 66 75 6e | results.in.%.empty.R.and.S...fun |
| 1b00 | 63 74 69 6f 6e 20 5b 52 2c 74 2c 53 2c 43 2c 62 5d 20 3d 20 66 61 63 74 6f 72 28 57 29 0a 0a 70 | ction.[R,t,S,C,b].=.factor(W)..p |
| 1b20 | 74 73 20 3d 20 73 69 7a 65 28 57 2c 32 29 3b 0a 74 20 3d 20 57 2a 6f 6e 65 73 28 70 74 73 2c 31 | ts.=.size(W,2);.t.=.W*ones(pts,1 |
| 1b40 | 29 2f 70 74 73 3b 0a 57 20 3d 20 57 20 2d 20 74 2a 6f 6e 65 73 28 31 2c 70 74 73 29 3b 0a 0a 25 | )/pts;.W.=.W.-.t*ones(1,pts);..% |
| 1b60 | 20 55 73 65 20 53 56 44 20 74 6f 20 66 61 63 74 6f 72 20 57 2e 20 0a 20 20 20 5b 61 2c 62 2c 63 | .Use.SVD.to.factor.W......[a,b,c |
| 1b80 | 5d 20 3d 20 73 76 64 28 57 2c 30 29 3b 0a 0a 66 69 67 75 72 65 28 33 29 3b 70 6c 6f 74 28 64 69 | ].=.svd(W,0);..figure(3);plot(di |
| 1ba0 | 61 67 28 62 29 29 0a 20 0a 73 6d 61 6c 6c 62 20 3d 20 62 28 31 3a 33 2c 31 3a 33 29 3b 09 25 20 | ag(b))...smallb.=.b(1:3,1:3);.%. |
| 1bc0 | 53 69 6e 63 65 20 57 20 69 73 20 72 61 6e 6b 20 33 2c 20 62 20 68 61 73 20 6f 6e 6c 79 20 74 68 | Since.W.is.rank.3,.b.has.only.th |
| 1be0 | 72 65 65 20 6d 65 61 6e 69 6e 67 66 75 6c 20 76 61 6c 75 65 73 0a 73 71 72 74 62 20 3d 20 73 71 | ree.meaningful.values.sqrtb.=.sq |
| 1c00 | 72 74 28 73 6d 61 6c 6c 62 29 3b 0a 52 68 61 74 20 3d 20 61 28 3a 2c 31 3a 33 29 20 2a 20 73 71 | rt(smallb);.Rhat.=.a(:,1:3).*.sq |
| 1c20 | 72 74 62 3b 0a 53 68 61 74 20 3d 20 73 71 72 74 62 20 2a 20 63 28 3a 2c 31 3a 33 29 27 3b 0a 0a | rtb;.Shat.=.sqrtb.*.c(:,1:3)';.. |
| 1c40 | 5b 47 2c 43 5d 20 3d 20 66 69 6e 64 67 31 28 52 68 61 74 29 3b 0a 0a 69 66 20 73 69 7a 65 28 47 | [G,C].=.findg1(Rhat);..if.size(G |
| 1c60 | 2c 31 29 20 3d 3d 20 30 2c 0a 52 20 3d 20 5b 5d 3b 0a 53 20 3d 20 5b 5d 3b 0a 65 6c 73 65 0a 20 | ,1).==.0,.R.=.[];.S.=.[];.else.. |
| 1c80 | 20 52 20 3d 20 52 68 61 74 2a 47 3b 0a 20 20 53 20 3d 20 69 6e 76 28 47 29 2a 53 68 61 74 3b 0a | .R.=.Rhat*G;...S.=.inv(G)*Shat;. |
| 1ca0 | 0a 20 20 25 20 72 6f 74 61 74 69 6f 6e 20 6d 61 74 72 69 78 20 74 68 61 74 20 61 6c 69 67 6e 73 | ...%.rotation.matrix.that.aligns |
| 1cc0 | 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 66 72 61 6d 65 20 77 69 74 68 20 74 68 65 20 66 69 | .the.reference.frame.with.the.fi |
| 1ce0 | 72 73 74 20 63 61 6d 65 72 61 0a 20 20 46 20 3d 20 73 69 7a 65 28 52 2c 31 29 2f 32 3b 0a 20 20 | rst.camera...F.=.size(R,1)/2;... |
| 1d00 | 52 31 20 3d 20 52 28 31 2c 3a 29 3b 0a 20 20 52 31 20 3d 20 52 31 2f 6e 6f 72 6d 28 52 31 29 3b | R1.=.R(1,:);...R1.=.R1/norm(R1); |
| 1d20 | 0a 20 20 52 32 20 3d 20 52 28 46 2b 31 2c 3a 29 3b 0a 20 20 52 32 20 3d 20 52 32 2f 6e 6f 72 6d | ...R2.=.R(F+1,:);...R2.=.R2/norm |
| 1d40 | 28 52 32 29 3b 0a 20 20 52 33 20 3d 20 63 72 6f 73 73 28 52 31 2c 52 32 29 3b 0a 20 20 52 33 20 | (R2);...R3.=.cross(R1,R2);...R3. |
| 1d60 | 3d 20 52 33 2f 6e 6f 72 6d 28 52 33 29 3b 0a 20 20 50 20 3d 20 5b 52 31 3b 20 52 32 3b 20 52 33 | =.R3/norm(R3);...P.=.[R1;.R2;.R3 |
| 1d80 | 5d 3b 0a 20 20 50 20 3d 20 50 27 3b 0a 0a 20 20 52 20 3d 20 52 2a 50 3b 0a 20 20 53 20 3d 20 69 | ];...P.=.P';....R.=.R*P;...S.=.i |
| 1da0 | 6e 76 28 50 29 2a 53 3b 0a 65 6e 64 0a 0a 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | nv(P)*S;.end.................... |
| 1dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e00 | 66 69 6e 64 67 31 2e 6d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | findg1.m........................ |
| 1e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1e60 | 00 00 00 00 30 31 30 30 36 34 34 00 30 30 32 31 33 36 31 00 30 30 30 30 33 33 31 00 30 30 30 30 | ....0100644.0021361.0000331.0000 |
| 1e80 | 30 30 30 31 36 35 32 00 30 35 36 37 34 31 36 36 30 30 33 00 30 31 30 32 31 30 00 20 30 00 00 00 | 0001652.05674166003.010210..0... |
| 1ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f00 | 00 75 73 74 61 72 20 20 00 6a 73 68 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...jshi................... |
| 1f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 2000 | 66 75 6e 63 74 69 6f 6e 20 5b 47 2c 43 5d 20 3d 20 66 69 6e 64 33 47 28 52 68 61 74 29 0a 0a 25 | function.[G,C].=.find3G(Rhat)..% |
| 2020 | 20 6e 75 6d 62 65 72 20 6f 66 20 66 72 61 6d 65 73 0a 46 20 3d 20 73 69 7a 65 28 52 68 61 74 2c | .number.of.frames.F.=.size(Rhat, |
| 2040 | 31 29 2f 32 3b 0a 0a 25 20 42 75 69 6c 64 20 6d 61 74 72 69 78 20 51 20 73 75 63 68 20 74 68 61 | 1)/2;..%.Build.matrix.Q.such.tha |
| 2060 | 74 20 51 20 2a 20 76 20 3d 20 5b 31 2c 2e 2e 2e 2c 31 2c 30 2c 2e 2e 2e 2c 30 5d 20 77 68 65 72 | t.Q.*.v.=.[1,...,1,0,...,0].wher |
| 2080 | 65 20 76 20 69 73 20 61 20 73 69 78 0a 25 20 65 6c 65 6d 65 6e 74 20 76 65 63 74 6f 72 20 63 6f | e.v.is.a.six.%.element.vector.co |
| 20a0 | 6e 74 61 69 6e 67 20 61 6c 6c 20 73 69 78 20 64 69 73 74 69 6e 63 74 20 65 6c 65 6d 65 6e 74 73 | ntaing.all.six.distinct.elements |
| 20c0 | 20 6f 66 20 74 68 65 20 4d 61 74 72 69 78 20 43 0a 0a 63 6c 65 61 72 20 51 0a 66 6f 72 20 66 20 | .of.the.Matrix.C..clear.Q.for.f. |
| 20e0 | 3d 20 31 3a 46 2c 0a 20 20 67 20 3d 20 66 20 2b 20 46 3b 0a 20 20 68 20 3d 20 67 20 2b 20 46 3b | =.1:F,...g.=.f.+.F;...h.=.g.+.F; |
| 2100 | 0a 20 20 51 28 66 2c 3a 29 20 3d 20 7a 74 28 52 68 61 74 28 66 2c 3a 29 2c 20 52 68 61 74 28 66 | ...Q(f,:).=.zt(Rhat(f,:),.Rhat(f |
| 2120 | 2c 3a 29 29 3b 0a 20 20 51 28 67 2c 3a 29 20 3d 20 7a 74 28 52 68 61 74 28 67 2c 3a 29 2c 20 52 | ,:));...Q(g,:).=.zt(Rhat(g,:),.R |
| 2140 | 68 61 74 28 67 2c 3a 29 29 3b 0a 20 20 51 28 68 2c 3a 29 20 3d 20 7a 74 28 52 68 61 74 28 66 2c | hat(g,:));...Q(h,:).=.zt(Rhat(f, |
| 2160 | 3a 29 2c 20 52 68 61 74 28 67 2c 3a 29 29 3b 0a 65 6e 64 0a 0a 25 20 53 6f 6c 76 65 20 66 6f 72 | :),.Rhat(g,:));.end..%.Solve.for |
| 2180 | 20 76 0a 72 68 73 20 3d 20 5b 6f 6e 65 73 28 32 2a 46 2c 31 29 3b 20 7a 65 72 6f 73 28 46 2c 31 | .v.rhs.=.[ones(2*F,1);.zeros(F,1 |
| 21a0 | 29 5d 3b 0a 76 20 3d 20 51 20 5c 20 72 68 73 3b 0a 0a 25 20 43 20 69 73 20 61 20 73 79 6d 6d 65 | )];.v.=.Q.\.rhs;..%.C.is.a.symme |
| 21c0 | 74 72 69 63 20 33 78 33 20 6d 61 74 72 69 78 20 73 75 63 68 20 74 68 61 74 20 43 20 3d 20 47 20 | tric.3x3.matrix.such.that.C.=.G. |
| 21e0 | 2a 20 74 72 61 6e 73 70 6f 73 65 28 47 29 0a 43 28 31 2c 31 29 20 3d 20 76 28 31 29 3b 20 20 20 | *.transpose(G).C(1,1).=.v(1);... |
| 2200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 43 28 31 2c 32 29 20 3d 20 76 28 32 29 3b 20 20 | ................C(1,2).=.v(2);.. |
| 2220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 43 28 31 2c 33 29 20 3d 20 76 28 33 29 3b 20 | .................C(1,3).=.v(3);. |
| 2240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 43 28 32 2c 32 29 20 3d 20 76 28 34 29 3b | ..................C(2,2).=.v(4); |
| 2260 | 0a 43 28 32 2c 33 29 20 3d 20 76 28 35 29 3b 0a 43 28 33 2c 33 29 20 3d 20 76 28 36 29 3b 0a 43 | .C(2,3).=.v(5);.C(3,3).=.v(6);.C |
| 2280 | 28 32 2c 31 29 20 3d 20 43 28 31 2c 32 29 3b 0a 43 28 33 2c 31 29 20 3d 20 43 28 31 2c 33 29 3b | (2,1).=.C(1,2);.C(3,1).=.C(1,3); |
| 22a0 | 0a 43 28 33 2c 32 29 20 3d 20 43 28 32 2c 33 29 3b 0a 0a 65 20 3d 20 65 69 67 28 43 29 3b 0a 64 | .C(3,2).=.C(2,3);..e.=.eig(C);.d |
| 22c0 | 69 73 70 28 65 29 0a 0a 69 66 20 28 61 6e 79 28 65 3c 3d 20 30 29 29 2c 0a 20 20 43 20 3d 20 43 | isp(e)..if.(any(e<=.0)),...C.=.C |
| 22e0 | 20 2d 32 2a 6d 69 6e 28 65 29 2a 65 79 65 28 33 29 3b 0a 20 20 47 20 3d 20 73 71 72 74 6d 28 43 | .-2*min(e)*eye(3);...G.=.sqrtm(C |
| 2300 | 29 3b 0a 65 6c 73 65 0a 20 20 47 20 3d 20 73 71 72 74 6d 28 43 29 3b 0a 65 6e 64 0a 0a 25 6e 65 | );.else...G.=.sqrtm(C);.end..%ne |
| 2320 | 67 20 3d 20 30 3b 0a 25 69 66 20 65 28 31 29 20 3c 3d 20 30 2c 20 6e 65 67 20 3d 20 31 3b 20 65 | g.=.0;.%if.e(1).<=.0,.neg.=.1;.e |
| 2340 | 6e 64 0a 25 69 66 20 65 28 32 29 20 3c 3d 20 30 2c 20 6e 65 67 20 3d 20 31 3b 20 65 6e 64 0a 25 | nd.%if.e(2).<=.0,.neg.=.1;.end.% |
| 2360 | 69 66 20 65 28 33 29 20 3c 3d 20 30 2c 20 6e 65 67 20 3d 20 31 3b 20 65 6e 64 0a 25 69 66 20 6e | if.e(3).<=.0,.neg.=.1;.end.%if.n |
| 2380 | 65 67 20 3d 3d 20 31 2c 20 47 20 3d 20 5b 5d 3b 0a 25 65 6c 73 65 2 |