[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Toon-members] TooN/test SXX_test.cc
From: |
Gerhard Reitmayr |
Subject: |
[Toon-members] TooN/test SXX_test.cc |
Date: |
Wed, 01 Apr 2009 13:21:27 +0000 |
CVSROOT: /cvsroot/toon
Module name: TooN
Changes by: Gerhard Reitmayr <gerhard> 09/04/01 13:21:27
Modified files:
test : SXX_test.cc
Log message:
so3.h
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/TooN/test/SXX_test.cc?cvsroot=toon&r1=1.4&r2=1.5
Patches:
Index: SXX_test.cc
===================================================================
RCS file: /cvsroot/toon/TooN/test/SXX_test.cc,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- SXX_test.cc 26 Mar 2009 19:28:31 -0000 1.4
+++ SXX_test.cc 1 Apr 2009 13:21:26 -0000 1.5
@@ -4,8 +4,11 @@
#include <TooN/so2.h>
#include <TooN/se2.h>
+#include <TooN/so3.h>
void test_so2(){
+ cout << "---------------SO2 Tests---------------\n";
+
TooN::SO2<> r1;
cout << "default constructor\n";
cout << r1 << endl;
@@ -38,6 +41,7 @@
l2[0] = TooN::makeVector(0,1,2);
cout << "right with rectangular matrix\n";
cout << r * l2 << endl;
+ cout << l2.T() * r << endl;
TooN::Matrix<2> m;
m[0] = TooN::makeVector(0.5, 1);
@@ -48,6 +52,8 @@
}
void test_se2(){
+ cout << "---------------SE2 Tests---------------\n";
+
TooN::SE2<> r1;
cout << "default constructor\n";
cout << r1 << endl;
@@ -64,12 +70,83 @@
cout << TooN::SE2<>::generator(0) ;
cout << TooN::SE2<>::generator(1) ;
cout << TooN::SE2<>::generator(2) << endl;
+
+ TooN::Vector<2> t1 = TooN::makeVector(0,1);
+ TooN::Vector<> t2(3); t2 = TooN::makeVector(1,0,1);
+ cout << "se2 * vector\n";
+ cout << r3 * t1 << endl;
+ cout << r3 * t2 << endl;
+ cout << "vector * se3\n";
+ // cout << t1 * r3 << endl; // this is not well defined, should the output
be a 3 vector ?
+ cout << t2 * r3 << endl;
+
+#if 0
+ TooN::Matrix<3> m1;
+ TooN::Matrix<> m2(3,3);
+ TooN::Matrix<3,10> m3;
+ cout << "se2 * matrix\n";
+ cout << r3 * m1 << endl;
+ cout << r3 * m2 << endl;
+ cout << r3 * m3 << endl;
+ cout << "matrix * se2\n";
+ cout << m1 * r3 << endl;
+ cout << m2 * r3 << endl;
+ cout << m3.T() * r3 << endl;
+#endif
+}
+
+void test_so3(){
+ cout << "---------------SO3 Tests---------------\n";
+
+ TooN::SO3<> r1;
+ cout << "default constructor\n";
+ cout << r1 << endl;
+ cout << "default constructor <int>\n";
+ TooN::SO3<int> r2;
+ cout << r2 << endl;
+ TooN::SO3<> r(TooN::makeVector(0.1, 0.1, 0.1));
+ cout << "constructor with 0.1\n";
+ cout << r << endl;
+ cout << "generator 0,1,2\n";
+ cout << TooN::SO3<>::generator(0) ;
+ cout << TooN::SO3<>::generator(1) ;
+ cout << TooN::SO3<>::generator(2) << endl;
+ cout << "ln()\n";
+ cout << r.ln() << endl;
+ cout << "inverse\n";
+ cout << r.inverse() << endl;
+ cout << "times\n";
+ cout << r * r.inverse() << endl;
+ cout << (r *= r.inverse()) << endl;
+ r = TooN::SO3<>::exp(TooN::makeVector(0.1, 0.1, 0.1));
+
+ TooN::Vector<3> t = TooN::makeVector(0,1,2);
+ cout << "right and left multiply with vector " << t << "\n";
+ cout << r * t << endl;
+ cout << t * r << endl;
+ TooN::Matrix<3> l = TooN::Identity;
+ cout << "right and left multiply with matrix\n" << l << "\n";
+ cout << r * l << endl;
+ cout << l * r << endl;
+ TooN::Matrix<3,6> l2(TooN::Zero);
+ l2[0] = TooN::makeVector(0,1,2,3,4,5);
+ cout << "right with rectangular matrix\n";
+ cout << r * l2 << endl;
+ cout << l2.T() * r << endl;
+
+ TooN::Matrix<3> m;
+ m[0] = TooN::makeVector(0.5, 1,2);
+ m[1] = TooN::makeVector(1,1,0);
+ m[2] = TooN::makeVector(0,-1,0);
+ cout << "set from matrix (uses coerce)\n" << m << "\n";
+ r = m;
+ cout << r << endl;
}
int main(int, char* *){
test_so2();
- test_se2();
+ test_so3();
return 0;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Toon-members] TooN/test SXX_test.cc,
Gerhard Reitmayr <=