9 const float cA =
cos( alpha );
10 const float sA =
sin( alpha );
20 #if defined(PANDA_STT) || defined(PANDA_FTS)
21 float J[2][2] = { { sA, cA },
24 float J[2][2] = { { cA, sA },
31 #if defined(PANDA_STT) || defined(PANDA_FTS)
46 for (
int i = 0;
i < 2;
i++)
47 for (
int j = 0; j < 2; j++) {
49 for (
int k = 0; k < 2; k++) {
50 Cov2[
i][j] += Cov1[
i][k] * J[j][k];
55 for (
int i = 0;
i < 2;
i++)
56 for (
int j = 0; j < 2; j++) {
58 for (
int k = 0; k < 2; k++) {
59 Cov1[
i][j] += J[
i][k] * Cov2[k][j];
71 #if defined(PANDA_STT) || defined(PANDA_FTS)
74 float J[2][2] = { { -sA, -cA },
89 for (
int i = 0;
i < 2;
i++)
90 for (
int j = 0; j < 2; j++) {
92 for (
int k = 0; k < 2; k++) {
93 Cov2[
i][j] += Cov1[
i][k] * J[j][k];
98 for (
int i = 0;
i < 2;
i++)
99 for (
int j = 0; j < 2; j++) {
101 for (
int k = 0; k < 2; k++) {
102 Cov1[
i][j] += J[
i][k] * Cov2[k][j];
112 #if defined(PANDA_STT) || defined(PANDA_FTS)
134 #if defined(PANDA_STT) || defined(PANDA_FTS)
149 SetPx( -px*sA - py*cA );
150 SetPy( -px*cA + py*sA );
155 for(
int iC=0; iC<21; iC++)
158 fC[0] = cA*cA* cov[2] + 2*cA*cov[1]*sA + cov[0]*sA*sA;
159 fC[1] = cA*cA*cov[1] + cA *(cov[0] - cov[2])* sA - cov[1]* sA*sA;
160 fC[2] = cA*cA*cov[0] - 2* cA *cov[1] *sA + cov[2]* sA*sA,
162 fC[3] = -cA* cov[4] - cov[3]* sA;
163 fC[4] = -cA* cov[3] + cov[4]* sA;
166 fC[6] = -cA*cA* cov[11] - cA* (cov[10] + cov[7])* sA - cov[6]* sA*sA;
167 fC[7] = -cA*cA* cov[10] + cA* (cov[11] - cov[6])* sA + cov[7]* sA*sA;
168 fC[8] = cA* cov[12] + cov[8]* sA;
169 fC[9] = cA*cA* cov[14] + 2* cA* cov[13]* sA + cov[9]* sA*sA;
171 fC[10] = -cA*cA* cov[7] + cA* (cov[11] - cov[6])* sA + cov[10]* sA*sA;
172 fC[11] = -cA*cA* cov[6] + cA* (cov[10] + cov[7])* sA - cov[11]* sA*sA;
173 fC[12] = cA* cov[8] - cov[12]* sA;
174 fC[13] = cA*cA* cov[13] + cA* (-cov[14] + cov[9])* sA - cov[13]* sA*sA;
175 fC[14] = cA*cA* cov[9] - 2 *cA* cov[13]* sA + cov[14]* sA*sA;
177 fC[15] = cA *cov[16] + cov[15]* sA;
178 fC[16] = cA *cov[15] - cov[16]* sA;
180 fC[18] = -cA* cov[19] - cov[18]* sA;
181 fC[19] = -cA * cov[18] + cov[19]* sA;
198 SetPx( px*cA - py*sA );
199 SetPy( px*sA + py*cA );
202 for(
int iC=0; iC<21; iC++)
205 fC[0] = cA*cA* cov[0] - 2*cA*cov[1]*sA + cov[2]*sA*sA;
207 fC[1] = cA*cA*cov[1] + cA *(cov[0] - cov[2])* sA - cov[1]* sA*sA;
208 fC[2] = cA*cA*cov[2] + 2* cA *cov[1] *sA + cov[0]* sA*sA,
210 fC[3] = cA* cov[3] - cov[4]* sA;
211 fC[4] = cA* cov[4] + cov[3]* sA;
214 fC[6] = cA* (cA* cov[6] - cov[10]* sA) - sA* (cA* cov[7] - cov[11]* sA);
215 fC[7] = sA* (cA* cov[6] - cov[10]* sA) + cA* (cA* cov[7] - cov[11]* sA);
216 fC[8] = cA* cov[8] - cov[12]* sA;
217 fC[9] = cA* (cA* cov[9] - cov[13]* sA) - sA *(cA* cov[13] - cov[14]* sA);
219 fC[10] = cA *(cov[10]* cA + cov[6]* sA) - (cov[11]* cA + cov[7] *sA) *sA;
220 fC[11] = cA *(cov[11]* cA + cov[7]* sA) + (cov[10]* cA + cov[6] *sA) *sA;
221 fC[12] = cov[12] *cA + cov[8]* sA;
222 fC[13] = -sA* (cA* cov[14] + cov[13]* sA) + cA* (cA* cov[13] + cov[9]* sA),
223 fC[14] = cA *(cA* cov[14] + cov[13]* sA) + sA* (cA* cov[13] + cov[9]* sA);
225 fC[15] = cA *cov[15] - cov[16]* sA;
226 fC[16] = cA *cov[16] + cov[15]* sA;
228 fC[18] = cA* cov[18] - cov[19]* sA;
229 fC[19] = cA * cov[19] + cov[18]* sA;
friend F32vec4 cos(const F32vec4 &a)
friend F32vec4 sin(const F32vec4 &a)
void RotateXY(float alpha)