[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Toon-members] tag libtool src/fourpointpose.cpp
From: |
Dr. JJN |
Subject: |
[Toon-members] tag libtool src/fourpointpose.cpp |
Date: |
Mon, 04 Sep 2006 15:50:04 +0000 |
CVSROOT: /sources/toon
Module name: tag
Changes by: Dr. JJN <jjneubert> 06/09/04 15:50:04
Modified files:
. : libtool
src : fourpointpose.cpp
Log message:
fixed floating point error in fourPointPose
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/tag/libtool?cvsroot=toon&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/tag/src/fourpointpose.cpp?cvsroot=toon&r1=1.4&r2=1.5
Patches:
Index: libtool
===================================================================
RCS file: /sources/toon/tag/libtool,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- libtool 19 Jul 2006 08:53:56 -0000 1.5
+++ libtool 4 Sep 2006 15:50:04 -0000 1.6
@@ -44,7 +44,7 @@
# ### BEGIN LIBTOOL CONFIG
-# Libtool was configured on host tove:
+# Libtool was configured on host bosch:
# Shell to use when invoking shell scripts.
SHELL="/bin/sh"
@@ -322,7 +322,7 @@
link_all_deplibs=unknown
# Compile-time system search path for libraries
-sys_lib_search_path_spec=" /usr/lib/gcc-lib/i586-suse-linux/3.3.5/
/usr/lib/gcc/i586-suse-linux/3.3.5/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../../i586-suse-linux/lib/i586-suse-linux/3.3.5/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../../i586-suse-linux/lib/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../i586-suse-linux/3.3.5/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../ /lib/i586-suse-linux/3.3.5/
/lib/ /usr/lib/i586-suse-linux/3.3.5/ /usr/lib/"
+sys_lib_search_path_spec=" /usr/lib/gcc/i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../../i586-suse-linux/lib/i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../../i586-suse-linux/lib/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../ /lib/i586-suse-linux/4.0.2/ /lib/
/usr/lib/i586-suse-linux/4.0.2/ /usr/lib/"
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/X11R6/lib/Xaw95
/usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/i486-linux/lib
/usr/i486-linux-libc5/lib /usr/i486-linux-libc6/lib /usr/i486-linuxaout/lib
/usr/i386-suse-linux/lib /usr/local/lib /usr/openwin/lib /opt/kde/lib
/opt/kde2/lib /opt/kde3/lib /opt/gnome/lib /opt/gnome2/lib
/usr/i486-linux-libc5/lib "
@@ -6809,7 +6809,7 @@
# End:
# ### BEGIN LIBTOOL TAG CONFIG: CXX
-# Libtool was configured on host tove:
+# Libtool was configured on host bosch:
# Shell to use when invoking shell scripts.
SHELL="/bin/sh"
@@ -6988,11 +6988,11 @@
# Dependencies to place before the objects being linked to create a
# shared library.
-predep_objects="/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../crti.o
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/crtbeginS.o"
+predep_objects="/usr/lib/gcc/i586-suse-linux/4.0.2/../../../crti.o
/usr/lib/gcc/i586-suse-linux/4.0.2/crtbeginS.o"
# Dependencies to place after the objects being linked to create a
# shared library.
-postdep_objects="/usr/lib/gcc-lib/i586-suse-linux/3.3.5/crtendS.o
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../crtn.o"
+postdep_objects="/usr/lib/gcc/i586-suse-linux/4.0.2/crtendS.o
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../crtn.o"
# Dependencies to place before the objects being linked to create a
# shared library.
@@ -7004,7 +7004,7 @@
# The library search path used internally by the compiler when linking
# a shared library.
-compiler_lib_search_path="-L/usr/lib/gcc-lib/i586-suse-linux/3.3.5
-L/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../../i586-suse-linux/lib
-L/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../.."
+compiler_lib_search_path="-L/usr/lib/gcc/i586-suse-linux/4.0.2
-L/usr/lib/gcc/i586-suse-linux/4.0.2
-L/usr/lib/gcc/i586-suse-linux/4.0.2/../../../../i586-suse-linux/lib
-L/usr/lib/gcc/i586-suse-linux/4.0.2/../../.."
# Method to check whether dependent libraries are shared objects.
deplibs_check_method="pass_all"
@@ -7084,7 +7084,7 @@
link_all_deplibs=unknown
# Compile-time system search path for libraries
-sys_lib_search_path_spec=" /usr/lib/gcc-lib/i586-suse-linux/3.3.5/
/usr/lib/gcc/i586-suse-linux/3.3.5/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../../i586-suse-linux/lib/i586-suse-linux/3.3.5/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../../i586-suse-linux/lib/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../i586-suse-linux/3.3.5/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../ /lib/i586-suse-linux/3.3.5/
/lib/ /usr/lib/i586-suse-linux/3.3.5/ /usr/lib/"
+sys_lib_search_path_spec=" /usr/lib/gcc/i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../../i586-suse-linux/lib/i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../../i586-suse-linux/lib/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../ /lib/i586-suse-linux/4.0.2/ /lib/
/usr/lib/i586-suse-linux/4.0.2/ /usr/lib/"
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/X11R6/lib/Xaw95
/usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/i486-linux/lib
/usr/i486-linux-libc5/lib /usr/i486-linux-libc6/lib /usr/i486-linuxaout/lib
/usr/i386-suse-linux/lib /usr/local/lib /usr/openwin/lib /opt/kde/lib
/opt/kde2/lib /opt/kde3/lib /opt/gnome/lib /opt/gnome2/lib
/usr/i486-linux-libc5/lib "
@@ -7111,7 +7111,7 @@
# ### BEGIN LIBTOOL TAG CONFIG: F77
-# Libtool was configured on host tove:
+# Libtool was configured on host bosch:
# Shell to use when invoking shell scripts.
SHELL="/bin/sh"
@@ -7152,7 +7152,7 @@
LTCC="gcc"
# A language-specific compiler.
-CC="g77"
+CC="gfortran"
# Is the compiler the GNU C compiler?
with_gcc=yes
@@ -7389,7 +7389,7 @@
link_all_deplibs=unknown
# Compile-time system search path for libraries
-sys_lib_search_path_spec=" /usr/lib/gcc-lib/i586-suse-linux/3.3.5/
/usr/lib/gcc/i586-suse-linux/3.3.5/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../../i586-suse-linux/lib/i586-suse-linux/3.3.5/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../../i586-suse-linux/lib/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../i586-suse-linux/3.3.5/
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../ /lib/i586-suse-linux/3.3.5/
/lib/ /usr/lib/i586-suse-linux/3.3.5/ /usr/lib/"
+sys_lib_search_path_spec=" /usr/lib/gcc/i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../../i586-suse-linux/lib/i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../../i586-suse-linux/lib/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../i586-suse-linux/4.0.2/
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../ /lib/i586-suse-linux/4.0.2/ /lib/
/usr/lib/i586-suse-linux/4.0.2/ /usr/lib/"
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/X11R6/lib/Xaw95
/usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/i486-linux/lib
/usr/i486-linux-libc5/lib /usr/i486-linux-libc6/lib /usr/i486-linuxaout/lib
/usr/i386-suse-linux/lib /usr/local/lib /usr/openwin/lib /opt/kde/lib
/opt/kde2/lib /opt/kde3/lib /opt/gnome/lib /opt/gnome2/lib
/usr/i486-linux-libc5/lib "
Index: src/fourpointpose.cpp
===================================================================
RCS file: /sources/toon/tag/src/fourpointpose.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- src/fourpointpose.cpp 26 Jul 2006 17:08:07 -0000 1.4
+++ src/fourpointpose.cpp 4 Sep 2006 15:50:04 -0000 1.5
@@ -77,6 +77,8 @@
}
// contains the main computational part common to both of the high level
functions
+template<class T>
+inline T ABS(T x){return (x>0?x:-x);}
static bool fourPointSolver ( const std::vector<TooN::Vector<3> > & points,
std::vector<TooN::Vector<3> > & myPixels, TooN::Vector<6> & distances,
std::vector<TooN::Vector<2> > & length, const double angularError){
TooN::Matrix<5> A;
TooN::Vector<5> v4, v5;
@@ -140,10 +142,25 @@
bool valid = true;
double x = sqrt( xx );
+ double x_inv = 1.0/x;
length[0] = (TooN::make_Vector, x, -x); // possible distances to point 0
- valid &= quadraticRoots( -x*angles[0], xx - distances[0], length[1],
std::acos(angles[0]/2), asin(sqrt(distances[0])/x), angularError );
- valid &= quadraticRoots( -x*angles[1], xx - distances[1], length[2],
std::acos(angles[1]/2), asin(sqrt(distances[1])/x), angularError );
- valid &= quadraticRoots( -x*angles[2], xx - distances[2], length[3],
std::acos(angles[2]/2), asin(sqrt(distances[2])/x), angularError );
+ //std::cout << (angles[0]/2) << " " << (sqrt(distances[0])/x) <<
std::endl;
+ if( distances[0] > xx )
+ valid &= quadraticRoots( -x*angles[0], xx - distances[0], length[1], 0,
0, angularError );
+ else
+ valid &= quadraticRoots( -x*angles[0], xx - distances[0], length[1],
std::acos(0.5*angles[0]), asin(sqrt(distances[0])*x_inv), angularError );
+
+
+ if( distances[1] > xx )
+ valid &= quadraticRoots( -x*angles[1], xx - distances[1], length[2], 0,
0, angularError );
+ else
+ valid &= quadraticRoots( -x*angles[1], xx - distances[1], length[2],
std::acos(0.5*angles[1]), asin(sqrt(distances[1])*x_inv), angularError );
+
+ if( distances[2] > xx )
+ valid &= quadraticRoots( -x*angles[2], xx - distances[2], length[3], 0,
0, angularError );
+ else
+ valid &= quadraticRoots( -x*angles[2], xx - distances[2], length[3],
std::acos(0.5*angles[2]), asin(sqrt(distances[2])*x_inv), angularError );
+
return valid;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Toon-members] tag libtool src/fourpointpose.cpp,
Dr. JJN <=