[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Toon-members] tag/src five_point.cpp
From: |
Gerhard Reitmayr |
Subject: |
[Toon-members] tag/src five_point.cpp |
Date: |
Tue, 28 Apr 2009 14:27:44 +0000 |
CVSROOT: /cvsroot/toon
Module name: tag
Changes by: Gerhard Reitmayr <gerhard> 09/04/28 14:27:43
Modified files:
src : five_point.cpp
Log message:
generator fields give slight speed improvement
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/tag/src/five_point.cpp?cvsroot=toon&r1=1.13&r2=1.14
Patches:
Index: five_point.cpp
===================================================================
RCS file: /cvsroot/toon/tag/src/five_point.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- five_point.cpp 28 Apr 2009 10:36:41 -0000 1.13
+++ five_point.cpp 28 Apr 2009 14:27:43 -0000 1.14
@@ -313,17 +313,17 @@
do {
wls.clear();
const Matrix<3> C = getCrossProductMatrix(Rn * X);
- double error = 0;
for(unsigned i = 0; i < points.size(); ++i){
Vector<5> J;
- J[0] = (points[i].second * C) * Rt.generator(0) * (Rt *
points[i].first);
- J[1] = (points[i].second * C) * Rt.generator(1) * (Rt *
points[i].first);
- J[2] = (points[i].second * C) * Rt.generator(2) * (Rt *
points[i].first);
- J[3] = points[i].second * getCrossProductMatrix(Rn *
Rn.generator(1) * X) * (Rt * points[i].first);
- J[4] = points[i].second * getCrossProductMatrix(Rn *
Rn.generator(2) * X) * (Rt * points[i].first);
- const double e = 0 - (points[i].second * C) * (Rt *
points[i].first);
+ const Vector<3> LEFT = points[i].second * C;
+ const Vector<3> RIGHT = Rt * points[i].first;
+ J[0] = LEFT * Rt.generator_field(0, RIGHT);
+ J[1] = LEFT * Rt.generator_field(1, RIGHT);
+ J[2] = LEFT * Rt.generator_field(2, RIGHT);
+ J[3] = points[i].second * getCrossProductMatrix(Rn *
Rn.generator_field(1, X)) * RIGHT;
+ J[4] = points[i].second * getCrossProductMatrix(Rn *
Rn.generator_field(2, X)) * RIGHT;
+ const double e = 0 - LEFT * RIGHT;
wls.add_mJ(e, J);
- error += e*e;
}
wls.compute();
Rt = SO3<>::exp(wls.get_mu().slice<0,3>()) * Rt;
- [Toon-members] tag/src five_point.cpp, Edward Rosten, 2009/04/23
- [Toon-members] tag/src five_point.cpp, Edward Rosten, 2009/04/23
- [Toon-members] tag/src five_point.cpp, Gerhard Reitmayr, 2009/04/23
- [Toon-members] tag/src five_point.cpp, Gerhard Reitmayr, 2009/04/23
- [Toon-members] tag/src five_point.cpp, Gerhard Reitmayr, 2009/04/23
- [Toon-members] tag/src five_point.cpp,
Gerhard Reitmayr <=
- [Toon-members] tag/src five_point.cpp, Gerhard Reitmayr, 2009/04/30