Changeset 86 for snippet/image_projection
- Timestamp:
- 06/23/08 07:10:33 (2 years ago)
- Files:
-
- 1 modified
-
snippet/image_projection/projection.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
snippet/image_projection/projection.c
r85 r86 201 201 202 202 matrix* a_inv; 203 204 203 matrix* projection; 205 204 206 a = matrix_new( 6, 6);207 b = matrix_new( 6, 1 );205 a = matrix_new( 8, 8 ); 206 b = matrix_new( 8, 1 ); 208 207 209 208 a->var[0][0] = x[0]; 210 209 a->var[0][1] = y[0]; 211 210 a->var[0][2] = 1.0; 211 a->var[0][6] = -1 * _x[0] * x[0]; 212 a->var[0][7] = -1 * _x[0] * y[0]; 212 213 213 214 a->var[1][0] = x[1]; 214 215 a->var[1][1] = y[1]; 215 216 a->var[1][2] = 1.0; 217 a->var[1][6] = -1 * _x[1] * x[1]; 218 a->var[1][7] = -1 * _x[1] * y[1]; 216 219 217 220 a->var[2][0] = x[2]; 218 221 a->var[2][1] = y[2]; 219 222 a->var[2][2] = 1.0; 220 221 a->var[3][3] = x[0]; 222 a->var[3][4] = y[0]; 223 a->var[3][5] = 1.0; 224 225 a->var[4][3] = x[1]; 226 a->var[4][4] = y[1]; 223 a->var[2][6] = -1 * _x[2] * x[2]; 224 a->var[2][7] = -1 * _x[2] * y[2]; 225 226 a->var[3][0] = x[3]; 227 a->var[3][1] = y[3]; 228 a->var[3][2] = 1.0; 229 a->var[3][6] = -1 * _x[3] * x[3]; 230 a->var[3][7] = -1 * _x[3] * y[3]; 231 232 a->var[4][3] = x[0]; 233 a->var[4][4] = y[0]; 227 234 a->var[4][5] = 1.0; 228 229 a->var[5][3] = x[2]; 230 a->var[5][4] = y[2]; 235 a->var[4][6] = -1 * x[0] * _y[0]; 236 a->var[4][7] = -1 * y[0] * _y[0]; 237 238 a->var[5][3] = x[1]; 239 a->var[5][4] = y[1]; 231 240 a->var[5][5] = 1.0; 232 241 a->var[5][6] = -1 * x[1] * _y[1]; 242 a->var[5][7] = -1 * y[1] * _y[1]; 243 244 a->var[6][3] = x[2]; 245 a->var[6][4] = y[2]; 246 a->var[6][5] = 1.0; 247 a->var[6][6] = -1 * x[2] * _y[2]; 248 a->var[6][7] = -1 * y[2] * _y[2]; 249 250 a->var[7][3] = x[3]; 251 a->var[7][4] = y[3]; 252 a->var[7][5] = 1.0; 253 a->var[7][6] = -1 * x[3] * _y[3]; 254 a->var[7][7] = -1 * y[3] * _y[3]; 255 233 256 b->var[0][0] = _x[0]; 234 257 b->var[1][0] = _x[1]; 235 258 b->var[2][0] = _x[2]; 236 b->var[3][0] = _y[0]; 237 b->var[4][0] = _y[1]; 238 b->var[5][0] = _y[2]; 259 b->var[3][0] = _x[3]; 260 b->var[4][0] = _y[0]; 261 b->var[5][0] = _y[1]; 262 b->var[6][0] = _y[2]; 263 b->var[7][0] = _y[3]; 239 264 240 265 a_inv = matrix_inv(a); 241 242 266 c = matrix_multiple( a_inv, b ); 243 267 … … 251 275 projection->var[1][2] = c->var[5][0]; 252 276 253 projection->var[2][0] = 0;254 projection->var[2][1] = 0;277 projection->var[2][0] = c->var[6][0]; 278 projection->var[2][1] = c->var[7][0]; 255 279 projection->var[2][2] = 1.0; 256 280 … … 356 380 } 357 381 382
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)