This commit is contained in:
Ivan
2022-04-05 11:42:28 +03:00
commit 6dc0eb0fcf
5565 changed files with 1200500 additions and 0 deletions

View File

@@ -0,0 +1,238 @@
/** \page page_installation Installation
*
* \section sec_installation_0_5 Before you start
*
* If you are only interested in using the library under Matlab, now there is a precompiled mex-library for 64-bit systems available. You can download it from:
*
\verbatim
Windows: http://laurentkneip.github.io/publications/opengv.mexw64
Mac OSX: http://laurentkneip.github.io/publications/opengv.mexmaci64
\endverbatim
*
* These versions have been added around March 2016, so please be aware that later additions may not be included in this distribution. You can go immediately to \ref page_matlab "Use under Matlab" to receive further instructions on the Matlab interface.
*
* \section sec_installation_1 Downloading the source code
*
* OpenGV is freely available under
*
\verbatim
https://github.com/laurentkneip/opengv
\endverbatim
*
* You may first have to register on github.com. You can just download a zip-file with the code, but we strongly recommend that you make yourself familiar with git. Git is a distributed version-control and source code management system. By using git to clone the repository locally, you can easily get updates at a later stage, and also facilitate the integration of own improvements or extensions into the original repository on github. This is done using the pull-request mechanism.
*
* To clone the library under Mac OSX or Linux, simply type (assuming that git is installed):
*
\verbatim
git clone https://github.com/laurentkneip/opengv
\endverbatim
*
* Under Windows you probably have a similar option. More information about git can be found here:
*
\verbatim
http://git-scm.com/
\endverbatim
*
* Follow the "Try git" link for an amazing interactive tutorial.
*
* \section sec_installation_2 Installation under Linux
*
* <ul>
* <li>Setup the required tools for compilation of standard libraries under Linux (gcc compiler etc). Type:
*
\verbatim
sudo apt-get install build-essential
\endverbatim
*
* <li>Install cmake. CMake is a cross-platform, open-source build system used for pretty much anything in the compilation process for the compilation/linking of the library. Type:
*
\verbatim
sudo apt-get install cmake
\endverbatim
*
*
* <li>Install eigen3. Eigen3 is a powerful linear algebra library used for all computations in OpenGV. You can either use an installed version of a local install (unzipped version of Eigen3 downloaded from Eigen website).
*
\verbatim
sudo apt-get install cmake libeigen3-dev
\endverbatim
*
* <li>Go to the top-level directory of OpenGV. Type:
*
\verbatim
mkdir build && cd build && cmake .. && make
\endverbatim
*
* If a message like "Could NOT find Eigen (missing: EIGEN_INCLUDE_DIR EIGEN_VERSION_OK)" appears. It's certainly because that you does not have Eigen3 installed on your computer system path. You can specify to cmake the path where Eigen is located by adding:
\verbatim
mkdir build && cd build && cmake .. -DEIGEN_INCLUDE_DIR:STRING="EigenIncludePath" && make
\endverbatim
*
* <li>Done. The default configuration does not build the tests or python-wrappers, please set the according variables in CMakeLists.txt to ON if you desire the tests or python-wrappers to be built as well.
* </ul>
*
* \section sec_installation_3 Installation under Windows
*
* <ul>
* <li>We need a suitable compiler for C++. We chose Visual Studio Express, which is free. Google for "Microsoft Visual Studio Express", it should be one of the first links. Make sure you download and install the "Windows Desktop version". If you are in a school setting without Administrator rights, just go to your local IT guy and ask him to install Microsoft Visual Studio on your machine.
*
* <li>We also need CMake under Windows. Go to:
*
\verbatim
http://www.cmake.org/
\endverbatim
*
* and download the latest version. In a school setting without administrator rights, chose to download the zip-file. Extract it somewhere.
* <li>Open a new Developer Command Prompt for VS2012 and make sure all VS path variables are correctly set by checking the output of PATH. We also need to add the cmake-tools to the path. Add it by typing
*
\verbatim
cd C:\<path to cmake>\bin
PATH=%PATH%;%cd%;
\endverbatim
*
* <li>Go to the opengv directory and add a build folder
* <li>Now go to the
*
\verbatim
opengv\build
\endverbatim
*
* directory, and setup the build process by typing:
*
\verbatim
cmake -G "Visual Studio 11" ..
\endverbatim
*
* You need to add the correct generator for your Visual Studio version. I downloaded Visual Studio 2012, so it's 11 :)
* <li>Now build the library by typing:
*
\verbatim
msbuild opengv.sln /p:Configuration=Release
\endverbatim
*
* inside the build directory. While there is not a single warning under Linux, there are thousands of warnings under Windows :) If anyone knows the reason, please let us know.
*
* <li>Note that we Eigen dependency is not longer included. It is better to get a fresh download of Eigen on your computer, and specify to cmake the Eigen include path with -DEIGEN_INCLUDE_DIR="path".
* </ul>
*
* \section sec_installation_35 Installation under OSX
*
* Has been succesfully tested as well.
*
* <ul>
* <li> Install homebrew: http://brew.sh/
* <li> Type: "brew install cmake eigen"
* <li> Compile using normal cmake procedure.
* </ul>
*
* \section sec_installation_36 Installing OpenGV on the host OS
*
* Installation on the host OS (including the headers) can be activated by simply launching the install target.
* By using "sudo make install" on Linux and OSX and by compiling the install target on the opengv Visual Studio solution in Windows. Sudo is required for system install.
* You can choose to have a local installation path by setting the cmake variable CMAKE_INSTALL_PREFIX to the path of your choice by using -DCMAKE_INSTALL_PREFIX:STRING="YourInstallPath" in the cmake command line.
\verbatim
cmake ../opengv
-DEIGEN_INCLUDE_DIR="EigenIncludePath"
-DBUILD_TESTS=ON
-DCMAKE_INSTALL_PREFIX="YourInstallPath"
make
make install #sudo not required since we use a local installation
\endverbatim
*
* \section sec_installation_4 Installing the Matlab-wrapper (Windows-version)
*
* <ul>
* <li>First setup the compiler from Matlab. Go to the matlab console and type
*
\verbatim
mex -setup
\endverbatim
*
* and chose the right compiler by following the instructions. You will have to chose the same compiler than the one you used for compiling the opengv library before-hand. Under Windows you might also
* run into the following problem. Depending on the distribution (e.g. R2012b), Matlab does not yet "know" your compiler (e.g. Visual Studio 2012), so you will have to additionally follow the instructions under
*
\verbatim
http://jimdavid.blogspot.com.au/2012/12/matlab-2012b-mex-setup-with-vs2012.html
\endverbatim
*
* to get things running. Also note that the Express compilers are not supported by Matlab, we ran into some issues when trying to use them. Please report if you have a solution to that.
* <li>Once this is done, you can compile the mex-file by going to the opengv/matlab folder and typing in the console
*
\verbatim
mex -I../include -I../EigenIncludePath -L../build/lib/Release -lopengv opengv.cpp
\endverbatim
*
* <li>An additional note on 64-bit Windows/Matlab systems: If you have a Matlab version that is 64-bit, you will have to also compile OpenGV in 64-bit. You will have to follow
* two steps for this under Windows. The first one is to make sure that you open an x64 native tools command prompt to make the x64 Visual Studio compiler visible. The second one
* is to-when running cmake-extend the generator name by " Win64". The final command to run cmake finally looks as follows:
*
\verbatim
cmake -G "Visual Studio 11 Win64" ..
\endverbatim
*
* The actual build command stays the same.
* </ul>
*
* \section sec_installation_5 Installing the Matlab-wrapper (Linux-version)
*
* The following has been tested under Ubuntu 12.04 and a recent Matlab edition (>2013) (thanks to Oliver Dunkley for providing this information).
*
* <ul>
* <li> Install Matlab with the provided installer, and then add the matlab-support package through the package-repositories. This basically takes care
* of setting all the compiler stuff, adding a launcher, etc.
* <li> In order to make Matlab know about the shared object opengv.so, the path to opengv.so has to be added to LD_LIBRARY_PATH. Open .bashrc and add the line
*
\verbatim
export LD_LIBRARY_PATH=<path to OpenGV>/build/lib:$LD_LIBRARY_PATH
\endverbatim
*
* and then start Matlab from the terminal, it'll know about opengv ...
* <li>Go to the opengv/matlab-folder inside Matlab, and issue the command
*
\verbatim
mex -I../include -I../EigenIncludePath -L../build/lib -lopengv opengv.cpp -cxx
\endverbatim
*
* Note the lib directory does not contain a Release subfolder under linux, and that the -cxx option has to be added.
* </ul>
*
* \section sec_installation_6 Installing the Matlab-wrapper (OSX-version)
*
* To compile the Matlab interface under OSX, use the same command as under Windows, with adapted library folder (-L../build/lib instead of -L../build/lib/Release). You of course need to make sure again that Matlab knows where to find the library, and that a suitable compiler is set up in Matlab as well.
*
* \section sec_installation_7 Installing the python wrappers
*
* The Python wrappers depend on the pybind11 library, which is included as a git submodule.
* To get it, run
\verbatim
git submodule update --init --recursive
\endverbatim
* With that done, the compliation of the Python wrappers can be enabled by setting the option BUILD_PYTHON to ON.
* The especific version of Python to target can be set using the option PYBIND11_PYTHON_VERSION.
* For example,
\verbatim
cmake ../opengv
-DBUILD_PYTHON=ON
-DPYBIND11_PYTHON_VERSION=3.6
\endverbatim
* Note that the python wrappers currently only allow access to the central methods.
*
* \section sec_installation_8 Using the OpenGV inside your cmake c++ project
*
* Once your have a system or local install of opengv you can use it in your own project.
* In your cmake file, add the search for the opengv library:
\verbatim
find_package(opengv REQUIRED)
if (opengv_FOUND)
add_executable(main_opengv_demo main.cpp)
target_link_libraries(main_opengv_demo opengv)
endif (opengv_FOUND)
\endverbatim
*
* Then run cmake for your project (if you are using a local install of opengv, you can specify where the library is located by using -Dopengv_DIR:
\verbatim
cmake ../myproject
-DCMAKE_BUILD_TYPE=RELEASE
-Dopengv_DIR:STRING=/home/Foo/Documents/Dev/opengv_Build/install/CMake/
\endverbatim
*/

View File

@@ -0,0 +1,498 @@
/** \page page_how_to_use How to use
*
* This page gives an introduction to the usage of OpenGV including a description of the interface and explicit examples. More information can be found in [17]. However, in order to have a smooth communication and full understanding of the functionality and documentation of the library, we first need to clearly define the meaning of a couple of words in the present context.
*
* \section sec_vocabulary Vocabulary
*
* <ul>
* <li> <b>Bearing vector</b>: A bearing vector is defined to be a 3-vector with unit norm bearing at a spatial 3D point from a camera reference frame. It has 2 degrees of freedom, which are the azimuth and elevation in the camera reference frame. Because it has only two degrees of freedom, we frequently refer to it as a 2D information. It is normally expressed in a camera reference frame.
* <li> <b>Landmark</b>: A landmark describes a 3D spatial point (usually expressed in a fixed frame called world reference frame).
* <li> <b>Camera</b>: OpenGV assumes to be in the calibrated case, and landmark measurements are always given in form of bearing vectors in a camera frame. A camera therefore denotes a camera reference frame with a set of bearing vectors, all pointing from the origin to landmarks. The following figure shows a camera c with bearing vectors (in red). The bearing vectors are all lying on the unit-sphere centered around the camera.
*
* \image html central.png
* \image latex central.pdf "" width=0.45\columnwidth
*
* <li> <b>Viewpoint</b>: You will notice that the documentation of the code very frequently talks about viewpoints instead of cameras. One of the advantages of OpenGV is that it can transparently handle both the central and the non-central case. The viewpoint is a generalization of a camera, and can contain an arbitrary number of cameras each one having it's own landmark-measurements (e.g. bearing vectors). A practical example of a viewpoint would be the set of images and related measurements captured by a fully-calibrated, rigid multi-camera rig with synchronized cameras, which therefore still represents a single (multi)-snapshot (i.e. viewpoint). Each camera has its own transformation to the viewpoint frame. In the central case the viewpoint simply contains a single camera with an identity transformation. The most general case-the generalized camera-can also be described by the viewpoint. Each bearing vector would then have it's own camera and related transformation. A generalized camera would hence be represented by an exhaustive multi-camera system. The following image shows a viewpoint vp (in blue) with three cameras c, c', and c'', each one containing its own bearing vector measurements.
*
* \image html noncentral.png
* \image latex noncentral.pdf "" width=0.8\columnwidth
*
* <li> <b>Pose</b>: By a pose, we understand here the position and orientation of a viewpoint, either with respect to a fixed spatial reference frame called the "world" reference frame, or with respect to another viewpoint.
* <li> <b>Absolute Pose</b>: By absolute pose, we understand the pose of a viewpoint in the world reference frame.
* <li> <b>Relative Pose</b>: By relative pose, we understand the pose of a viewpoint with respect to another viewpoint.
* <li> <b>Correspondence</b>: By a correspondence, we understand a pair of bearing-vectors pointing at the same landmark from different viewpoints (2D-2D correspondence), a bearing vector and a world-point it is pointing at (2D-3D correspondence), or a pair of expressions of the same landmark in different frames (3D-3D correspondence).
* </ul>
*
* \section sec_organization Organization of the library
*
* The library-structure is best analyzed at the hand of the namespace or directory hierarchy (as a matter of fact, there is no difference between the two):
* <ul>
* <li> opengv: contains generic things such as the types used throughout the library.
* <li> opengv/math: contains a bunch of math functions that are used in different algorithms, mainly for root-finding and rotation-related stuff.
* <li> opengv/absolute_pose: contains the absolute-pose methods. methods.hpp is the main-header that contains the method-declarations. You can also find a bunch of adapters here for interfacing with the algorithms (explained in the next section). The sub-folder modules contains declarations of internal methods.
* <li> opengv/relative_pose: contains the relative-pose methods. methods.hpp is the main-header that contains the method-declarations. You can also find a bunch of adapters here for interfacing with the algorithms (explained in the next section). The sub-folder modules contains declarations of internal methods.
* <li> opengv/point_cloud: contains the point-cloud alignment methods. Again, methods.hpp contains the declarations, and the folder contains adapters for interfacing (explained below).
* <li> opengv/triangulation: contains the triangulation methods.
* <li> opengv/sac: contains base-classes for sample-consensus methods and problems. So far, only the Ransac algorithm is implemented.
* <li> opengv/sac_problems: contains sample-consensus problems derived from the base-class. Implements sample-consensus problems for point-cloud alignment and central as well as non-central absolute and relative-pose estimation.
* </ul>
*
* \section sec_interface Interface
*
* You will quickly notice that all methods in OpenGV use a variable called adapter as a function-call parameter. OpenGV is designed based on the adapter pattern. "Adapters" in OpenGV are used as "visitors" to all geometric vision methods. They contain the landmarks, bearing-vectors, poses, correspondences etc. used as an input to the different methods (or references to the alike), and allow to access those elements with a unified interface. Adapters are derived from a base-class that defines the unified interface and they have to implement the related functions for accessing bearing-vectors, world-points, camera-transformations, viewpoint-poses, etc. There are three adapter-base-classes:
*
* <ul>
* <li> <b>AbsoluteAdapterBase</b>: Base-class for adapters holding 2D-3D correspondences for absolute-pose methods.
* <li> <b>RelativeAdapterBase</b>: Base-class for adapters holding 2D-2D correspondences for relative-pose methods.
* <li> <b>PointCloudAdapterBase</b>: Base-class for adapters holding 3D-3D correspondences for point-cloud alignment methods.
* </ul>
*
* The derived adapters have the task of transforming the data from the user-format to OpenGV types. This gives the library great flexibility. Users have to implement only a couple of adapters for the specific data-format they are using, and can then access the full functionality of the library. OpenGV currently contains adapters that simply hold references to OpenGV types (no transformation needed) plus adapters for mexArrays used within the Matlab-interface. Further adapters are planned, such as for instance an adapter for OpenCV keypoint and match-types including a camera model. The user would then be able to chose whether normalization of keypoints is done "on-demand" or "once for all" at the beginning, which is more efficient in sample-consensus problems.
*
* Note that adapters containing the tag "Central" in their name are adapters for a single camera (i.e. view-points with only one camera having identity transformation). Adapters having the tag "Noncentral" in their name are meant for view-points with multiple cameras (e.g., multi-camera systems, generalized cameras).
*
* Please check out the doxygen documentation on the above base-classes, they contain important documentation on the functions that need to be overloaded for a proper implementation of an adapter.
*
* \section sec_conventions Conventions, problem types, and examples
*
* As already mentioned, the entire library is assuming calibrated cameras/viewpoints, and it operates with 3D unit bearing vectors expressed in the camera frame. Calibrated means that the configuration of the multi-camera system (i.e. the inter-camera transformations) is known. The following introduces the different problems that can be solved with the library, and outlines the conventions for transformations (translations and rotations) in their context. <b>Note that all problems have solutions for both the minimal and non-minimal cases, and may also be solved as sample-consensus or non-linear optimization problems</b>. The code samples are mostly taken from the test files, which you can compile along with the library by setting BUILD_TESTS in CMakeLists.txt to ON.
*
* <ul>
*
* <li> <b>Central absolute pose:</b> The central absolute pose problem consists of finding the pose of a camera (e.g. viewpoint with a single camera) given a number of 2D-3D correspondences between bearing vectors in the camera frame and points in the world frame. The seeked transformation is given by the position \f$ \mathbf{t}_{c} \f$ of the camera seen from the world frame and the rotation \f$ \mathbf{R}_{c} \f$ from the camera to the world frame. This is what the algorithms return (or part of it), and what the adapters can hold as known or prior information.
*
* \image html absolute_central.png
* \image latex absolute_central.pdf "" width=0.8\columnwidth
*
* The minimal variants are p2p (a solution for position if rotation is known), p3p_kneip [1], p3p_gao [2], and UPnP [19]. The non-minimal variants are epnp [4], and UPnP [19]. The non-linear optimization variant is called optimize_nonlinear. Here's how to use them:
*
\code
// create the central adapter
absolute_pose::CentralAbsoluteAdapter adapter(
bearingVectors, points );
// Kneip's P2P (uses rotation from adapter)
adapter.setR( knownRotation );
translation_t p2p_translation =
absolute_pose::p2p( adapter, indices1 );
// Kneip's P3P
transformations_t p3p_kneip_transformations =
absolute_pose::p3p_kneip( adapter, indices2 );
// Gao's P3P
transformations_t p3p_gao_transformations =
absolute_pose::p3p_gao( adapter, indices2 );
// Lepetit's Epnp (using all correspondences)
transformation_t epnp_transformation =
absolute_pose::epnp(adapter);
// UPnP (using all correspondences)
transformations_t upnp_transformations =
absolute_pose::upnp(adapter);
// UPnP (using three correspondences)
transformations_t upnp_transformations =
absolute_pose::upnp( adapter, indices2 );
// non-linear optimization (using all correspondences)
adapter.sett(initial_translation);
adapter.setR(initial_rotation);
transformation_t nonlinear_transformation =
absolute_pose::optimize_nonlinear(adapter);
\endcode
*
* p3p_kneip, p3p_gao, and epnp can also be used within a sample consensus context. The following shows how to do it:
*
\code
// create the central adapter
absolute_pose::CentralAbsoluteAdapter adapter(
bearingVectors, points );
// create a Ransac object
sac::Ransac<sac_problems::absolute_pose::AbsolutePoseSacProblem> ransac;
// create an AbsolutePoseSacProblem
// (algorithm is selectable: KNEIP, GAO, or EPNP)
std::shared_ptr<sac_problems::absolute_pose::AbsolutePoseSacProblem>
absposeproblem_ptr(
new sac_problems::absolute_pose::AbsolutePoseSacProblem(
adapter, sac_problems::absolute_pose::AbsolutePoseSacProblem::KNEIP ) );
// run ransac
ransac.sac_model_ = absposeproblem_ptr;
ransac.threshold_ = threshold;
ransac.max_iterations_ = maxIterations;
ransac.computeModel();
// get the result
transformation_t best_transformation =
ransac.model_coefficients_;
\endcode
*
* These examples are taken from test_absolute_pose.cpp and test_absolute_pose_sac.cpp.
*
* <li> <b>Non-central absolute pose:</b> The non-central absolute pose problem consists of finding the pose of a viewpoint given a number of 2D-3D correspondences between bearing vectors in multiple camera frames and points in the world frame. The seeked transformation is given by the position \f$ \mathbf{t}_{vp} \f$ of the viewpoint seen from the world frame and the rotation \f$ \mathbf{R}_{vp} \f$ from the viewpoint to the world frame. This is what the algorithms return, and what the adapters can hold as known or prior information.
*
* \image html absolute_noncentral.png
* \image latex absolute_noncentral.pdf "" width=0.8\columnwidth
*
* The minimal variant is gp3p, and the non-minimal variant is gpnp [3]. UPnP can be used for both the minimal and the non-minimal case [19]. The non-linear optimization variant is still optimize_nonlinear (it handles both cases). Here's how to use them:
*
\code
// create the non-central adapter
absolute_pose::NoncentralAbsoluteAdapter adapter(
bearingVectors,
camCorrespondences,
points,
camOffsets,
camRotations );
// Kneip's GP3P
transformations_t gp3p_transformations =
absolute_pose::gp3p( adapter, indices1 );
// Kneip's GPNP (using all correspondences)
transformation_t gpnp_transformation =
absolute_pose::gpnp(adapter);
// UPnP (using all correspondences)
transformations_t upnp_transformations =
absolute_pose::upnp( adapter );
// UPnP (using only 3 correspondences)
transformations_t upnp_transformations_3 =
absolute_pose::upnp( adapter, indices1 );
// non-linear optimization
adapter.sett(initial_translation);
adapter.setR(initial_rotation);
transformation_t nonlinear_transformation =
absolute_pose::optimize_nonlinear(adapter);
\endcode
*
* gp3p can also be used within a sample-consensus context. It remains an AbsolutePoseSacProblem, this one is usable for both the central and the non-central case. We simply have to set algorithm to GP3P:
*
\code
// create the non-central adapter
absolute_pose::NoncentralAbsoluteAdapter adapter(
bearingVectors,
camCorrespondences,
points,
camOffsets,
camRotations );
// create a RANSAC object
sac::Ransac<sac_problems::absolute_pose::AbsolutePoseSacProblem> ransac;
// create a absolute-pose sample consensus problem (using GP3P as an algorithm)
std::shared_ptr<sac_problems::absolute_pose::AbsolutePoseSacProblem>
absposeproblem_ptr(
new sac_problems::absolute_pose::AbsolutePoseSacProblem(
adapter, sac_problems::absolute_pose::AbsolutePoseSacProblem::GP3P ) );
// run ransac
ransac.sac_model_ = absposeproblem_ptr;
ransac.threshold_ = threshold;
ransac.max_iterations_ = maxIterations;
ransac.computeModel();
// get the result
transformation_t best_transformation =
ransac.model_coefficients_;
\endcode
*
* These examples are taken from test_noncentral_absolute_pose.cpp and test_noncentral_absolute_pose_sac.cpp.
*
* <li> <b>Central relative pose:</b> The central relative pose problem consists of finding the pose of a camera (e.g. viewpoint with a single camera) with respect to a different camera given a number of 2D-2D correspondences between bearing vectors in the camera frames. The seeked transformation is given by the position \f$ \mathbf{t}_{c'}^{c} \f$ of the second camera seen from the first one and the rotation \f$ \mathbf{R}_{c'}^{c} \f$ from the second camera back to the first camera frame. This is what the algorithms return (or part of it), and what the adapters can hold as known or prior information.
*
* \image html relative_central.png
* \image latex relative_central.pdf "" width=0.6\columnwidth
*
* There are many central relative-pose algorithms in the library. The minimal variants are twopt (in case the rotation is known), twopt_rotationOnly (in case there is only rotational change, and using only two points), fivept_stewenius [5], fivept_nister [6], and fivept_kneip [7]. The libary also contains non-minimal variants, namely rotationOnly (in case of pure-rotation change), sevenpt [8], eightpt [9,10] and the new eigensolver [11] methods. All of them except twopt, twopt_rotationOnly, and fivept_kneip can be used for an arbitrary number of correspondences (of course at least the minimal number). The non-linear optimization variant is again called optimize_nonlinear. Here's how to use most of them (we assume a regular situation here, and thus omit the rotationOnly algorithms):
*
\code
// create the central relative adapter
relative_pose::CentralRelativeAdapter adapter(
bearingVectors1, bearingVectors2 );
// Relative translation with only two point-correspondences
// (no or known rotation)
adapter.setR(knownRotation);
translation_t twopt_translation =
relative_pose::twopt( adapter, true, indices1 );
// Stewenius' 5-point algorithm
complexEssentials_t fivept_stewenius_essentials =
relative_pose::fivept_stewenius( adapter, indices2 );
// Nister's 5-point algorithm
essentials_t fivept_nister_essentials =
relative_pose::fivept_nister( adapter, indices2 );
// Kneip's 5-point algorithm
rotations_t fivept_kneip_rotations =
relative_pose::fivept_kneip( adapter, indices2 );
// the 7-point algorithm
essentials_t sevenpt_essentials =
relative_pose::sevenpt( adapter, indices3 );
// the 8-point algorithm
essential_t eightpt_essential =
relative_pose::eightpt( adapter, indices4 );
// Kneip's eigensolver
adapter.setR(initial_rotation);
eigensolver_rotation =
relative_pose::eigensolver( adapter, indices5 );
// non-linear optimization (using all available correspondences)
adapter.sett(initial_translation);
adapter.setR(initial_rotation);
transformation_t nonlinear_transformation =
relative_pose::optimize_nonlinear(adapter);
\endcode
*
* fivept_nister, fivept_stewenius, sevenpt, and eigthpt can also be used within a random-sample consensus scheme. It is done as follows:
*
\code
// create the central relative adapter
relative_pose::CentralRelativeAdapter adapter(
bearingVectors1, bearingVectors2 );
// create a RANSAC object
sac::Ransac<sac_problems::relative_pose::CentralRelativePoseSacProblem> ransac;
// create a CentralRelativePoseSacProblem
// (set algorithm to STEWENIUS, NISTER, SEVENPT, or EIGHTPT)
std::shared_ptr<sac_problems::relative_pose::CentralRelativePoseSacProblem>
relposeproblem_ptr(
new sac_problems::relative_pose::CentralRelativePoseSacProblem(
adapter,
sac_problems::relative_pose::CentralRelativePoseSacProblem::NISTER ) );
// run ransac
ransac.sac_model_ = relposeproblem_ptr;
ransac.threshold_ = threshold;
ransac.max_iterations_ = maxIterations;
ransac.computeModel();
// get the result
transformation_t best_transformation =
ransac.model_coefficients_;
\endcode
*
* These examples are taken from test_relative_pose.cpp and test_relative_pose_sac.cpp. There are also sample consensus problems for the case of pure-rotation, known rotation, or the eigensolver method. Feel free to explore opengv/sac_problems/relative_pose.
*
* <li> <b>Non-central relative pose:</b> The non-central relative pose problem consists of finding the pose of a viewpoint with respect to a different viewpoint given a number of 2D-2D correspondences between bearing vectors in multiple camera frames. The seeked transformation is given by the position \f$ \mathbf{t}_{vp'}^{vp} \f$ of the second viewpoint seen from the first one and the rotation \f$ \mathbf{R}_{vp'}^{vp} \f$ from the second viewpoint back to the first viewpoint frame. This is what the algorithms return (or part of it), and what the adapters can hold as known or prior information.
*
* \image html relative_noncentral.png
* \image latex relative_noncentral.pdf "" width=0.8\columnwidth
*
* There are three non-central relative pose methods in the library, the 17-point algorithm by Li [12], the 6-point method by Stewenius [16], and the new generalized eigensolver [18]. The 17-point algorithm as well as the generalized eigensolver can be used with an arbitrary number of points. The 6-point algorithm is usable with only 6-points exactly. "optimize_nonlinear" is again able to also handle the non-central case. Here's how to use these methods:
*
\code
// create the non-central relative adapter
relative_pose::NoncentralRelativeAdapter adapter(
bearingVectors1,
bearingVectors2,
camCorrespondences1,
camCorrespondences2,
camOffsets,
camRotations );
// 6-point algorithm
rotations_t sixpt_rotations =
relative_pose::sixpt( adapter, indices );
// generalized eigensolver (over all points)
geOutput_t output;
relative_pose::ge(adapter,output);
translation_t ge_translation = output.translation.block<3,1>(0,0);
rotation_t ge_rotation = output.rotation;
// 17-point algorithm
transformation_t seventeenpt_transformation =
relative_pose::seventeenpt( adapter, indices );
// non-linear optimization (using all available correspondences)
adapter.sett(initial_translation);
adapter.setR(initial_rotation);
transformation_t nonlinear_transformation =
relative_pose::optimize_nonlinear(adapter);
\endcode
*
* All algorithms are also available in a sample-consensus scheme:
*
\code
// create the non-central relative adapter
relative_pose::NoncentralRelativeAdapter adapter(
bearingVectors1,
bearingVectors2,
camCorrespondences1,
camCorrespondences2,
camOffsets,
camRotations );
// create a RANSAC object
sac::Ransac<sac_problems::relative_pose::NoncentralRelativePoseSacProblem>
ransac;
// create a NoncentralRelativePoseSacProblem
std::shared_ptr<
sac_problems::relative_pose::NoncentralRelativePoseSacProblem>
relposeproblem_ptr(
new sac_problems::relative_pose::NoncentralRelativePoseSacProblem(
adapter,
sac_problems::relative_pose::NoncentralRelativePoseSacProblem::SEVENTEENPT)
);
// run ransac
ransac.sac_model_ = relposeproblem_ptr;
ransac.threshold_ = threshold;
ransac.max_iterations_ = maxIterations;
ransac.computeModel();
// get the result
transformation_t best_transformation =
ransac.model_coefficients_;
\endcode
*
* These examples are taken from test_noncentral_relative_pose.cpp and test_noncentral_relative_pose_sac.cpp. Simply set SEVENTEENPT to GE or SIXPT in order to use the alternative algorithms.
*
* <li> <b>Triangulation of points:</b> OpenGV contains two methods for triangulating points. They are currently only designed for the central case, and compute the position of a point expressed in the first camera given a 2D-2D correspondence between bearing vectors from two cameras. The methods reuse the relative adapter, which need to hold the transformation between the cameras given by the position \f$ \mathbf{t}_{c'}^{c} \f$ of the second camera seen from the first one and the rotation \f$ \mathbf{R}_{c'}^{c} \f$ from the second camera back to the first camera frame.
*
* \image html triangulation_central.png
* \image latex triangulation_central.pdf "" width=0.6\columnwidth
*
* There are two methods, triangulate (linear) and triangulate2 (a fast non-linear approximation). They are used as follows:
*
\code
// create a central relative adapter
// (immediately pass translation and rotation)
relative_pose::CentralRelativeAdapter adapter(
bearingVectors1,
bearingVectors2,
translation,
rotation );
// run method 1
point_t point =
triangulation::triangulate( adapter, index );
//run method 2
point_t point =
triangulation::triangulate2( adapter, index );
\endcode
*
* The example is taken from test_triangulation.cpp.
*
* <li> <b>Alignment of two point-clouds:</b> OpenGV also contains a method for aligning point-clouds. It is currently only designed for the central case, and computes the transformation between two frames given 3D-3D correspondences between points expressed in the two frames (here denoted by c and c', although it ain't necessarily need to be cameras anymore). The method returns the transformation between the frames given by the position \f$ \mathbf{t}_{c'}^{c} \f$ of the second frame seen from the first one and the rotation \f$ \mathbf{R}_{c'}^{c} \f$ from the second frame back to the first frame.
*
* \image html point_cloud.png
* \image latex point_cloud.pdf "" width=0.6\columnwidth
*
* The method is called threept_arun, and it can be used for an arbitrary number of points (minimum three). There is also a non-linear optimization method again called optimize_nonlinear. The methods are used as follows:
*
\code
// create the 3D-3D adapter
point_cloud::PointCloudAdapter adapter(
points1, points2 );
// run threept_arun
transformation_t threept_transformation =
point_cloud::threept_arun( adapter, indices );
// run the non-linear optimization over all correspondences
transformation_t nonlinear_transformation =
point_cloud::optimize_nonlinear(adapter);
\endcode
*
* There is also a sample-consensus problem for the point-cloud alignment. It is set up as follows:
*
\code
// create a 3D-3D adapter
point_cloud::PointCloudAdapter adapter(
points1, points2 );
// create a RANSAC object
sac::Ransac<sac_problems::point_cloud::PointCloudSacProblem> ransac;
// create the sample consensus problem
std::shared_ptr<sac_problems::point_cloud::PointCloudSacProblem>
relposeproblem_ptr(
new sac_problems::point_cloud::PointCloudSacProblem(adapter) );
// run ransac
ransac.sac_model_ = relposeproblem_ptr;
ransac.threshold_ = threshold;
ransac.max_iterations_ = maxIterations;
ransac.computeModel(0);
// return the result
transformation_t best_transformation =
ransac.model_coefficients_;
\endcode
*
* These examples are taken from test_point_cloud.cpp and test_point_cloud_sac.cpp.
*
* </ul>
*
* Note that there are more unit-tests in the test-directory. It shows the usage of all the methods contained in the library.
*
* \section sec_threshold Some words about the sample-consensus-classes
*
* All the above mentioned Ransac-methods make use of a number of super-classes such that only the basic functions need to be implemented in the derived SacProblem (SampleConsensusProblem). The basic functions are responsible for getting valid samples for model instantiation, model instantiation itself, as well as model verification. <b>SamplesConsensusProblem</b> is the base-class for any problem we want to solve, and contains a virtual interface for the basic methods that need to be implemented. The base-class <b>SampleConsensus</b> is then for the sample-consensus method itself, calling the basic functions. So far only the <b>Ransac</b> is implemented [15].
*
* \subsection sec_ransac Ransac threshold
*
* Since the entire library is operating in 3D, we also need a way to compute and threshold reprojection errors in 3D. What we are looking at is the angle \f$ q \f$ between the original bearing-vector \f$ \mathbf{f}_{meas} \f$ and the reprojected one \f$ \mathbf{f}_{repr} \f$. By adopting a certain threshold angle \f$ q_{threshold} \f$, we hence constrain the \f$ \mathbf{f}_{repr} \f$ to lie within a cone of axis \f$ \mathbf{f}_{meas} \f$ and of opening angle \f$ q_{threshold} \f$.
*
* \image html reprojectionError.png
* \image latex reprojectionError.pdf "" width=0.45\columnwidth
*
* The threshold-angle \f$ q_{threshold} \f$ can be easily obtained from classical reprojection error-thresholds expressed in pixels \f$ \psi \f$ by assuming a certain focal length \f$ l \f$. We then have \f$ q_{threshold} = \arctan{\frac{\psi}{l}} \f$.
*
* The threshold we are using in the end is still not quite this one, but a value derived from it in analogy with the computation of reprojection errors. The most efficient way to compute a "reprojection error" is given by taking the scalar product of \f$ \mathbf{f}_{meas} \f$ and \f$ \mathbf{f}_{repr} \f$, which equals to \f$ \cos q \f$. Since this value is between -1 and 1, and we actually want an error that minimizes to 0, we take \f$ \epsilon = 1 - \mathbf{f}_{meas}^{T}\mathbf{f}_{repr} = 1 - \cos q \f$. The threshold error is therefore given by
*
* \f$ \epsilon_{threshold} = 1 - \cos{q_{threshold}} = 1 - \cos({\arctan{\frac{\psi}{l}}}) \f$
*
* In the ransac-examples in the test-folder, you will often see something like this.
*
\code
ransac.threshold_ = 1.0 - cos(atan(sqrt(2.0)*0.5/800.0));
\endcode
*
* This notably corresponds to the above computation of our "reprojection-error"-threshold, with a focal length of 800.0 and a reprojection error in pixels of 0.5*sqrt(2.0).
*
* \section sec_multi The "Multi"-stuff
*
* As you go deeper into the code you might notice that there are a number of elements (mostly in the relative-pose context) that contain the tag "multi" in their name. The adapter base-class used here is called <b>RelativeMultiAdapterBase</b>. The idea of this adapter is to hold multiple sets of bearing-vector correspondences originating from pairs of cameras. A pair of cameras is, as the name says, a set of two cameras in different viewpoints. The correspondences are accessed via a multi-index (a pair-index referring to a specific pair of cameras, and a correspondence-index refering to the correspondence within the camera-pair).
*
* Subsets of camera-pairs can be identified in a number of problems, such as
* <ul>
* <li> Non-central relative pose (2 viewpoints): Non-central relative pose problems involving two viewpoints typically originate from motion-estimation with multi-camera rigs. In the special situation where the cameras are pointing in different directions, and where the motion between the viewpoints is not too big (a practically very relevant case), the correspondences are typically originating from the same camera in both viewpoints. We therefore can do a camera-wise grouping of the correspondences in the multi-camera system. The following situation contains four pairs given by the black, green, blue, and orange camera in both viewpoints:
*
* \image html nonoverlapping.png
* \image latex nonoverlapping.pdf "" width=0.8\columnwidth
*
* <li> Central multi-viewpoint problems: By multi-viewpoint we understand here problems that involve more than two viewpoints. As indicated below, a problem of three central viewpoints for instance allows to identify three camera-pairs as well. The number of camera-pairs in an n-view problem amounts to the combination of 2 out of n, meaning n*(n-1)/2. For the below example, we could have tha camera pairs (c,c'), (c',c''), and (c'',c). The first pair would have a set of correspondences originating from points p1 and p4, the second one from p2 and p4, and the third one from p3 and p4.
*
* \image html multi_viewpoint.png
* \image latex multi_viewpoint.pdf "" width=0.8\columnwidth
*
* </ul>
*
* The multi-adapters keep track of these camera-pair-wise correspondence groups. The benefit of it appears when moving towards random sample-consensus schemes. Have a look at the "opengv/sac/"-folder, it contains the <b>MultiSampleConsensus</b>, <b>MultiRansac</b>, and <b>MultiSampleConsensusProblem</b> classes. They employ the multi-indices, and the derived MultiSampleConsensusProblems exploit the fact that the correspondences are grouped:
*
* <ul>
* <li>The <b>MultiNoncentralRelativePoseSacProblem</b> is for non-central, non-overlapping viewpoints with little change, and exploits the grouping in order to do homogeneous sampling of correspondences over the cameras. As an example, imagine we are computing the relative pose of a non-overlapping multi-camera rig with two cameras facing opposite directions. In terms of accuracy, it doesn't make sense to sample 16-points in one camera and one point in the other. We preferrably would like to sample 8 points in one camera, and 9 in the other. This is exactly what MultiNoncentralRelativePoseSacProblem is able to do. It uses the derived adapter <b>NoncentralRelativeMultiAdapter</b>.
* <li>In the multi viewpoint case, one could of course solve a central relative pose problem for each camera-pair individually. The idea of <b>MultiCentralRelativePoseSacProblem</b> is to benefit from a joint solution of multiple relative-pose problems. In the above three-view problem for instance, we can exploit additional constraints around the individual transformations such as cycles of rotations returning identity, and cycles of translations returning zero. The corresponding adapter is called <b>CentralRelativeMultiAdapter</b>.
* </ul>
*
* All this stuff is highly experimental, so you probably shouldn't pay too much attention to it for the moment ;)
*
*/

View File

@@ -0,0 +1,117 @@
/** \page page_matlab The Matlab interface
*
* All algorithms are accessed from Matlab via one interface file only. The syntax is as follows:
*
* <ul>
* <li>X = opengv ( method, data1, data2 )
* <li>X = opengv ( method, indices, data1, data2 )
* <li>X = opengv ( method, indices, data1, data2, prior )
* </ul>
*
* where
* <ul>
* <li> method is a string that characterizes the algorithm to use. It can be one of the following:
*
\verbatim
absolute pose methods:
'p2p', 'p3p_kneip', 'p3p_gao', 'epnp', 'p3p_kneip_ransac', 'p3p_gao_ransac', 'epnp_ransac', 'abs_nonlin_central', 'gp3p', 'gp3p_ransac', 'gpnp', 'abs_nonlin_noncentral', 'upnp'.
relative pose methods:
'twopt', 'twopt_rotationOnly', 'rotationOnly', 'fivept_stewenius', 'fivept_nister', 'fivept_kneip', 'sevenpt', 'eightpt', 'eigensolver', 'rotationOnly_ransac',
'fivept_stewenius_ransac', 'fivept_nister_ransac', 'sevenpt_ransac', 'eightpt_ransac', 'eigensolver_ransac', 'rel_nonlin_central', 'sixpt', 'seventeenpt',
'ge', 'sixpt_ransac', 'seventeenpt_ransac', 'ge_ransac', 'rel_nonlin_noncentral'.
point_cloud methods:
'threept_arun', 'threept_arun_ransac'.
\endverbatim
*
* <li> data1, data2 are correspondences (each one of dimension 3xn or 6xn). They are 3xn in the central case (only containing normalized bearing vectors or 3D points), and 6xn for measurements in the non-central case,
* where they then also contain the position of the camera in the body frame in rows 4:6. Note that there is no camera orientation with respect to the body frame in the matlab syntax, the bearing vectors are
* supposed to be prerotated into the body frame (only rotated!).
* <li> indices is a subset of correspondences that we plan to use for the computation.
* <li> prior is a 3x1 (translation), 3x3 (rotation), or 3x4 ([R t]-transformation) holding a prior value for the transformation to compute.
* <li> The return value X is a 3xnxm-matrix, where n is the second dimensionality of the solution space, and m is the number of solutions. n is one for methods that only compute a translation, 3 for methods that only compute a rotation, and 4 for methods that compute both rotation and translation (format: [R t]).
* </ul>
*
* Note that, for Ransac-methods, the indices of the inliers can now also be retrieved. Simply add one return parameter on the left-hand side arguments: [X, inliers] = opengv(...). The Matlab wrapper includes rather exhaustive checking of command validity. More algorithms are planned for inclusion.
*
* \section Examples
*
* The interface is probably explained easiest at the hand of a few examples. Let's say that we have a matrix P of size 3xn which contains n world points. Let's also assume that we have a matrix I of size 2xn which contains the corresponding 2D measurements in the image plane. Let us assume that our camera is perspective and that we have a calibration matrix K that contains the intrinsic parameters (standard upper triangular matrix). OpenGV expects normalized coordinates on the unit sphere, so we start by transforming the measurements.
*
\verbatim
temp = K \ [I; ones(1,size(I,2))];
I_norms = sqrt(sum(temp.*temp));
I_normalized = temp ./ repmat(I_norms,3,1);
\endverbatim
*
* We are now ready to call OpenGV to compute the camera pose. Let's say we want to use the EPnP method:
*
\verbatim
X = opengv('epnp',P,I_normalized);
R = X(:,1:3);
t = X(:,4);
\endverbatim
*
* Done! Ok, let's make things a bit more interesting, and assume that there are also outliers in the data. We simply have to switch to a Ransac method to take outliers into account!
*
\verbatim
[X, inliers] = opengv('p3p_kneip_ransac',P,I_normalized);
\endverbatim
*
* Note that this will also give use the indices of the inliers.
*
* Now let us also look at a non-central example to see how this works. We assume that we have a multi-camera system with two cameras. The cameras have the positions t1 and t2 inside the body-frame. The rotation from the camera frames to the body frame is R1 and R2, respectively. Camera 1 has intrinsic parameters K1, and camera 2 has intrinsic parameters K2. Now let us assume that there are correspondences in both views. Camera one measures the image points I1 which belong to the world points P1 (I1 is 2xn1 and P1 is 3xn1). Camera 2 measures the image points I2 which belong to the world points P2 (I2 is 2xn2 and P2 is 3xn2). Now let us start with normalizing the image points into direction vectors on the unit sphere:
*
\verbatim
temp = K1 \ [I1; ones(1,size(I1,2))];
I1_norms = sqrt(sum(temp.*temp));
I1_normalized = temp ./ repmat(I1_norms,3,1);
temp = K2 \ [I2; ones(1,size(I2,2))];
I2_norms = sqrt(sum(temp.*temp));
I2_normalized = temp ./ repmat(I2_norms,3,1);
\endverbatim
*
* We then can compute the absolute pose of the multi-camera system by simply executing this command
*
\verbatim
X = opengv('upnp',[P1 P2],[ R1*I1_normalized, R2*I2_normalized; repmat(t1,1,size(I1,2)), repmat(t2,1,size(I2,2)) ]);
R = X(:,1:3);
t = X(:,4);
\endverbatim
*
* In order to handle outliers as well, simply switch to 'gp3p_ransac'. Now that you know how to handle 2D-3D registration in the central and non-central case, the 2D-2D registration case is also easily learned. Simply replace the world points by 2D measurements in another view.
*
* \section sec_benchmarks Automatic benchmarking of algorithms
*
* Perhaps the nicest thing about the Matlab-code is that it includes automatic benchmarks for all algorithms. The subfolder matlab/helpers contains useful functions for the benchmarks.
* The most important ones are:
*
* <ul>
* <li> create2D2DExperiment.m: Lets you create a random relative pose problem, meaning correspondences in two viewpoints using desired number of cameras, number of correspondences,
* outlier ratio, and noise. It returns the observations in both viewpoints, plus the ground truth values for the relative transformation parameters. It automatically returns
* measurement data for the central or the noncentral case depending on how many cameras are configured.
* <li> create2D3DExperiment.m: Does pretty much the same thing, however for the absolute pose situation.
* <li> evaluateRotationError.m/evaluateTransformationError.m: Computes the rotation/transformation error of multiple hypotheses by selecting the one that is closest to ground truth.
* <li> perturb.m: puts a random perturbation on a transformation
* <li> rodrigues.m / cayley2rot.m / rot2cayley.m: back and forth transformation to minimal rotation representations.
* <li> transformEssentials.m: Transforms a set of multiple essential matrices into rotations.
* <li> addNoise.m: Adds noise to a bearing vector by assuming a spherical camera and extracting the corresponding tangential plane.
* </ul>
*
* The main benchmark files are finally given by:
*
* <ul>
* <li> benchmark_absolute_pose.m
* <li> benchmark_absolute_pose_noncentral.m
* <li> benchmark_relative_pose.m
* <li> benchmark_relative_pose_noncentral.m
* </ul>
*
* opengv.cpp contains the interface itself. Some other files like opengv_donotuse.cpp are used for timing experiments (named benchmark_xxx_timing.m). They execute each problem 20 times so time can be measured sufficiently accurate without overhead from Matlab. opengv_experimental1.cpp and opengv_experimental2.cpp are used for some specific ransac experiments, they are not as important.
*
* The benchmarks are fairly well documented and self-explaining. They simply run multiple tests for each algorithm while going through increasing noise-levels, and finally plot the resulting mean and
* median errors. Adding an algorithm or changing the set of algorithms for comparison is very easy, you simply have to modify the cell-arrays algorithms, indices, and names. They contain the internal
* names of the algorithms that are being evaluated, the indices of the points to use from the experiment (allowing to use different (numbers of) points for each algorithm and random experiment), and
* the names of the algorithms for the final plots. Comparing your new algorithm has never been easier :)
*/

View File

@@ -0,0 +1,48 @@
/** \page page_how_to_contribute How to contribute
*
* You are missing your geometric vision algorithm? You share the feeling that it would be nice to have a common place for all geometric vision algorithms, which then implicitly would offer automatic benchmarking without having to do the overhead everyime? Well, that place is here! Join the community today and add your algorithm(s). The instructions on this page give you some additional hints if you want to participate.
*
* \section sec_contribute_1 Preparations
*
* If you haven't done so, please follow the instructions in the "Installation"-section to install the library on your system. We strongly recommend that you are using github's fork/pull request mechanism.
* It is also recommended that you first collect some experience with using the library, and notably understand the interface of the library. Please checkout the section "How to use".
*
* \section sec_contribute_2 Design concepts:
*
* The library is developped in C++. The interface is based on the adapter-pattern, and you should use this concept in order to keep things as compatible as possible. In essence, it means that you should reuse the base-classes AbsoluteAdapterBase and RelativeAdapterBase, no matter if implementing a new algorithm or if extending the portability by implementing a new adapter. Have a look at the "How to use"-section in order to get more information.
*
* You should also make yourself familiar with some coding standards. The code written so far doesn't necessarily follow one standard exclusively, but at least reflects the effort of maintaining a reasonable level of consistency. Please try to follow that line, it will substantially facilitate the inclusion of your code. Also have a look at the directory structure, it strictly follows the namespace structure, and this should remain the case. Headers that are only intended for internal use are in sub-folders called "modules", and templated implementation-headers go into sub-directories called "implementation". Also have a look at types.hpp, these are the types used for all geometric vision constructs, and should be reused thoughout the entire library. OpenGV uses two-space indentation, and tries to stick to 80-column width.
*
* Another property that should be maintened is "independence". The library essentially depends only on Eigen. This is a powerful library that should deliver most of the functionality required for the purpose of opengv. For the sake of simplicity of installation and contribution, we should keep things along these lines, which means that it is appreciated if algorithms do not require the inclusion of any further third-party libraries.
*
* The files in the library are encoded with UTF-8. It has been mainly developed under Linux, and compilation with gcc currently returns no warnings (hopefully). If you plan to develop under Windows, make sure you use an editor that understands UTF-8 encoding (no, notepad.exe is not a nice editor ;) ).
*
* \section sec_contribute_3 Todos:
*
* The following is a non-exhaustive list of things that could be improved.
* You may also want to contact kneip.laurent@gmail.com for further information, if you want to
* collaborate on one of these points.
*
* <ul>
* <li> The library should easily permit further benchmarks, for instance all the special cases (e.g. planar structure etc.).
* <li> The triangulation method needs to be able to handle non-central viewpoints. This would avoid some hacks here and there. Same accounts for the point-cloud alignment methods.
* <li> The triangulation methods (and possibly further algorithms) should be included in the opengv-Matlab-interface.
* <li> NoncentralRelativePoseSacProblem could decide automatically whether it should process data in a central or non-central way. Same accounts for the MultiNoncentralRelativePoseSacProblem.
* <li> Sometimes ransac or iterative methods reset the adapter transformation for instance to compute reprojection errors (search recursively for sett). The original value should always be reset, because other parts of the algorithm potentially want to use it.
* <li> Add more adapters to increase the portability. Examples are: OpenCV, Gandalf, VXR, Bundler, libcvd, OpenMVG.
* <li> There is an improved version of p3p_kneip lying around somewhere, which could be included.
* <li> Richard Hartley's implementation of the five-point should be included (replacing the current one).
* <li> Hongdong Li's five-point solver should be included.
* <li> Kukelova's polynomial eigenvalue solution could be included.
* <li> P4P and DLT should be included.
* <li> What about DLS and OPnP? Only Matlab versions are publically available.
* <li> The 6-point by Stewenius is extremly difficult to reimplement. The reimplementation I provide is maybe not the best.
* <li> Most of the current implementations treat the correspondences equally. The AdapterBase-classes however contain already a virtual function called "getWeight", which could be used to weight the correspondences differently for instance in a non-linear optimization scheme. Most of the adapters currently simply return 1.0 for these calls. Only the CentralRelativeWeightingAdapter has constructors that include the weight of the correspondences.
* <li> arun_complete and threept_arun are redundant, we should get rid of one of them.
* <li> The polynomial structures are Matlab-like arrays of coefficients, of different types, and sometimes with different conventions (coefficients once stored along the lines, once along the columns).
* <li> Add more comments in implementation files such that users can potentially understand what's going on.
* <li> Use vector.segment, block...topleftcorner etc.
* <li> Theia by Chris Sweeney has an interesting Sturm root finder, it could be transplanted.
* </ul>
*
*/

View File

@@ -0,0 +1,9 @@
/** \page page_contact Contact
*
* For any questions or inquiries, please contact:
*
\verbatim
kneip.laurent@gmail.com
\endverbatim
*
*/

View File

@@ -0,0 +1,42 @@
/** \page page_references References
*
[1] L. Kneip, D. Scaramuzza, R. Siegwart, "A Novel Parametrization of the Perspective-Three-Point Problem for a Direct Computation of Absolute Camera Position and Orientation", Proc. of The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Colorado Springs, USA. June 2011.
[2] X. Gao, X. Hou, J. Tang, H. Cheng. "Complete solution classification for the perspective-three-point problem", IEEE Transactions on Pattern Analysis and Machine Intelligence, 25(8):930943, 2003.
[3] L. Kneip, P. Furgale, R. Siegwart, "Using Multi-Camera Systems in Robotics: Efficient Solutions to the NPnP Problem", Proc. of The IEEE International Conference on Robotics and Automation (ICRA), Karlsruhe, Germany. May 2013.
[4] V. Lepetit, F. Moreno-Noguer, P. Fua. "Epnp: An accurate O(n) solution to the pnp problem", International Journal of Computer Vision (IJCV), 81(2):578589, 2009.
[5] H. D. Stewénius, C. Engels, D. Nistér. "Recent developments on direct relative orientation", ISPRS Journal of Photogrammetry and Remote Sensing, 60(4):284294, 2006.
[6] D. Nistér, "An efficient solution to the five-point relative pose problem", IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 26(6):756777, 2004.
[7] L. Kneip, R. Siegwart, M. Pollefeys, "Finding the Exact Rotation Between Two Images Independently of the Translation", Proc. of The European Conference on Computer Vision (ECCV), Florence, Italy. October 2012.
[8] R. Hartley, A. Zisserman. "Multiple View Geometry in Computer Vision", Cambridge University Press, New York, NY, USA, second edition, 2004.
[9] H. Longuet-Higgins, "Readings in computer vision: issues, problems, principles, and paradigms", Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1987.
[10] R. Hartley, "In Defense of the Eight-Point Algorithm", IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 19(6):580593, 1997.
[11] L. Kneip, S. Lynen, "Direct Optimization of Frame-to-Frame Rotation", Proc. of The International Conference on Computer Vision (ICCV), Sydney, Australia. December 2013. (Accepted for publication)
[12] H. Li, R. Hartley, J. Kim, "A Linear Approach to Motion Estimation Using Generalized Camera Models", Proc. of The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Anchorage, Alaska, USA. June 2008.
[13] K.S. Arun, T.S. Huang, S.D. Blostein, "Least-Squares Fitting of Two 3-D Point Sets", IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 9(5), 698-700, 1987.
[14] A. Cayley. "About the algebraic structure of the orthogonal group and the other classical groups in a field of characteristic zero or a prime characteristic", Reine Angewandte Mathematik, 32, 1846.
[15] M. Fischler, R. Bolles, "Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography", Communications of the ACM, 24(6):381395, 1981.
[16] H. Stewenius, D. Nister, M. Oskarsson, K. Aström, "Solutions to Minimal Generalized Relative Pose Problems", Workshop on omni-directional vision, 2005.
[17] L. Kneip, P. Furgale, "OpenGV: A unified and generalized approach to real-time calibrated geometric vision", Proc. of The IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China. May 2014.
[18] L. Kneip, H. Li, "Efficient Computation of Relative Pose for Multi-Camera Systems", In Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Columbus, USA. June 2014.
[19] L. Kneip, H. Li, Y. Seo, "UPnP: An optimal O(n) solution to the absolute pose problem with universal applicability", In Proc. of The European Conference on Computer Vision (ECCV), Zurich, Switzerland. September 2014.
*
*/

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

View File

@@ -0,0 +1,274 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/laurent/ldevel/geometric_vision/doc/addons/images/central.dia
%%Creator: Dia v0.97.2
%%CreationDate: Mon Aug 12 11:46:14 2013
%%For: laurent
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 361 325
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-7.425651 -12.867500 translate
%%EndProlog
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.000000 0.000000 0.000000 srgb
n 13.750000 6.750000 m 11.032949 10.553872 l s
[] 0 sd
0 slj
0 slc
n 10.814984 10.859022 m 10.902170 10.306846 l 11.032949 10.553872 l 11.309037 10.597465 l ef
n 10.814984 10.859022 m 10.902170 10.306846 l 11.032949 10.553872 l 11.309037 10.597465 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 13.700000 6.838560 m 19.556597 6.830029 l s
[] 0 sd
0 slj
0 slc
n 19.931597 6.829483 m 19.431961 7.080211 l 19.556597 6.830029 l 19.431233 6.580211 l ef
n 19.931597 6.829483 m 19.431961 7.080211 l 19.556597 6.830029 l 19.431233 6.580211 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 13.700000 6.850000 m 13.700000 12.163197 l s
[] 0 sd
0 slj
0 slc
n 13.700000 12.538197 m 13.450000 12.038197 l 13.700000 12.163197 l 13.950000 12.038197 l ef
n 13.700000 12.538197 m 13.450000 12.038197 l 13.700000 12.163197 l 13.950000 12.038197 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 13.725000 6.850000 m 12.136646 1.990702 l s
[] 0 sd
0 slj
0 slc
n 12.020136 1.634260 m 12.413110 2.031842 l 12.136646 1.990702 l 11.937855 2.187189 l ef
n 12.020136 1.634260 m 12.413110 2.031842 l 12.136646 1.990702 l 11.937855 2.187189 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 13.762400 6.823790 m 15.970656 11.782302 l s
[] 0 sd
0 slj
0 slc
n 16.123215 12.124867 m 15.691426 11.769821 l 15.970656 11.782302 l 16.148179 11.566408 l ef
n 16.123215 12.124867 m 15.691426 11.769821 l 15.970656 11.782302 l 16.148179 11.566408 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 13.748100 6.823790 m 19.136690 8.830027 l s
[] 0 sd
0 slj
0 slc
n 19.488123 8.960870 m 18.932317 9.020702 l 19.136690 8.830027 l 19.106774 8.552125 l ef
n 19.488123 8.960870 m 18.932317 9.020702 l 19.136690 8.830027 l 19.106774 8.552125 l cp s
0.000000 0.000000 0.000000 srgb
gsave 19.100000 6.250000 translate 0.035278 -0.035278 scale
start_ol
3840 3840 moveto
2453 1971 lineto
3904 0 lineto
3164 0 lineto
2053 1509 lineto
936 0 lineto
192 0 lineto
1683 2009 lineto
320 3840 lineto
1063 3840 lineto
2080 2472 lineto
3097 3840 lineto
3840 3840 lineto
end_ol grestore
gsave 10.255000 10.057500 translate 0.035278 -0.035278 scale
start_ol
2217 -381 moveto
1949 -1059 1695 -1265 conicto
1441 -1472 1016 -1472 conicto
512 -1472 lineto
512 -960 lineto
882 -960 lineto
1143 -960 1287 -833 conicto
1431 -706 1606 -233 conicto
1719 55 lineto
192 3840 lineto
834 3840 lineto
2035 837 lineto
3235 3840 lineto
3904 3840 lineto
2217 -381 lineto
end_ol grestore
gsave 12.800000 12.650000 translate 0.035278 -0.035278 scale
start_ol
384 3840 moveto
3392 3840 lineto
3392 3265 lineto
1010 512 lineto
3392 512 lineto
3392 0 lineto
320 0 lineto
320 575 lineto
2680 3328 lineto
384 3328 lineto
384 3840 lineto
end_ol grestore
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 13.751800 6.821520 m 7.996715 8.630384 l s
[] 0 sd
0 slj
0 slc
n 7.638969 8.742826 m 8.041002 8.354407 l 7.996715 8.630384 l 8.190924 8.831401 l ef
n 7.638969 8.742826 m 8.041002 8.354407 l 7.996715 8.630384 l 8.190924 8.831401 l cp s
0.000000 0.000000 0.000000 srgb
gsave 13.990000 6.142500 translate 0.035278 -0.035278 scale
start_ol
3403 4571 moveto
2755 4571 2247 4052 conicto
1739 3533 1496 2839 conicto
1253 2146 1253 1502 conicto
1253 922 1512 589 conicto
1772 256 2236 256 conicto
2636 256 2987 458 conicto
3338 660 3781 1141 conicto
3954 1032 lineto
3467 414 2992 143 conicto
2517 -128 1912 -128 conicto
1156 -128 740 302 conicto
324 733 324 1508 conicto
324 2783 1285 3791 conicto
2247 4800 3457 4800 conicto
3943 4800 4267 4549 conicto
4591 4298 4591 3915 conicto
4591 3708 4439 3560 conicto
4288 3413 4072 3413 conicto
3651 3413 3651 3828 conicto
3651 3938 3732 4118 conicto
3813 4298 3813 4352 conicto
3813 4571 3403 4571 conicto
end_ol grestore
showpage

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

View File

@@ -0,0 +1,739 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/laurent/ldevel/geometric_vision/doc/addons/images/noncentral.dia
%%Creator: Dia v0.97.2
%%CreationDate: Mon Aug 12 11:47:36 2013
%%For: laurent
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 845 577
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-16.342097 -23.244600 translate
%%EndProlog
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.000000 0.000000 0.000000 srgb
n 39.676900 17.127100 m 36.959849 20.930972 l s
[] 0 sd
0 slj
0 slc
n 36.741884 21.236122 m 36.829070 20.683946 l 36.959849 20.930972 l 37.235937 20.974565 l ef
n 36.741884 21.236122 m 36.829070 20.683946 l 36.959849 20.930972 l 37.235937 20.974565 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 39.626900 17.177100 m 45.542898 17.188742 l s
[] 0 sd
0 slj
0 slc
n 45.917897 17.189480 m 45.417406 17.438496 l 45.542898 17.188742 l 45.418390 16.938497 l ef
n 45.917897 17.189480 m 45.417406 17.438496 l 45.542898 17.188742 l 45.418390 16.938497 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 39.626900 17.227100 m 39.626900 22.540297 l s
[] 0 sd
0 slj
0 slc
n 39.626900 22.915297 m 39.376900 22.415297 l 39.626900 22.540297 l 39.876900 22.415297 l ef
n 39.626900 22.915297 m 39.376900 22.415297 l 39.626900 22.540297 l 39.876900 22.415297 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 39.651900 17.177100 m 37.006725 22.479000 l s
[] 0 sd
0 slj
0 slc
n 36.839313 22.814556 m 36.838825 22.255540 l 37.006725 22.479000 l 37.286234 22.478756 l ef
n 36.839313 22.814556 m 36.838825 22.255540 l 37.006725 22.479000 l 37.286234 22.478756 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 39.625700 17.177000 m 44.549433 20.119570 l s
[] 0 sd
0 slj
0 slc
n 44.871329 20.311945 m 44.313885 20.270043 l 44.549433 20.119570 l 44.570384 19.840848 l ef
n 44.871329 20.311945 m 44.313885 20.270043 l 44.549433 20.119570 l 44.570384 19.840848 l cp s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 39.655700 17.239500 m 42.055008 22.275131 l s
[] 0 sd
0 slj
0 slc
n 42.216309 22.613668 m 41.775550 22.269820 l 42.055008 22.275131 l 42.226932 22.054752 l ef
n 42.216309 22.613668 m 41.775550 22.269820 l 42.055008 22.275131 l 42.226932 22.054752 l cp s
0.000000 0.000000 0.000000 srgb
gsave 44.767600 16.724400 translate 0.035278 -0.035278 scale
start_ol
3840 3840 moveto
2453 1971 lineto
3904 0 lineto
3164 0 lineto
2053 1509 lineto
936 0 lineto
192 0 lineto
1683 2009 lineto
320 3840 lineto
1063 3840 lineto
2080 2472 lineto
3097 3840 lineto
3840 3840 lineto
end_ol grestore
gsave 36.181900 20.434600 translate 0.035278 -0.035278 scale
start_ol
2217 -381 moveto
1949 -1059 1695 -1265 conicto
1441 -1472 1016 -1472 conicto
512 -1472 lineto
512 -960 lineto
882 -960 lineto
1143 -960 1287 -833 conicto
1431 -706 1606 -233 conicto
1719 55 lineto
192 3840 lineto
834 3840 lineto
2035 837 lineto
3235 3840 lineto
3904 3840 lineto
2217 -381 lineto
end_ol grestore
gsave 38.726900 23.027100 translate 0.035278 -0.035278 scale
start_ol
384 3840 moveto
3392 3840 lineto
3392 3265 lineto
1010 512 lineto
3392 512 lineto
3392 0 lineto
320 0 lineto
320 575 lineto
2680 3328 lineto
384 3328 lineto
384 3840 lineto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 23.002600 9.564840 m 19.294824 12.754812 l s
[] 0 sd
0 slj
0 slc
n 19.010553 12.999383 m 19.226533 12.483774 l 19.294824 12.754812 l 19.552628 12.862802 l ef
n 19.010553 12.999383 m 19.226533 12.483774 l 19.294824 12.754812 l 19.552628 12.862802 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 22.998600 9.563630 m 16.940703 9.562593 l s
[] 0 sd
0 slj
0 slc
n 16.565703 9.562529 m 17.065746 9.312615 l 16.940703 9.562593 l 17.065661 9.812615 l ef
n 16.565703 9.562529 m 17.065746 9.312615 l 16.940703 9.562593 l 17.065661 9.812615 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 22.985000 9.600000 m 22.988474 4.419583 l s
[] 0 sd
0 slj
0 slc
n 22.988725 4.044583 m 23.238390 4.544751 l 22.988474 4.419583 l 22.738390 4.544416 l ef
n 22.988725 4.044583 m 23.238390 4.544751 l 22.988474 4.419583 l 22.738390 4.544416 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 23.004800 9.535160 m 20.839856 14.314765 l s
[] 0 sd
0 slj
0 slc
n 20.685130 14.656357 m 20.663703 14.097751 l 20.839856 14.314765 l 21.119159 14.304052 l ef
n 20.685130 14.656357 m 20.663703 14.097751 l 20.839856 14.314765 l 21.119159 14.304052 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 22.976400 9.579930 m 18.644927 6.573853 l s
[] 0 sd
0 slj
0 slc
n 18.336851 6.360045 m 18.890158 6.439738 l 18.644927 6.573853 l 18.605081 6.850507 l ef
n 18.336851 6.360045 m 18.890158 6.439738 l 18.644927 6.573853 l 18.605081 6.850507 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 22.981400 9.547510 m 26.990474 6.707385 l s
[] 0 sd
0 slj
0 slc
n 27.296470 6.490610 m 27.032992 6.983641 l 26.990474 6.707385 l 26.743958 6.575646 l ef
n 27.296470 6.490610 m 27.032992 6.983641 l 26.990474 6.707385 l 26.743958 6.575646 l cp s
0.000000 0.000000 0.000000 srgb
gsave 19.858400 13.235000 translate 0.035278 -0.035278 scale
start_ol
3840 3840 moveto
2453 1971 lineto
3904 0 lineto
3164 0 lineto
2053 1509 lineto
936 0 lineto
192 0 lineto
1683 2009 lineto
320 3840 lineto
1063 3840 lineto
2080 2472 lineto
3097 3840 lineto
3840 3840 lineto
end_ol grestore
gsave 23.395800 5.143080 translate 0.035278 -0.035278 scale
start_ol
2217 -381 moveto
1949 -1059 1695 -1265 conicto
1441 -1472 1016 -1472 conicto
512 -1472 lineto
512 -960 lineto
882 -960 lineto
1143 -960 1287 -833 conicto
1431 -706 1606 -233 conicto
1719 55 lineto
192 3840 lineto
834 3840 lineto
2035 837 lineto
3235 3840 lineto
3904 3840 lineto
2217 -381 lineto
end_ol grestore
gsave 17.578500 9.077910 translate 0.035278 -0.035278 scale
start_ol
384 3840 moveto
3392 3840 lineto
3392 3265 lineto
1010 512 lineto
3392 512 lineto
3392 0 lineto
320 0 lineto
320 575 lineto
2680 3328 lineto
384 3328 lineto
384 3840 lineto
end_ol grestore
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 23.004400 9.564510 m 17.412162 11.336550 l s
[] 0 sd
0 slj
0 slc
n 17.054681 11.449827 m 17.455805 11.060470 l 17.412162 11.336550 l 17.606841 11.537112 l ef
n 17.054681 11.449827 m 17.455805 11.060470 l 17.412162 11.336550 l 17.606841 11.537112 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 39.642800 17.182300 m 43.197572 13.449812 l s
[] 0 sd
0 slj
0 slc
n 43.456194 13.178261 m 43.292399 13.712743 l 43.197572 13.449812 l 42.930331 13.367914 l ef
n 43.456194 13.178261 m 43.292399 13.712743 l 43.197572 13.449812 l 42.930331 13.367914 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.000000 0.000000 0.000000 srgb
n 39.091700 7.333770 m 44.837097 7.327510 l s
[] 0 sd
0 slj
0 slc
n 45.212097 7.327102 m 44.712369 7.577646 l 44.837097 7.327510 l 44.711825 7.077647 l ef
n 45.212097 7.327102 m 44.712369 7.577646 l 44.837097 7.327510 l 44.711825 7.077647 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 39.167700 7.323240 m 39.157523 12.163998 l s
[] 0 sd
0 slj
0 slc
n 39.156735 12.538997 m 38.907787 12.038472 l 39.157523 12.163998 l 39.407786 12.039524 l ef
n 39.156735 12.538997 m 38.907787 12.038472 l 39.157523 12.163998 l 39.407786 12.039524 l cp s
gsave 44.726400 8.291770 translate 0.035278 -0.035278 scale
start_ol
384 3840 moveto
3392 3840 lineto
3392 3265 lineto
1010 512 lineto
3392 512 lineto
3392 0 lineto
320 0 lineto
320 575 lineto
2680 3328 lineto
384 3328 lineto
384 3840 lineto
end_ol grestore
gsave 39.539100 13.090100 translate 0.035278 -0.035278 scale
start_ol
3840 3840 moveto
2453 1971 lineto
3904 0 lineto
3164 0 lineto
2053 1509 lineto
936 0 lineto
192 0 lineto
1683 2009 lineto
320 3840 lineto
1063 3840 lineto
2080 2472 lineto
3097 3840 lineto
3840 3840 lineto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 39.139800 7.341920 m 43.011821 3.804036 l s
[] 0 sd
0 slj
0 slc
n 43.288662 3.551085 m 43.088175 4.072914 l 43.011821 3.804036 l 42.750907 3.703793 l ef
n 43.288662 3.551085 m 43.088175 4.072914 l 43.011821 3.804036 l 42.750907 3.703793 l cp s
gsave 41.938200 3.760940 translate 0.035278 -0.035278 scale
start_ol
2217 -381 moveto
1949 -1059 1695 -1265 conicto
1441 -1472 1016 -1472 conicto
512 -1472 lineto
512 -960 lineto
882 -960 lineto
1143 -960 1287 -833 conicto
1431 -706 1606 -233 conicto
1719 55 lineto
192 3840 lineto
834 3840 lineto
2035 837 lineto
3235 3840 lineto
3904 3840 lineto
2217 -381 lineto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 39.165100 7.314910 m 35.475263 4.187579 l s
[] 0 sd
0 slj
0 slc
n 35.189190 3.945118 m 35.732261 4.077685 l 35.475263 4.187579 l 35.408979 4.459115 l ef
n 35.189190 3.945118 m 35.732261 4.077685 l 35.475263 4.187579 l 35.408979 4.459115 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 39.177700 7.326740 m 41.768136 12.079659 l s
[] 0 sd
0 slj
0 slc
n 41.947596 12.408930 m 41.488803 12.089542 l 41.768136 12.079659 l 41.927831 11.850263 l ef
n 41.947596 12.408930 m 41.488803 12.089542 l 41.768136 12.079659 l 41.927831 11.850263 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 39.179800 7.304860 m 43.897905 5.002574 l s
[] 0 sd
0 slj
0 slc
n 44.234921 4.838121 m 43.895201 5.282069 l 43.897905 5.002574 l 43.675930 4.832714 l ef
n 44.234921 4.838121 m 43.895201 5.282069 l 43.897905 5.002574 l 43.675930 4.832714 l cp s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 39.151800 7.314500 m 34.233942 9.577141 l s
[] 0 sd
0 slj
0 slc
n 33.893269 9.733879 m 34.243007 9.297779 l 34.233942 9.577141 l 34.451992 9.752009 l ef
n 33.893269 9.733879 m 34.243007 9.297779 l 34.233942 9.577141 l 34.451992 9.752009 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.000000 0.000000 1.000000 srgb
n 31.421900 13.303100 m 34.473903 16.385762 l s
[] 0 sd
0 slj
0 slc
n 34.737739 16.652249 m 34.208299 16.472824 l 34.473903 16.385762 l 34.563615 16.121042 l ef
n 34.737739 16.652249 m 34.208299 16.472824 l 34.473903 16.385762 l 34.563615 16.121042 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 31.418000 13.301900 m 26.185095 14.774805 l s
[] 0 sd
0 slj
0 slc
n 25.824121 14.876408 m 26.237684 14.500288 l 26.185095 14.774805 l 26.373155 14.981586 l ef
n 25.824121 14.876408 m 26.237684 14.500288 l 26.185095 14.774805 l 26.373155 14.981586 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 31.404400 13.338300 m 31.396427 8.186329 l s
[] 0 sd
0 slj
0 slc
n 31.395847 7.811329 m 31.646620 8.310942 l 31.396427 8.186329 l 31.146621 8.311716 l ef
n 31.395847 7.811329 m 31.646620 8.310942 l 31.396427 8.186329 l 31.146621 8.311716 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.627451 0.125490 0.941176 srgb
n 31.419900 13.288300 m 38.756560 7.604880 l s
[] 0 sd
0 slj
0 slc
n 39.053014 7.375229 m 38.810843 7.879067 l 38.756560 7.604880 l 38.504641 7.483795 l ef
n 39.053014 7.375229 m 38.810843 7.879067 l 38.756560 7.604880 l 38.504641 7.483795 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 31.406600 13.310900 m 39.200326 16.950711 l s
[] 0 sd
0 slj
0 slc
n 39.540099 17.109391 m 38.981282 17.124333 l 39.200326 16.950711 l 39.192855 16.671302 l ef
n 39.540099 17.109391 m 38.981282 17.124333 l 39.200326 16.950711 l 39.192855 16.671302 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 31.427900 13.275700 m 23.412157 9.752625 l s
[] 0 sd
0 slj
0 slc
n 23.068853 9.601736 m 23.627185 9.574052 l 23.412157 9.752625 l 23.426000 10.031791 l ef
n 23.068853 9.601736 m 23.627185 9.574052 l 23.412157 9.752625 l 23.426000 10.031791 l cp s
0.000000 0.000000 0.000000 srgb
gsave 24.130000 9.597500 translate 0.035278 -0.035278 scale
start_ol
3403 4571 moveto
2755 4571 2247 4052 conicto
1739 3533 1496 2839 conicto
1253 2146 1253 1502 conicto
1253 922 1512 589 conicto
1772 256 2236 256 conicto
2636 256 2987 458 conicto
3338 660 3781 1141 conicto
3954 1032 lineto
3467 414 2992 143 conicto
2517 -128 1912 -128 conicto
1156 -128 740 302 conicto
324 733 324 1508 conicto
324 2783 1285 3791 conicto
2247 4800 3457 4800 conicto
3943 4800 4267 4549 conicto
4591 4298 4591 3915 conicto
4591 3708 4439 3560 conicto
4288 3413 4072 3413 conicto
3651 3413 3651 3828 conicto
3651 3938 3732 4118 conicto
3813 4298 3813 4352 conicto
3813 4571 3403 4571 conicto
end_ol grestore
gsave 38.740000 6.392500 translate 0.035278 -0.035278 scale
start_ol
3403 4571 moveto
2755 4571 2247 4052 conicto
1739 3533 1496 2839 conicto
1253 2146 1253 1502 conicto
1253 922 1512 589 conicto
1772 256 2236 256 conicto
2636 256 2987 458 conicto
3338 660 3781 1141 conicto
3954 1032 lineto
3467 414 2992 143 conicto
2517 -128 1912 -128 conicto
1156 -128 740 302 conicto
324 733 324 1508 conicto
324 2783 1285 3791 conicto
2247 4800 3457 4800 conicto
3943 4800 4267 4549 conicto
4591 4298 4591 3915 conicto
4591 3708 4439 3560 conicto
4288 3413 4072 3413 conicto
3651 3413 3651 3828 conicto
3651 3938 3732 4118 conicto
3813 4298 3813 4352 conicto
3813 4571 3403 4571 conicto
end_ol grestore
gsave 39.374405 6.392500 translate 0.035278 -0.035278 scale
start_ol
1426 4608 moveto
1566 6342 1653 6678 conicto
1880 7220 2258 7264 conicto
2398 7264 2500 7171 conicto
2603 7079 2603 6949 conicto
2603 6678 1653 4608 conicto
1426 4608 lineto
end_ol grestore
gsave 39.679114 6.392500 translate 0.035278 -0.035278 scale
start_ol
end_ol grestore
gsave 38.864319 16.097905 translate 0.035278 -0.035278 scale
start_ol
3403 4571 moveto
2755 4571 2247 4052 conicto
1739 3533 1496 2839 conicto
1253 2146 1253 1502 conicto
1253 922 1512 589 conicto
1772 256 2236 256 conicto
2636 256 2987 458 conicto
3338 660 3781 1141 conicto
3954 1032 lineto
3467 414 2992 143 conicto
2517 -128 1912 -128 conicto
1156 -128 740 302 conicto
324 733 324 1508 conicto
324 2783 1285 3791 conicto
2247 4800 3457 4800 conicto
3943 4800 4267 4549 conicto
4591 4298 4591 3915 conicto
4591 3708 4439 3560 conicto
4288 3413 4072 3413 conicto
3651 3413 3651 3828 conicto
3651 3938 3732 4118 conicto
3813 4298 3813 4352 conicto
3813 4571 3403 4571 conicto
end_ol grestore
gsave 39.498723 16.097905 translate 0.035278 -0.035278 scale
start_ol
1426 4608 moveto
1566 6342 1653 6678 conicto
1880 7220 2258 7264 conicto
2398 7264 2500 7171 conicto
2603 7079 2603 6949 conicto
2603 6678 1653 4608 conicto
1426 4608 lineto
end_ol grestore
gsave 39.803433 16.097905 translate 0.035278 -0.035278 scale
start_ol
1426 4608 moveto
1566 6342 1653 6678 conicto
1880 7220 2258 7264 conicto
2398 7264 2500 7171 conicto
2603 7079 2603 6949 conicto
2603 6678 1653 4608 conicto
1426 4608 lineto
end_ol grestore
gsave 40.108142 16.097905 translate 0.035278 -0.035278 scale
start_ol
end_ol grestore
0.000000 0.000000 1.000000 srgb
gsave 30.295100 14.591955 translate 0.035278 -0.035278 scale
start_ol
4051 3625 moveto
4051 3767 3824 3984 conicto
3597 4201 3597 4430 conicto
3597 4604 3705 4702 conicto
3813 4800 3997 4800 conicto
4245 4800 4423 4609 conicto
4602 4419 4602 4159 conicto
4602 3854 4413 3381 conicto
4224 2908 3943 2505 conicto
3111 1331 2441 569 conicto
1772 -192 1566 -192 conicto
1469 -192 1469 189 conicto
1469 656 1393 1651 conicto
1318 2647 1231 3212 conicto
1123 3962 993 4179 conicto
864 4397 551 4397 conicto
346 4397 227 4386 conicto
227 4528 lineto
605 4593 886 4647 conicto
1167 4702 1275 4734 conicto
1383 4767 1469 4783 conicto
1555 4800 1642 4800 conicto
1815 4800 1993 3516 conicto
2171 2233 2236 765 conicto
2571 1113 lineto
3143 1722 3597 2488 conicto
4051 3255 4051 3625 conicto
end_ol grestore
gsave 30.887039 14.591955 translate 0.035278 -0.035278 scale
start_ol
961 4414 moveto
605 4414 lineto
583 4570 lineto
2247 4800 2268 4800 conicto
2322 4800 2322 4758 conicto
1977 3589 lineto
2452 4243 2873 4521 conicto
3295 4800 3824 4800 conicto
4396 4800 4731 4434 conicto
5066 4069 5066 3437 conicto
5066 2140 4034 1006 conicto
3003 -128 1826 -128 conicto
1469 -128 1113 77 conicto
713 -1429 713 -1747 conicto
713 -2077 1404 -2077 conicto
1404 -2240 lineto
-810 -2240 lineto
-810 -2066 lineto
-670 -2066 -583 -2049 conicto
-497 -2033 -410 -1983 conicto
-324 -1934 -281 -1874 conicto
-238 -1815 -173 -1678 conicto
-108 -1542 -70 -1405 conicto
-32 -1269 32 -1006 conicto
97 -744 156 -487 conicto
216 -231 324 190 conicto
432 611 540 1026 conicto
1307 3955 1307 4119 conicto
1307 4217 1188 4315 conicto
1069 4414 961 4414 conicto
4094 3415 moveto
4094 4352 3381 4352 conicto
2981 4352 2576 3997 conicto
2171 3643 1966 3109 conicto
1728 2498 1496 1637 conicto
1264 777 1264 505 conicto
1264 330 1409 215 conicto
1555 101 1782 101 conicto
2430 101 2986 690 conicto
3543 1279 3818 2030 conicto
4094 2782 4094 3415 conicto
end_ol grestore
showpage

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

View File

@@ -0,0 +1,995 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/laurent/ldevel/geometric_vision/doc/addons/images/nonoverlapping.dia
%%Creator: Dia v0.97.2
%%CreationDate: Mon Aug 12 17:41:41 2013
%%For: laurent
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 1248 632
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
7.265770 -42.514400 translate
%%EndProlog
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
0.000000 0.000000 0.000000 srgb
n 8.719199 33.691291 m 15.820121 40.781109 l s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 22.502662 33.765953 m 16.176938 40.773747 l s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 22.468149 25.870395 m 16.396151 20.664405 l s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 8.740989 25.821394 m 15.983011 20.646106 l s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 12.956206 29.768438 m 36.226994 33.818062 l s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 27.079236 29.892609 m 36.244364 33.761191 l s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 18.307211 29.752772 m -5.362491 26.129728 l s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 4.168667 29.634295 m -5.364307 26.180905 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.627451 0.125490 0.941176 srgb
n 4.598305 29.704152 m 12.467695 29.737648 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 4.987562 29.455806 m 4.486502 29.703676 l 4.985434 29.955802 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 12.078438 29.985994 m 12.579498 29.738124 l 12.080566 29.485998 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 8.740665 25.821442 m 12.973195 22.793161 l s
[] 0 sd
0 slj
0 slc
n 13.278173 22.574956 m 13.017006 23.069215 l 12.973195 22.793161 l 12.726066 22.662577 l ef
n 13.278173 22.574956 m 13.017006 23.069215 l 12.973195 22.793161 l 12.726066 22.662577 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 4.168667 29.634295 m -0.140125 28.073404 l s
[] 0 sd
0 slj
0 slc
n -0.492703 27.945680 m 0.062551 27.880926 l -0.140125 28.073404 l -0.107748 28.351031 l ef
n -0.492703 27.945680 m 0.062551 27.880926 l -0.140125 28.073404 l -0.107748 28.351031 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 12.955534 29.768728 m 17.491333 30.565206 l s
[] 0 sd
0 slj
0 slc
n 17.860681 30.630063 m 17.324978 30.789820 l 17.491333 30.565206 l 17.411454 30.297355 l ef
n 17.860681 30.630063 m 17.324978 30.789820 l 17.491333 30.565206 l 17.411454 30.297355 l cp s
0.000000 0.000000 0.000000 srgb
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 22.467712 25.871477 m 18.785298 22.741097 l s
[] 0 sd
0 slj
0 slc
n 18.499584 22.498214 m 19.042458 22.631581 l 18.785298 22.741097 l 18.718615 23.012534 l ef
n 18.499584 22.498214 m 19.042458 22.631581 l 18.785298 22.741097 l 18.718615 23.012534 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 22.499879 33.769065 m 19.496460 37.096818 l s
[] 0 sd
0 slj
0 slc
n 19.245209 37.375202 m 19.394622 36.836522 l 19.496460 37.096818 l 19.765800 37.171524 l ef
n 19.245209 37.375202 m 19.394622 36.836522 l 19.496460 37.096818 l 19.765800 37.171524 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 27.079623 29.891701 m 31.316502 31.661287 l s
[] 0 sd
0 slj
0 slc
n 31.662533 31.805811 m 31.104809 31.843800 l 31.316502 31.661287 l 31.297508 31.382424 l ef
n 31.662533 31.805811 m 31.104809 31.843800 l 31.316502 31.661287 l 31.297508 31.382424 l cp s
0.000000 0.000000 0.000000 srgb
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.627451 0.125490 0.941176 srgb
n 8.514452 26.223007 m 8.519208 33.227293 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 8.764715 26.611033 m 8.514376 26.111203 l 8.264716 26.611373 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 8.268945 32.839267 m 8.519284 33.339097 l 8.768944 32.838927 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 18.301064 29.753051 m 12.694340 28.921793 l s
[] 0 sd
0 slj
0 slc
n 12.323395 28.866797 m 12.854653 28.692829 l 12.694340 28.921793 l 12.781324 29.187423 l ef
n 12.323395 28.866797 m 12.854653 28.692829 l 12.694340 28.921793 l 12.781324 29.187423 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 8.719201 33.691291 m 11.925207 36.892249 l s
[] 0 sd
0 slj
0 slc
n 12.190581 37.157205 m 11.660112 36.980847 l 11.925207 36.892249 l 12.013386 36.627015 l ef
n 12.190581 37.157205 m 11.660112 36.980847 l 11.925207 36.892249 l 12.013386 36.627015 l cp s
0.000000 0.000000 0.000000 srgb
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.498039 0.498039 0.498039 srgb
n -5.610280 26.091800 0.212500 0.212500 0 360 ellipse f
n -5.610280 26.091800 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n -5.610280 26.091800 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
n 36.485800 33.863100 0.212500 0.212500 0 360 ellipse f
n 36.485800 33.863100 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 36.485800 33.863100 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
n 16.196700 20.493400 0.212500 0.212500 0 360 ellipse f
n 16.196700 20.493400 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 16.196700 20.493400 0.212500 0.212500 0 360 ellipse cp s
0.678431 0.678431 0.678431 srgb
gsave 15.771500 21.739800 translate 0.035278 -0.035278 scale
start_ol
2192 4735 moveto
2307 4814 2445 4885 conicto
2583 4957 2747 5007 conicto
2912 5057 3110 5088 conicto
3309 5120 3549 5120 conicto
4571 5120 5069 4507 conicto
5568 3895 5568 2573 conicto
5568 1966 5435 1468 conicto
5302 970 5025 615 conicto
4749 261 4326 66 conicto
3904 -128 3325 -128 conicto
3043 -128 2772 -93 conicto
2501 -59 2208 15 conicto
2213 -43 2221 -144 conicto
2229 -245 2231 -359 conicto
2234 -473 2237 -581 conicto
2240 -690 2240 -769 conicto
2240 -1856 lineto
2968 -1975 lineto
2968 -2304 lineto
166 -2304 lineto
166 -1975 lineto
704 -1856 lineto
704 4544 lineto
160 4663 lineto
160 4992 lineto
2181 4992 lineto
2192 4735 lineto
4032 2549 moveto
4032 3131 3959 3517 conicto
3887 3904 3762 4130 conicto
3637 4357 3473 4450 conicto
3310 4544 3128 4544 conicto
2863 4544 2637 4485 conicto
2411 4427 2240 4341 conicto
2240 560 lineto
2661 448 3118 448 conicto
3585 448 3808 976 conicto
4032 1504 4032 2549 conicto
end_ol grestore
gsave 16.584000 21.934800 translate 0.035278 -0.035278 scale
start_ol
2624 960 moveto
2624 0 lineto
2048 0 lineto
2048 960 lineto
128 960 lineto
128 1376 lineto
2229 4288 lineto
2624 4288 lineto
2624 1408 lineto
3200 1408 lineto
3200 960 lineto
2624 960 lineto
2048 3539 moveto
2032 3539 lineto
488 1408 lineto
2048 1408 lineto
2048 3539 lineto
end_ol grestore
gsave 35.395600 34.797700 translate 0.035278 -0.035278 scale
start_ol
2192 4735 moveto
2307 4814 2445 4885 conicto
2583 4957 2747 5007 conicto
2912 5057 3110 5088 conicto
3309 5120 3549 5120 conicto
4571 5120 5069 4507 conicto
5568 3895 5568 2573 conicto
5568 1966 5435 1468 conicto
5302 970 5025 615 conicto
4749 261 4326 66 conicto
3904 -128 3325 -128 conicto
3043 -128 2772 -93 conicto
2501 -59 2208 15 conicto
2213 -43 2221 -144 conicto
2229 -245 2231 -359 conicto
2234 -473 2237 -581 conicto
2240 -690 2240 -769 conicto
2240 -1856 lineto
2968 -1975 lineto
2968 -2304 lineto
166 -2304 lineto
166 -1975 lineto
704 -1856 lineto
704 4544 lineto
160 4663 lineto
160 4992 lineto
2181 4992 lineto
2192 4735 lineto
4032 2549 moveto
4032 3131 3959 3517 conicto
3887 3904 3762 4130 conicto
3637 4357 3473 4450 conicto
3310 4544 3128 4544 conicto
2863 4544 2637 4485 conicto
2411 4427 2240 4341 conicto
2240 560 lineto
2661 448 3118 448 conicto
3585 448 3808 976 conicto
4032 1504 4032 2549 conicto
end_ol grestore
gsave 36.208100 34.992700 translate 0.035278 -0.035278 scale
start_ol
2048 256 moveto
2921 170 lineto
2921 0 lineto
596 0 lineto
596 170 lineto
1472 256 lineto
1472 3701 lineto
609 3392 lineto
609 3565 lineto
1874 4288 lineto
2048 4288 lineto
2048 256 lineto
end_ol grestore
gsave -7.265770 26.069400 translate 0.035278 -0.035278 scale
start_ol
2192 4735 moveto
2307 4814 2445 4885 conicto
2583 4957 2747 5007 conicto
2912 5057 3110 5088 conicto
3309 5120 3549 5120 conicto
4571 5120 5069 4507 conicto
5568 3895 5568 2573 conicto
5568 1966 5435 1468 conicto
5302 970 5025 615 conicto
4749 261 4326 66 conicto
3904 -128 3325 -128 conicto
3043 -128 2772 -93 conicto
2501 -59 2208 15 conicto
2213 -43 2221 -144 conicto
2229 -245 2231 -359 conicto
2234 -473 2237 -581 conicto
2240 -690 2240 -769 conicto
2240 -1856 lineto
2968 -1975 lineto
2968 -2304 lineto
166 -2304 lineto
166 -1975 lineto
704 -1856 lineto
704 4544 lineto
160 4663 lineto
160 4992 lineto
2181 4992 lineto
2192 4735 lineto
4032 2549 moveto
4032 3131 3959 3517 conicto
3887 3904 3762 4130 conicto
3637 4357 3473 4450 conicto
3310 4544 3128 4544 conicto
2863 4544 2637 4485 conicto
2411 4427 2240 4341 conicto
2240 560 lineto
2661 448 3118 448 conicto
3585 448 3808 976 conicto
4032 1504 4032 2549 conicto
end_ol grestore
gsave -6.453270 26.264400 translate 0.035278 -0.035278 scale
start_ol
3008 1168 moveto
3008 877 2906 648 conicto
2805 419 2612 260 conicto
2420 102 2139 19 conicto
1858 -64 1499 -64 conicto
1184 -64 888 -26 conicto
593 12 355 71 conicto
320 960 lineto
531 960 lineto
674 363 lineto
732 332 824 300 conicto
917 268 1023 244 conicto
1130 221 1243 206 conicto
1357 192 1453 192 conicto
1749 192 1939 266 conicto
2129 340 2239 474 conicto
2349 608 2390 793 conicto
2432 978 2432 1197 conicto
2432 1448 2362 1614 conicto
2293 1780 2171 1881 conicto
2050 1983 1887 2030 conicto
1725 2077 1539 2086 conicto
1088 2112 lineto
1088 2368 lineto
1541 2397 lineto
1898 2417 2069 2625 conicto
2240 2833 2240 3256 conicto
2240 3468 2196 3626 conicto
2153 3784 2060 3888 conicto
1968 3992 1818 4044 conicto
1669 4096 1455 4096 conicto
1358 4096 1260 4081 conicto
1163 4067 1073 4042 conicto
983 4018 906 3987 conicto
829 3956 772 3924 conicto
660 3392 lineto
448 3392 lineto
448 4215 lineto
559 4244 670 4269 conicto
782 4295 903 4312 conicto
1024 4330 1157 4341 conicto
1291 4352 1447 4352 conicto
2119 4352 2467 4091 conicto
2816 3830 2816 3289 conicto
2816 3086 2762 2910 conicto
2709 2735 2595 2600 conicto
2482 2465 2307 2373 conicto
2133 2281 1894 2246 conicto
2467 2179 2737 1912 conicto
3008 1645 3008 1168 conicto
end_ol grestore
gsave 15.362500 42.131900 translate 0.035278 -0.035278 scale
start_ol
2192 4735 moveto
2307 4814 2445 4885 conicto
2583 4957 2747 5007 conicto
2912 5057 3110 5088 conicto
3309 5120 3549 5120 conicto
4571 5120 5069 4507 conicto
5568 3895 5568 2573 conicto
5568 1966 5435 1468 conicto
5302 970 5025 615 conicto
4749 261 4326 66 conicto
3904 -128 3325 -128 conicto
3043 -128 2772 -93 conicto
2501 -59 2208 15 conicto
2213 -43 2221 -144 conicto
2229 -245 2231 -359 conicto
2234 -473 2237 -581 conicto
2240 -690 2240 -769 conicto
2240 -1856 lineto
2968 -1975 lineto
2968 -2304 lineto
166 -2304 lineto
166 -1975 lineto
704 -1856 lineto
704 4544 lineto
160 4663 lineto
160 4992 lineto
2181 4992 lineto
2192 4735 lineto
4032 2549 moveto
4032 3131 3959 3517 conicto
3887 3904 3762 4130 conicto
3637 4357 3473 4450 conicto
3310 4544 3128 4544 conicto
2863 4544 2637 4485 conicto
2411 4427 2240 4341 conicto
2240 560 lineto
2661 448 3118 448 conicto
3585 448 3808 976 conicto
4032 1504 4032 2549 conicto
end_ol grestore
gsave 16.175000 42.326900 translate 0.035278 -0.035278 scale
start_ol
2880 0 moveto
256 0 lineto
256 490 lineto
587 785 863 1019 conicto
1140 1253 1361 1455 conicto
1582 1658 1747 1843 conicto
1913 2029 2022 2230 conicto
2132 2431 2186 2663 conicto
2240 2896 2240 3188 conicto
2240 3600 2045 3816 conicto
1850 4032 1406 4032 conicto
1307 4032 1209 4017 conicto
1112 4003 1022 3978 conicto
933 3954 855 3923 conicto
778 3892 718 3860 conicto
602 3328 lineto
384 3328 lineto
384 4151 lineto
630 4208 868 4248 conicto
1107 4288 1386 4288 conicto
2099 4288 2457 4000 conicto
2816 3713 2816 3189 conicto
2816 2931 2746 2711 conicto
2677 2491 2548 2288 conicto
2419 2086 2232 1889 conicto
2045 1693 1806 1482 conicto
1567 1272 1281 1035 conicto
996 798 673 512 conicto
2880 512 lineto
2880 0 lineto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.498039 0.498039 0.498039 srgb
n 16.004300 40.965000 0.212500 0.212500 0 360 ellipse f
n 16.004300 40.965000 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 16.004300 40.965000 0.212500 0.212500 0 360 ellipse cp s
0.000000 0.000000 0.000000 srgb
gsave 6.952130 29.192500 translate 0.035278 -0.035278 scale
start_ol
4051 3625 moveto
4051 3767 3824 3984 conicto
3597 4201 3597 4430 conicto
3597 4604 3705 4702 conicto
3813 4800 3997 4800 conicto
4245 4800 4423 4609 conicto
4602 4419 4602 4159 conicto
4602 3854 4413 3381 conicto
4224 2908 3943 2505 conicto
3111 1331 2441 569 conicto
1772 -192 1566 -192 conicto
1469 -192 1469 189 conicto
1469 656 1393 1651 conicto
1318 2647 1231 3212 conicto
1123 3962 993 4179 conicto
864 4397 551 4397 conicto
346 4397 227 4386 conicto
227 4528 lineto
605 4593 886 4647 conicto
1167 4702 1275 4734 conicto
1383 4767 1469 4783 conicto
1555 4800 1642 4800 conicto
1815 4800 1993 3516 conicto
2171 2233 2236 765 conicto
2571 1113 lineto
3143 1722 3597 2488 conicto
4051 3255 4051 3625 conicto
end_ol grestore
gsave 7.544069 29.192500 translate 0.035278 -0.035278 scale
start_ol
961 4414 moveto
605 4414 lineto
583 4570 lineto
2247 4800 2268 4800 conicto
2322 4800 2322 4758 conicto
1977 3589 lineto
2452 4243 2873 4521 conicto
3295 4800 3824 4800 conicto
4396 4800 4731 4434 conicto
5066 4069 5066 3437 conicto
5066 2140 4034 1006 conicto
3003 -128 1826 -128 conicto
1469 -128 1113 77 conicto
713 -1429 713 -1747 conicto
713 -2077 1404 -2077 conicto
1404 -2240 lineto
-810 -2240 lineto
-810 -2066 lineto
-670 -2066 -583 -2049 conicto
-497 -2033 -410 -1983 conicto
-324 -1934 -281 -1874 conicto
-238 -1815 -173 -1678 conicto
-108 -1542 -70 -1405 conicto
-32 -1269 32 -1006 conicto
97 -744 156 -487 conicto
216 -231 324 190 conicto
432 611 540 1026 conicto
1307 3955 1307 4119 conicto
1307 4217 1188 4315 conicto
1069 4414 961 4414 conicto
4094 3415 moveto
4094 4352 3381 4352 conicto
2981 4352 2576 3997 conicto
2171 3643 1966 3109 conicto
1728 2498 1496 1637 conicto
1264 777 1264 505 conicto
1264 330 1409 215 conicto
1555 101 1782 101 conicto
2430 101 2986 690 conicto
3543 1279 3818 2030 conicto
4094 2782 4094 3415 conicto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
n 8.527300 25.974100 0.212500 0.212500 0 360 ellipse f
n 8.527300 25.974100 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 8.527300 25.974100 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.000000 0.000000 1.000000 srgb
n 8.535020 33.507400 0.212500 0.212500 0 360 ellipse f
n 8.535020 33.507400 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 8.535020 33.507400 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 0.647059 0.000000 srgb
n 12.697400 29.723400 0.212500 0.212500 0 360 ellipse f
n 12.697400 29.723400 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 12.697400 29.723400 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.000000 1.000000 0.000000 srgb
n 4.414640 29.723400 0.212500 0.212500 0 360 ellipse f
n 4.414640 29.723400 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 4.414640 29.723400 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.627451 0.125490 0.941176 srgb
n 19.039466 29.790700 m 26.353334 29.790700 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 19.427663 29.540700 m 18.927663 29.790700 l 19.427663 30.040700 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 25.965137 30.040700 m 26.465137 29.790700 l 25.965137 29.540700 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 22.668096 26.527090 m 22.674804 33.089010 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 22.918493 26.915031 m 22.667982 26.415287 l 22.418493 26.915542 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 22.424407 32.701069 m 22.674918 33.200813 l 22.924407 32.700558 l s
0.000000 0.000000 0.000000 srgb
gsave 20.738000 29.259800 translate 0.035278 -0.035278 scale
start_ol
4051 3625 moveto
4051 3767 3824 3984 conicto
3597 4201 3597 4430 conicto
3597 4604 3705 4702 conicto
3813 4800 3997 4800 conicto
4245 4800 4423 4609 conicto
4602 4419 4602 4159 conicto
4602 3854 4413 3381 conicto
4224 2908 3943 2505 conicto
3111 1331 2441 569 conicto
1772 -192 1566 -192 conicto
1469 -192 1469 189 conicto
1469 656 1393 1651 conicto
1318 2647 1231 3212 conicto
1123 3962 993 4179 conicto
864 4397 551 4397 conicto
346 4397 227 4386 conicto
227 4528 lineto
605 4593 886 4647 conicto
1167 4702 1275 4734 conicto
1383 4767 1469 4783 conicto
1555 4800 1642 4800 conicto
1815 4800 1993 3516 conicto
2171 2233 2236 765 conicto
2571 1113 lineto
3143 1722 3597 2488 conicto
4051 3255 4051 3625 conicto
end_ol grestore
gsave 21.329939 29.259800 translate 0.035278 -0.035278 scale
start_ol
961 4414 moveto
605 4414 lineto
583 4570 lineto
2247 4800 2268 4800 conicto
2322 4800 2322 4758 conicto
1977 3589 lineto
2452 4243 2873 4521 conicto
3295 4800 3824 4800 conicto
4396 4800 4731 4434 conicto
5066 4069 5066 3437 conicto
5066 2140 4034 1006 conicto
3003 -128 1826 -128 conicto
1469 -128 1113 77 conicto
713 -1429 713 -1747 conicto
713 -2077 1404 -2077 conicto
1404 -2240 lineto
-810 -2240 lineto
-810 -2066 lineto
-670 -2066 -583 -2049 conicto
-497 -2033 -410 -1983 conicto
-324 -1934 -281 -1874 conicto
-238 -1815 -173 -1678 conicto
-108 -1542 -70 -1405 conicto
-32 -1269 32 -1006 conicto
97 -744 156 -487 conicto
216 -231 324 190 conicto
432 611 540 1026 conicto
1307 3955 1307 4119 conicto
1307 4217 1188 4315 conicto
1069 4414 961 4414 conicto
4094 3415 moveto
4094 4352 3381 4352 conicto
2981 4352 2576 3997 conicto
2171 3643 1966 3109 conicto
1728 2498 1496 1637 conicto
1264 777 1264 505 conicto
1264 330 1409 215 conicto
1555 101 1782 101 conicto
2430 101 2986 690 conicto
3543 1279 3818 2030 conicto
4094 2782 4094 3415 conicto
end_ol grestore
gsave 22.044264 29.259800 translate 0.035278 -0.035278 scale
start_ol
1426 4608 moveto
1566 6342 1653 6678 conicto
1880 7220 2258 7264 conicto
2398 7264 2500 7171 conicto
2603 7079 2603 6949 conicto
2603 6678 1653 4608 conicto
1426 4608 lineto
end_ol grestore
gsave 22.348974 29.259800 translate 0.035278 -0.035278 scale
start_ol
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
n 22.667600 26.041400 0.212500 0.212500 0 360 ellipse f
n 22.667600 26.041400 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 22.667600 26.041400 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.000000 0.000000 1.000000 srgb
n 22.675300 33.574700 0.212500 0.212500 0 360 ellipse f
n 22.675300 33.574700 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 22.675300 33.574700 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 0.647059 0.000000 srgb
n 26.837800 29.790700 0.212500 0.212500 0 360 ellipse f
n 26.837800 29.790700 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 26.837800 29.790700 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.000000 1.000000 0.000000 srgb
n 18.555000 29.790700 0.212500 0.212500 0 360 ellipse f
n 18.555000 29.790700 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 18.555000 29.790700 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.000000 0.882353 0.894118 srgb
n 9.800000 27.800000 m 21.163201 27.752054 l s
[] 0 sd
0 slj
0 slc
n 21.538198 27.750472 m 21.039257 28.002579 l 21.163201 27.752054 l 21.037147 27.502584 l ef
n 21.538198 27.750472 m 21.039257 28.002579 l 21.163201 27.752054 l 21.037147 27.502584 l cp s
gsave 15.550000 27.300000 translate 0.035278 -0.035278 scale
start_ol
2333 -128 moveto
1934 -128 1649 -32 conicto
1364 63 1183 230 conicto
1002 398 917 628 conicto
832 859 832 1130 conicto
832 4416 lineto
182 4416 lineto
182 4776 lineto
948 4992 lineto
1570 6144 lineto
2368 6144 lineto
2368 4992 lineto
3414 4992 lineto
3414 4416 lineto
2368 4416 lineto
2368 1211 lineto
2368 864 2512 688 conicto
2656 512 2891 512 conicto
3072 512 3250 538 conicto
3429 565 3584 597 conicto
3584 163 lineto
3509 110 3365 57 conicto
3222 4 3049 -35 conicto
2876 -75 2687 -101 conicto
2498 -128 2333 -128 conicto
end_ol grestore
showpage

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

View File

@@ -0,0 +1,951 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/laurent/ldevel/geometric_vision/doc/addons/images/point_cloud.dia
%%Creator: Dia v0.97.2
%%CreationDate: Mon Aug 12 12:08:58 2013
%%For: laurent
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 638 717
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-9.888385 -31.647700 translate
%%EndProlog
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.000000 0.000000 0.000000 srgb
n 22.640200 30.396000 0.212500 0.212500 0 360 ellipse f
n 22.640200 30.396000 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 22.640200 30.396000 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
n 15.902900 28.523300 0.212500 0.212500 0 360 ellipse f
n 15.902900 28.523300 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 15.902900 28.523300 0.212500 0.212500 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
n 19.603100 18.049700 0.212500 0.212500 0 360 ellipse f
n 19.603100 18.049700 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 19.603100 18.049700 0.212500 0.212500 0 360 ellipse cp s
gsave 16.205400 29.774000 translate 0.035278 -0.035278 scale
start_ol
2192 4735 moveto
2307 4814 2445 4885 conicto
2583 4957 2747 5007 conicto
2912 5057 3110 5088 conicto
3309 5120 3549 5120 conicto
4571 5120 5069 4507 conicto
5568 3895 5568 2573 conicto
5568 1966 5435 1468 conicto
5302 970 5025 615 conicto
4749 261 4326 66 conicto
3904 -128 3325 -128 conicto
3043 -128 2772 -93 conicto
2501 -59 2208 15 conicto
2213 -43 2221 -144 conicto
2229 -245 2231 -359 conicto
2234 -473 2237 -581 conicto
2240 -690 2240 -769 conicto
2240 -1856 lineto
2968 -1975 lineto
2968 -2304 lineto
166 -2304 lineto
166 -1975 lineto
704 -1856 lineto
704 4544 lineto
160 4663 lineto
160 4992 lineto
2181 4992 lineto
2192 4735 lineto
4032 2549 moveto
4032 3131 3959 3517 conicto
3887 3904 3762 4130 conicto
3637 4357 3473 4450 conicto
3310 4544 3128 4544 conicto
2863 4544 2637 4485 conicto
2411 4427 2240 4341 conicto
2240 560 lineto
2661 448 3118 448 conicto
3585 448 3808 976 conicto
4032 1504 4032 2549 conicto
end_ol grestore
gsave 23.205600 31.135200 translate 0.035278 -0.035278 scale
start_ol
2192 4735 moveto
2307 4814 2445 4885 conicto
2583 4957 2747 5007 conicto
2912 5057 3110 5088 conicto
3309 5120 3549 5120 conicto
4571 5120 5069 4507 conicto
5568 3895 5568 2573 conicto
5568 1966 5435 1468 conicto
5302 970 5025 615 conicto
4749 261 4326 66 conicto
3904 -128 3325 -128 conicto
3043 -128 2772 -93 conicto
2501 -59 2208 15 conicto
2213 -43 2221 -144 conicto
2229 -245 2231 -359 conicto
2234 -473 2237 -581 conicto
2240 -690 2240 -769 conicto
2240 -1856 lineto
2968 -1975 lineto
2968 -2304 lineto
166 -2304 lineto
166 -1975 lineto
704 -1856 lineto
704 4544 lineto
160 4663 lineto
160 4992 lineto
2181 4992 lineto
2192 4735 lineto
4032 2549 moveto
4032 3131 3959 3517 conicto
3887 3904 3762 4130 conicto
3637 4357 3473 4450 conicto
3310 4544 3128 4544 conicto
2863 4544 2637 4485 conicto
2411 4427 2240 4341 conicto
2240 560 lineto
2661 448 3118 448 conicto
3585 448 3808 976 conicto
4032 1504 4032 2549 conicto
end_ol grestore
gsave 17.017900 29.969000 translate 0.035278 -0.035278 scale
start_ol
2048 256 moveto
2921 170 lineto
2921 0 lineto
596 0 lineto
596 170 lineto
1472 256 lineto
1472 3701 lineto
609 3392 lineto
609 3565 lineto
1874 4288 lineto
2048 4288 lineto
2048 256 lineto
end_ol grestore
gsave 24.030600 31.460200 translate 0.035278 -0.035278 scale
start_ol
2880 0 moveto
256 0 lineto
256 490 lineto
587 785 863 1019 conicto
1140 1253 1361 1455 conicto
1582 1658 1747 1843 conicto
1913 2029 2022 2230 conicto
2132 2431 2186 2663 conicto
2240 2896 2240 3188 conicto
2240 3600 2045 3816 conicto
1850 4032 1406 4032 conicto
1307 4032 1209 4017 conicto
1112 4003 1022 3978 conicto
933 3954 855 3923 conicto
778 3892 718 3860 conicto
602 3328 lineto
384 3328 lineto
384 4151 lineto
630 4208 868 4248 conicto
1107 4288 1386 4288 conicto
2099 4288 2457 4000 conicto
2816 3713 2816 3189 conicto
2816 2931 2746 2711 conicto
2677 2491 2548 2288 conicto
2419 2086 2232 1889 conicto
2045 1693 1806 1482 conicto
1567 1272 1281 1035 conicto
996 798 673 512 conicto
2880 512 lineto
2880 0 lineto
end_ol grestore
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
0.000000 0.000000 1.000000 srgb
n 16.144970 36.373257 27.246708 27.246708 268.639210 301.183774 ellipse s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 15.877903 8.871040 m 15.386146 9.136888 l 15.893879 9.370784 l s
gsave 20.878100 8.878440 translate 0.035278 -0.035278 scale
start_ol
2752 3008 moveto
2752 512 lineto
3660 374 lineto
3660 0 lineto
249 0 lineto
249 374 lineto
1088 512 lineto
1088 6592 lineto
180 6726 lineto
180 7104 lineto
3559 7104 lineto
4444 7104 5039 6958 conicto
5634 6813 5992 6550 conicto
6350 6288 6503 5922 conicto
6656 5557 6656 5117 conicto
6656 4783 6582 4481 conicto
6508 4179 6342 3924 conicto
6176 3670 5905 3474 conicto
5634 3278 5233 3156 conicto
7113 512 lineto
7872 374 lineto
7872 0 lineto
5580 0 lineto
3599 3008 lineto
2752 3008 lineto
4992 5107 moveto
4992 5532 4908 5806 conicto
4825 6081 4642 6240 conicto
4459 6400 4172 6464 conicto
3885 6528 3483 6528 conicto
2752 6528 lineto
2752 3584 lineto
3509 3584 lineto
3922 3584 4206 3669 conicto
4491 3754 4666 3938 conicto
4841 4122 4916 4409 conicto
4992 4697 4992 5107 conicto
end_ol grestore
gsave 21.909636 8.878440 translate 0.035278 -0.035278 scale
start_ol
end_ol grestore
gsave 22.266799 8.878440 translate 0.035278 -0.035278 scale
start_ol
end_ol grestore
gsave 22.623961 8.878440 translate 0.035278 -0.035278 scale
start_ol
5568 2880 moveto
5568 2112 lineto
512 2112 lineto
512 2880 lineto
5568 2880 lineto
5568 5056 moveto
5568 4288 lineto
512 4288 lineto
512 5056 lineto
5568 5056 lineto
end_ol grestore
gsave 23.438200 8.878440 translate 0.035278 -0.035278 scale
start_ol
2333 -128 moveto
2151 -128 1991 -60 conicto
1832 7 1717 124 conicto
1603 242 1537 398 conicto
1472 554 1472 736 conicto
1472 913 1537 1071 conicto
1603 1230 1717 1347 conicto
1832 1465 1991 1532 conicto
2151 1600 2333 1600 conicto
2516 1600 2672 1532 conicto
2829 1465 2946 1347 conicto
3064 1230 3132 1071 conicto
3200 913 3200 736 conicto
3200 554 3132 398 conicto
3064 242 2946 124 conicto
2829 7 2672 -60 conicto
2516 -128 2333 -128 conicto
2624 2048 moveto
2048 2048 lineto
1747 3712 lineto
2258 3846 lineto
2462 3899 2645 3987 conicto
2828 4075 2965 4235 conicto
3103 4396 3183 4644 conicto
3264 4893 3264 5267 conicto
3264 5641 3198 5905 conicto
3133 6170 2994 6338 conicto
2856 6506 2644 6581 conicto
2432 6656 2132 6656 conicto
1871 6656 1672 6591 conicto
1474 6526 1322 6428 conicto
1088 5376 lineto
640 5376 lineto
640 6940 lineto
1052 7046 1466 7107 conicto
1881 7168 2372 7168 conicto
3576 7168 4188 6701 conicto
4800 6234 4800 5294 conicto
4800 4941 4704 4619 conicto
4609 4297 4413 4033 conicto
4218 3769 3921 3571 conicto
3625 3373 3228 3263 conicto
2767 3136 lineto
2624 2048 lineto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 31.055400 13.988800 m 22.982037 29.729517 l s
[] 0 sd
0 slj
0 slc
n 22.810898 30.063189 m 22.816636 29.504201 l 22.982037 29.729517 l 23.261531 29.732386 l ef
n 22.810898 30.063189 m 22.816636 29.504201 l 22.982037 29.729517 l 23.261531 29.732386 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 31.055400 13.988800 m 16.443340 28.004902 l s
[] 0 sd
0 slj
0 slc
n 16.172714 28.264490 m 16.360490 27.737954 l 16.443340 28.004902 l 16.706608 28.098790 l ef
n 16.172714 28.264490 m 16.360490 27.737954 l 16.443340 28.004902 l 16.706608 28.098790 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 31.005400 14.013800 m 20.308368 17.800067 l s
[] 0 sd
0 slj
0 slc
n 19.954859 17.925193 m 20.342787 17.522686 l 20.308368 17.800067 l 20.509622 17.994031 l ef
n 19.954859 17.925193 m 20.342787 17.522686 l 20.308368 17.800067 l 20.509622 17.994031 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.678431 0.678431 0.678431 srgb
n 12.847500 23.762500 0.212500 0.212500 0 360 ellipse f
n 12.847500 23.762500 0.212500 0.212500 0 360 ellipse cp s
0 slc
0 slj
[] 0 sd
n 12.847500 23.762500 0.212500 0.212500 0 360 ellipse cp s
0.000000 0.000000 0.000000 srgb
gsave 18.885800 19.165300 translate 0.035278 -0.035278 scale
start_ol
2192 4735 moveto
2307 4814 2445 4885 conicto
2583 4957 2747 5007 conicto
2912 5057 3110 5088 conicto
3309 5120 3549 5120 conicto
4571 5120 5069 4507 conicto
5568 3895 5568 2573 conicto
5568 1966 5435 1468 conicto
5302 970 5025 615 conicto
4749 261 4326 66 conicto
3904 -128 3325 -128 conicto
3043 -128 2772 -93 conicto
2501 -59 2208 15 conicto
2213 -43 2221 -144 conicto
2229 -245 2231 -359 conicto
2234 -473 2237 -581 conicto
2240 -690 2240 -769 conicto
2240 -1856 lineto
2968 -1975 lineto
2968 -2304 lineto
166 -2304 lineto
166 -1975 lineto
704 -1856 lineto
704 4544 lineto
160 4663 lineto
160 4992 lineto
2181 4992 lineto
2192 4735 lineto
4032 2549 moveto
4032 3131 3959 3517 conicto
3887 3904 3762 4130 conicto
3637 4357 3473 4450 conicto
3310 4544 3128 4544 conicto
2863 4544 2637 4485 conicto
2411 4427 2240 4341 conicto
2240 560 lineto
2661 448 3118 448 conicto
3585 448 3808 976 conicto
4032 1504 4032 2549 conicto
end_ol grestore
gsave 19.698300 19.360300 translate 0.035278 -0.035278 scale
start_ol
1018 2750 moveto
1109 2801 1233 2858 conicto
1358 2916 1494 2963 conicto
1630 3011 1766 3041 conicto
1902 3072 2019 3072 conicto
2194 3072 2340 3025 conicto
2486 2978 2591 2874 conicto
2696 2770 2756 2603 conicto
2816 2436 2816 2200 conicto
2816 256 lineto
3179 165 lineto
3179 0 lineto
1905 0 lineto
1905 165 lineto
2304 256 lineto
2304 2132 lineto
2304 2391 2170 2539 conicto
2036 2688 1755 2688 conicto
1662 2688 1559 2679 conicto
1457 2671 1358 2660 conicto
1259 2649 1171 2633 conicto
1084 2618 1024 2607 conicto
1024 256 lineto
1429 165 lineto
1429 0 lineto
152 0 lineto
152 165 lineto
512 256 lineto
512 2752 lineto
152 2843 lineto
152 3008 lineto
990 3008 lineto
1018 2750 lineto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 11.550000 9.150000 m 19.068799 17.684431 l s
[] 0 sd
0 slj
0 slc
n 19.316692 17.965809 m 18.798582 17.755900 l 19.068799 17.684431 l 19.173754 17.425376 l ef
n 19.316692 17.965809 m 18.798582 17.755900 l 19.068799 17.684431 l 19.173754 17.425376 l cp s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 11.600000 9.150000 m 12.805485 23.065013 l s
[] 0 sd
0 slj
0 slc
n 12.837850 23.438614 m 12.545629 22.962057 l 12.805485 23.065013 l 13.043763 22.918902 l ef
n 12.837850 23.438614 m 12.545629 22.962057 l 12.805485 23.065013 l 13.043763 22.918902 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 11.550000 9.100000 m 22.413575 29.752665 l s
[] 0 sd
0 slj
0 slc
n 22.588151 30.084551 m 22.134126 29.758421 l 22.413575 29.752665 l 22.576640 29.525652 l ef
n 22.588151 30.084551 m 22.134126 29.758421 l 22.413575 29.752665 l 22.576640 29.525652 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 11.600000 9.150000 m 15.796236 27.835826 l s
[] 0 sd
0 slj
0 slc
n 15.878403 28.201713 m 15.524922 27.768641 l 15.796236 27.835826 l 16.012772 27.659086 l ef
n 15.878403 28.201713 m 15.524922 27.768641 l 15.796236 27.835826 l 16.012772 27.659086 l cp s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 31.000000 14.100000 m 13.488591 23.531660 l s
[] 0 sd
0 slj
0 slc
n 13.158434 23.709483 m 13.480095 23.252281 l 13.488591 23.531660 l 13.717193 23.692491 l ef
n 13.158434 23.709483 m 13.480095 23.252281 l 13.488591 23.531660 l 13.717193 23.692491 l cp s
0.000000 0.000000 0.000000 srgb
gsave 10.396600 9.752030 translate 0.035278 -0.035278 scale
start_ol
3403 4571 moveto
2755 4571 2247 4052 conicto
1739 3533 1496 2839 conicto
1253 2146 1253 1502 conicto
1253 922 1512 589 conicto
1772 256 2236 256 conicto
2636 256 2987 458 conicto
3338 660 3781 1141 conicto
3954 1032 lineto
3467 414 2992 143 conicto
2517 -128 1912 -128 conicto
1156 -128 740 302 conicto
324 733 324 1508 conicto
324 2783 1285 3791 conicto
2247 4800 3457 4800 conicto
3943 4800 4267 4549 conicto
4591 4298 4591 3915 conicto
4591 3708 4439 3560 conicto
4288 3413 4072 3413 conicto
3651 3413 3651 3828 conicto
3651 3938 3732 4118 conicto
3813 4298 3813 4352 conicto
3813 4571 3403 4571 conicto
end_ol grestore
gsave 31.452300 14.099700 translate 0.035278 -0.035278 scale
start_ol
3403 4571 moveto
2755 4571 2247 4052 conicto
1739 3533 1496 2839 conicto
1253 2146 1253 1502 conicto
1253 922 1512 589 conicto
1772 256 2236 256 conicto
2636 256 2987 458 conicto
3338 660 3781 1141 conicto
3954 1032 lineto
3467 414 2992 143 conicto
2517 -128 1912 -128 conicto
1156 -128 740 302 conicto
324 733 324 1508 conicto
324 2783 1285 3791 conicto
2247 4800 3457 4800 conicto
3943 4800 4267 4549 conicto
4591 4298 4591 3915 conicto
4591 3708 4439 3560 conicto
4288 3413 4072 3413 conicto
3651 3413 3651 3828 conicto
3651 3938 3732 4118 conicto
3813 4298 3813 4352 conicto
3813 4571 3403 4571 conicto
end_ol grestore
gsave 32.086705 14.099700 translate 0.035278 -0.035278 scale
start_ol
1426 4608 moveto
1566 6342 1653 6678 conicto
1880 7220 2258 7264 conicto
2398 7264 2500 7171 conicto
2603 7079 2603 6949 conicto
2603 6678 1653 4608 conicto
1426 4608 lineto
end_ol grestore
0.000000 0.000000 1.000000 srgb
gsave 21.982000 9.114540 translate 0.035278 -0.035278 scale
start_ol
2060 2752 moveto
1667 2752 1360 2444 conicto
1053 2136 906 1724 conicto
759 1313 759 931 conicto
759 588 915 390 conicto
1072 192 1354 192 conicto
1596 192 1808 312 conicto
2021 432 2289 717 conicto
2393 652 lineto
2099 271 1811 103 conicto
1524 -64 1157 -64 conicto
700 -64 448 194 conicto
196 452 196 916 conicto
196 1681 778 2285 conicto
1360 2889 2092 2889 conicto
2387 2889 2583 2739 conicto
2779 2590 2779 2363 conicto
2779 2240 2687 2152 conicto
2596 2064 2465 2064 conicto
2210 2064 2210 2311 conicto
2210 2376 2259 2482 conicto
2308 2589 2308 2622 conicto
2308 2752 2060 2752 conicto
end_ol grestore
gsave 22.366638 9.114540 translate 0.035278 -0.035278 scale
start_ol
863 2752 moveto
948 3797 1000 3999 conicto
1138 4326 1367 4352 conicto
1452 4352 1514 4296 conicto
1576 4241 1576 4163 conicto
1576 3999 1000 2752 conicto
863 2752 lineto
end_ol grestore
gsave 21.982000 8.164540 translate 0.035278 -0.035278 scale
start_ol
2060 2752 moveto
1667 2752 1360 2444 conicto
1053 2136 906 1724 conicto
759 1313 759 931 conicto
759 588 915 390 conicto
1072 192 1354 192 conicto
1596 192 1808 312 conicto
2021 432 2289 717 conicto
2393 652 lineto
2099 271 1811 103 conicto
1524 -64 1157 -64 conicto
700 -64 448 194 conicto
196 452 196 916 conicto
196 1681 778 2285 conicto
1360 2889 2092 2889 conicto
2387 2889 2583 2739 conicto
2779 2590 2779 2363 conicto
2779 2240 2687 2152 conicto
2596 2064 2465 2064 conicto
2210 2064 2210 2311 conicto
2210 2376 2259 2482 conicto
2308 2589 2308 2622 conicto
2308 2752 2060 2752 conicto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.000000 0.000000 0.000000 srgb
n 31.042600 14.069300 m 30.205166 10.953816 l s
[] 0 sd
0 slj
0 slc
n 30.107822 10.591671 m 30.479044 11.009635 l 30.205166 10.953816 l 29.996184 11.139427 l ef
n 30.107822 10.591671 m 30.479044 11.009635 l 30.205166 10.953816 l 29.996184 11.139427 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 31.004100 13.992200 m 28.005745 14.758465 l s
[] 0 sd
0 slj
0 slc
n 27.642422 14.851317 m 28.064952 14.485300 l 28.005745 14.758465 l 28.188754 14.969730 l ef
n 27.642422 14.851317 m 28.064952 14.485300 l 28.005745 14.758465 l 28.188754 14.969730 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 31.042600 14.030800 m 30.748078 16.746934 l s
[] 0 sd
0 slj
0 slc
n 30.707653 17.119748 m 30.513011 16.595711 l 30.748078 16.746934 l 31.010097 16.649613 l ef
n 30.707653 17.119748 m 30.513011 16.595711 l 30.748078 16.746934 l 31.010097 16.649613 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 11.531800 9.101540 m 11.237279 11.817634 l s
[] 0 sd
0 slj
0 slc
n 11.196853 12.190448 m 11.002212 11.666411 l 11.237279 11.817634 l 11.499298 11.720313 l ef
n 11.196853 12.190448 m 11.002212 11.666411 l 11.237279 11.817634 l 11.499298 11.720313 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 11.578400 9.108040 m 14.063630 9.015972 l s
[] 0 sd
0 slj
0 slc
n 14.438373 9.002089 m 13.947971 9.270428 l 14.063630 9.015972 l 13.929461 8.770771 l ef
n 14.438373 9.002089 m 13.947971 9.270428 l 14.063630 9.015972 l 13.929461 8.770771 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 11.558900 9.106390 m 10.208691 6.866437 l s
[] 0 sd
0 slj
0 slc
n 10.015098 6.545273 m 10.487332 6.844430 l 10.208691 6.866437 l 10.059113 7.102554 l ef
n 10.015098 6.545273 m 10.487332 6.844430 l 10.208691 6.866437 l 10.059113 7.102554 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.117647 0.878431 1.000000 srgb
n 11.564700 9.147620 m 30.813873 13.885359 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 30.377177 14.035338 m 30.922437 13.912080 l 30.496675 13.549827 l s
gsave 19.557000 13.323000 translate 0.035278 -0.035278 scale
start_ol
2333 -128 moveto
1934 -128 1649 -32 conicto
1364 63 1183 230 conicto
1002 398 917 628 conicto
832 859 832 1130 conicto
832 4416 lineto
182 4416 lineto
182 4776 lineto
948 4992 lineto
1570 6144 lineto
2368 6144 lineto
2368 4992 lineto
3414 4992 lineto
3414 4416 lineto
2368 4416 lineto
2368 1211 lineto
2368 864 2512 688 conicto
2656 512 2891 512 conicto
3072 512 3250 538 conicto
3429 565 3584 597 conicto
3584 163 lineto
3509 110 3365 57 conicto
3222 4 3049 -35 conicto
2876 -75 2687 -101 conicto
2498 -128 2333 -128 conicto
end_ol grestore
gsave 20.034052 13.323000 translate 0.035278 -0.035278 scale
start_ol
end_ol grestore
gsave 20.391215 13.323000 translate 0.035278 -0.035278 scale
start_ol
end_ol grestore
gsave 20.748377 13.323000 translate 0.035278 -0.035278 scale
start_ol
5568 2880 moveto
5568 2112 lineto
512 2112 lineto
512 2880 lineto
5568 2880 lineto
5568 5056 moveto
5568 4288 lineto
512 4288 lineto
512 5056 lineto
5568 5056 lineto
end_ol grestore
gsave 21.562616 13.323000 translate 0.035278 -0.035278 scale
start_ol
2333 -128 moveto
2151 -128 1991 -60 conicto
1832 7 1717 124 conicto
1603 242 1537 398 conicto
1472 554 1472 736 conicto
1472 913 1537 1071 conicto
1603 1230 1717 1347 conicto
1832 1465 1991 1532 conicto
2151 1600 2333 1600 conicto
2516 1600 2672 1532 conicto
2829 1465 2946 1347 conicto
3064 1230 3132 1071 conicto
3200 913 3200 736 conicto
3200 554 3132 398 conicto
3064 242 2946 124 conicto
2829 7 2672 -60 conicto
2516 -128 2333 -128 conicto
2624 2048 moveto
2048 2048 lineto
1747 3712 lineto
2258 3846 lineto
2462 3899 2645 3987 conicto
2828 4075 2965 4235 conicto
3103 4396 3183 4644 conicto
3264 4893 3264 5267 conicto
3264 5641 3198 5905 conicto
3133 6170 2994 6338 conicto
2856 6506 2644 6581 conicto
2432 6656 2132 6656 conicto
1871 6656 1672 6591 conicto
1474 6526 1322 6428 conicto
1088 5376 lineto
640 5376 lineto
640 6940 lineto
1052 7046 1466 7107 conicto
1881 7168 2372 7168 conicto
3576 7168 4188 6701 conicto
4800 6234 4800 5294 conicto
4800 4941 4704 4619 conicto
4609 4297 4413 4033 conicto
4218 3769 3921 3571 conicto
3625 3373 3228 3263 conicto
2767 3136 lineto
2624 2048 lineto
end_ol grestore
gsave 20.178200 13.522700 translate 0.035278 -0.035278 scale
start_ol
2060 2752 moveto
1667 2752 1360 2444 conicto
1053 2136 906 1724 conicto
759 1313 759 931 conicto
759 588 915 390 conicto
1072 192 1354 192 conicto
1596 192 1808 312 conicto
2021 432 2289 717 conicto
2393 652 lineto
2099 271 1811 103 conicto
1524 -64 1157 -64 conicto
700 -64 448 194 conicto
196 452 196 916 conicto
196 1681 778 2285 conicto
1360 2889 2092 2889 conicto
2387 2889 2583 2739 conicto
2779 2590 2779 2363 conicto
2779 2240 2687 2152 conicto
2596 2064 2465 2064 conicto
2210 2064 2210 2311 conicto
2210 2376 2259 2482 conicto
2308 2589 2308 2622 conicto
2308 2752 2060 2752 conicto
end_ol grestore
gsave 20.562838 13.522700 translate 0.035278 -0.035278 scale
start_ol
863 2752 moveto
948 3797 1000 3999 conicto
1138 4326 1367 4352 conicto
1452 4352 1514 4296 conicto
1576 4241 1576 4163 conicto
1576 3999 1000 2752 conicto
863 2752 lineto
end_ol grestore
gsave 20.163500 12.711900 translate 0.035278 -0.035278 scale
start_ol
2060 2752 moveto
1667 2752 1360 2444 conicto
1053 2136 906 1724 conicto
759 1313 759 931 conicto
759 588 915 390 conicto
1072 192 1354 192 conicto
1596 192 1808 312 conicto
2021 432 2289 717 conicto
2393 652 lineto
2099 271 1811 103 conicto
1524 -64 1157 -64 conicto
700 -64 448 194 conicto
196 452 196 916 conicto
196 1681 778 2285 conicto
1360 2889 2092 2889 conicto
2387 2889 2583 2739 conicto
2779 2590 2779 2363 conicto
2779 2240 2687 2152 conicto
2596 2064 2465 2064 conicto
2210 2064 2210 2311 conicto
2210 2376 2259 2482 conicto
2308 2589 2308 2622 conicto
2308 2752 2060 2752 conicto
end_ol grestore
showpage

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

View File

@@ -0,0 +1,979 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/laurent/ldevel/geometric_vision/doc/addons/images/reprojectionError.dia
%%Creator: Dia v0.97.2
%%CreationDate: Tue Aug 13 10:20:48 2013
%%For: laurent
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 513 330
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-29.435459 -28.232726 translate
%%EndProlog
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.000000 0.000000 0.000000 srgb
n 38.197263 16.964842 m 30.034066 16.964842 l s
[] 0 sd
0 slj
0 slc
n 29.659066 16.964842 m 30.159066 16.714842 l 30.034066 16.964842 l 30.159066 17.214842 l ef
n 29.659066 16.964842 m 30.159066 16.714842 l 30.034066 16.964842 l 30.159066 17.214842 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 38.150000 16.950000 m 32.598625 22.360238 l s
[] 0 sd
0 slj
0 slc
n 32.330068 22.621967 m 32.513658 22.093957 l 32.598625 22.360238 l 32.862630 22.452033 l ef
n 32.330068 22.621967 m 32.513658 22.093957 l 32.598625 22.360238 l 32.862630 22.452033 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 38.152737 16.917579 m 38.156775 24.092345 l s
[] 0 sd
0 slj
0 slc
n 38.156986 24.467344 m 37.906705 23.967485 l 38.156775 24.092345 l 38.406705 23.967204 l ef
n 38.156986 24.467344 m 37.906705 23.967485 l 38.156775 24.092345 l 38.406705 23.967204 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 38.189470 16.992646 m 44.718080 26.288143 l s
[] 0 sd
0 slj
0 slc
n 44.933611 26.595017 m 44.441654 26.329539 l 44.718080 26.288143 l 44.850820 26.042165 l ef
n 44.933611 26.595017 m 44.441654 26.329539 l 44.718080 26.288143 l 44.850820 26.042165 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slj
0 slc
0.000000 0.882353 0.894118 srgb
n 44.511555 22.731154 m 46.197444 22.763575 43.506506 25.357251 41.853037 25.324830 c 40.199569 25.292409 42.825666 22.698733 44.511555 22.731154 c s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 41.366723 25.195146 m 38.157049 16.960225 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 45.030290 22.893258 m 38.124628 16.992646 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.572549 0.000000 0.000000 srgb
n 38.155452 17.000775 m 43.470848 26.905984 l s
[] 0 sd
0 slj
0 slc
n 43.648166 27.236413 m 43.191456 26.914052 l 43.470848 26.905984 l 43.632029 26.677629 l ef
n 43.648166 27.236413 m 43.191456 26.914052 l 43.470848 26.905984 l 43.632029 26.677629 l cp s
0.000000 0.000000 0.000000 srgb
1.000000 0.000000 0.000000 srgb
gsave 45.218332 26.084337 translate 0.035278 -0.035278 scale
start_ol
832 4416 moveto
82 4416 lineto
82 4798 lineto
832 5014 lineto
832 5542 lineto
832 6059 969 6448 conicto
1107 6837 1363 7096 conicto
1619 7355 1991 7485 conicto
2364 7616 2835 7616 conicto
2951 7616 3075 7608 conicto
3199 7600 3318 7587 conicto
3437 7574 3537 7555 conicto
3638 7537 3712 7516 conicto
3712 6336 lineto
3374 6336 lineto
3222 6913 lineto
3175 6961 3093 7000 conicto
3012 7040 2892 7040 conicto
2777 7040 2680 6969 conicto
2583 6899 2515 6739 conicto
2447 6580 2407 6326 conicto
2368 6073 2368 5708 conicto
2368 4992 lineto
3392 4992 lineto
3392 4416 lineto
2368 4416 lineto
2368 448 lineto
3176 329 lineto
3176 0 lineto
293 0 lineto
293 329 lineto
832 448 lineto
832 4416 lineto
end_ol grestore
gsave 45.665595 26.359337 translate 0.035278 -0.035278 scale
start_ol
1017 2758 moveto
1104 2808 1223 2864 conicto
1343 2920 1470 2966 conicto
1598 3013 1729 3042 conicto
1860 3072 1972 3072 conicto
2186 3072 2368 2991 conicto
2550 2910 2640 2732 conicto
2739 2788 2879 2849 conicto
3019 2910 3170 2960 conicto
3321 3010 3468 3041 conicto
3616 3072 3734 3072 conicto
3902 3072 4038 3025 conicto
4175 2978 4273 2874 conicto
4371 2770 4425 2603 conicto
4480 2436 4480 2200 conicto
4480 256 lineto
4866 165 lineto
4866 0 lineto
3522 0 lineto
3522 165 lineto
3968 256 lineto
3968 2146 lineto
3968 2408 3851 2548 conicto
3735 2688 3470 2688 conicto
3390 2688 3282 2675 conicto
3175 2662 3067 2646 conicto
2960 2630 2862 2609 conicto
2764 2589 2697 2576 conicto
2752 2406 2752 2201 conicto
2752 256 lineto
3201 165 lineto
3201 0 lineto
1797 0 lineto
1797 165 lineto
2240 256 lineto
2240 2146 lineto
2240 2408 2107 2548 conicto
1974 2688 1709 2688 conicto
1621 2688 1525 2678 conicto
1430 2669 1338 2656 conicto
1246 2643 1163 2625 conicto
1080 2608 1024 2595 conicto
1024 256 lineto
1473 165 lineto
1473 0 lineto
133 0 lineto
133 165 lineto
512 256 lineto
512 2752 lineto
133 2843 lineto
133 3008 lineto
992 3008 lineto
1017 2758 lineto
end_ol grestore
gsave 46.337463 26.359337 translate 0.035278 -0.035278 scale
start_ol
832 1472 moveto
832 1416 lineto
832 1188 864 978 conicto
897 769 993 608 conicto
1090 447 1265 351 conicto
1441 256 1727 256 conicto
1819 256 1920 264 conicto
2022 272 2123 284 conicto
2225 297 2320 313 conicto
2416 329 2496 348 conicto
2496 173 lineto
2425 127 2324 85 conicto
2223 44 2101 10 conicto
1980 -24 1843 -44 conicto
1707 -64 1567 -64 conicto
1204 -64 953 38 conicto
703 140 548 340 conicto
393 541 324 837 conicto
256 1133 256 1518 conicto
256 2302 578 2687 conicto
900 3072 1496 3072 conicto
1731 3072 1935 3007 conicto
2140 2942 2293 2789 conicto
2446 2636 2535 2379 conicto
2624 2122 2624 1739 conicto
2624 1472 lineto
832 1472 lineto
1485 2816 moveto
1317 2816 1195 2739 conicto
1073 2662 993 2521 conicto
913 2380 875 2178 conicto
838 1977 838 1728 conicto
2048 1728 lineto
2048 1977 2022 2178 conicto
1997 2380 1932 2521 conicto
1867 2662 1759 2739 conicto
1651 2816 1485 2816 conicto
end_ol grestore
gsave 46.722101 26.359337 translate 0.035278 -0.035278 scale
start_ol
1482 3072 moveto
1685 3072 1860 3034 conicto
2035 2996 2162 2904 conicto
2289 2813 2360 2656 conicto
2432 2500 2432 2263 conicto
2432 256 lineto
2805 165 lineto
2805 0 lineto
1998 0 lineto
1939 300 lineto
1892 252 1811 188 conicto
1730 124 1616 68 conicto
1502 13 1352 -25 conicto
1202 -64 1018 -64 conicto
803 -64 656 2 conicto
509 68 420 186 conicto
332 304 294 466 conicto
256 629 256 818 conicto
256 1013 303 1156 conicto
351 1300 436 1397 conicto
522 1495 637 1556 conicto
753 1618 887 1652 conicto
1022 1687 1172 1699 conicto
1322 1712 1474 1715 conicto
1920 1728 lineto
1920 2204 lineto
1920 2340 1897 2451 conicto
1875 2563 1822 2644 conicto
1769 2725 1679 2770 conicto
1589 2816 1454 2816 conicto
1299 2816 1141 2775 conicto
984 2735 865 2669 conicto
756 2304 lineto
576 2304 lineto
576 2960 lineto
783 3005 1003 3038 conicto
1224 3072 1482 3072 conicto
1920 1472 moveto
1501 1459 lineto
1312 1453 1174 1423 conicto
1037 1394 947 1322 conicto
858 1250 813 1125 conicto
768 1000 768 806 conicto
768 256 1226 256 conicto
1443 256 1601 305 conicto
1760 355 1920 431 conicto
1920 1472 lineto
end_ol grestore
gsave 47.106739 26.359337 translate 0.035278 -0.035278 scale
start_ol
2304 840 moveto
2304 640 2241 472 conicto
2179 305 2044 186 conicto
1909 67 1695 1 conicto
1481 -64 1179 -64 conicto
1028 -64 881 -46 conicto
735 -29 609 -4 conicto
484 20 391 45 conicto
298 71 256 87 conicto
256 832 lineto
399 832 lineto
555 411 lineto
654 321 809 256 conicto
965 192 1175 192 conicto
1471 192 1631 320 conicto
1792 448 1792 716 conicto
1792 875 1725 978 conicto
1659 1082 1551 1152 conicto
1444 1222 1306 1268 conicto
1168 1315 1024 1362 conicto
880 1410 742 1470 conicto
604 1531 496 1626 conicto
389 1722 322 1865 conicto
256 2009 256 2222 conicto
256 2426 331 2585 conicto
406 2744 540 2852 conicto
675 2961 862 3016 conicto
1049 3072 1273 3072 conicto
1494 3072 1705 3041 conicto
1917 3010 2112 2971 conicto
2112 2304 lineto
1962 2304 lineto
1829 2662 lineto
1746 2737 1602 2776 conicto
1459 2816 1297 2816 conicto
1039 2816 903 2689 conicto
768 2562 768 2346 conicto
768 2200 834 2106 conicto
900 2012 1008 1946 conicto
1116 1881 1254 1833 conicto
1392 1786 1536 1735 conicto
1680 1684 1818 1618 conicto
1956 1553 2064 1451 conicto
2172 1350 2238 1203 conicto
2304 1057 2304 840 conicto
end_ol grestore
0.572549 0.000000 0.000000 srgb
gsave 42.235604 27.770226 translate 0.035278 -0.035278 scale
start_ol
832 4416 moveto
82 4416 lineto
82 4798 lineto
832 5014 lineto
832 5542 lineto
832 6059 969 6448 conicto
1107 6837 1363 7096 conicto
1619 7355 1991 7485 conicto
2364 7616 2835 7616 conicto
2951 7616 3075 7608 conicto
3199 7600 3318 7587 conicto
3437 7574 3537 7555 conicto
3638 7537 3712 7516 conicto
3712 6336 lineto
3374 6336 lineto
3222 6913 lineto
3175 6961 3093 7000 conicto
3012 7040 2892 7040 conicto
2777 7040 2680 6969 conicto
2583 6899 2515 6739 conicto
2447 6580 2407 6326 conicto
2368 6073 2368 5708 conicto
2368 4992 lineto
3392 4992 lineto
3392 4416 lineto
2368 4416 lineto
2368 448 lineto
3176 329 lineto
3176 0 lineto
293 0 lineto
293 329 lineto
832 448 lineto
832 4416 lineto
end_ol grestore
gsave 42.682867 28.045226 translate 0.035278 -0.035278 scale
start_ol
2112 3072 moveto
2112 2240 lineto
1974 2240 lineto
1787 2613 lineto
1697 2613 1594 2600 conicto
1491 2588 1388 2567 conicto
1285 2547 1190 2519 conicto
1095 2491 1024 2459 conicto
1024 256 lineto
1537 165 lineto
1537 0 lineto
133 0 lineto
133 165 lineto
512 256 lineto
512 2752 lineto
133 2843 lineto
133 3008 lineto
990 3008 lineto
1018 2619 lineto
1092 2680 1220 2758 conicto
1349 2836 1499 2906 conicto
1649 2976 1798 3024 conicto
1948 3072 2064 3072 conicto
2112 3072 lineto
end_ol grestore
gsave 42.970097 28.045226 translate 0.035278 -0.035278 scale
start_ol
832 1472 moveto
832 1416 lineto
832 1188 864 978 conicto
897 769 993 608 conicto
1090 447 1265 351 conicto
1441 256 1727 256 conicto
1819 256 1920 264 conicto
2022 272 2123 284 conicto
2225 297 2320 313 conicto
2416 329 2496 348 conicto
2496 173 lineto
2425 127 2324 85 conicto
2223 44 2101 10 conicto
1980 -24 1843 -44 conicto
1707 -64 1567 -64 conicto
1204 -64 953 38 conicto
703 140 548 340 conicto
393 541 324 837 conicto
256 1133 256 1518 conicto
256 2302 578 2687 conicto
900 3072 1496 3072 conicto
1731 3072 1935 3007 conicto
2140 2942 2293 2789 conicto
2446 2636 2535 2379 conicto
2624 2122 2624 1739 conicto
2624 1472 lineto
832 1472 lineto
1485 2816 moveto
1317 2816 1195 2739 conicto
1073 2662 993 2521 conicto
913 2380 875 2178 conicto
838 1977 838 1728 conicto
2048 1728 lineto
2048 1977 2022 2178 conicto
1997 2380 1932 2521 conicto
1867 2662 1759 2739 conicto
1651 2816 1485 2816 conicto
end_ol grestore
gsave 43.354735 28.045226 translate 0.035278 -0.035278 scale
start_ol
512 2752 moveto
170 2843 lineto
170 3008 lineto
999 3008 lineto
1005 2817 lineto
1071 2874 1161 2920 conicto
1252 2967 1356 3000 conicto
1461 3034 1578 3053 conicto
1695 3072 1815 3072 conicto
2094 3072 2315 2973 conicto
2537 2875 2692 2679 conicto
2847 2483 2927 2195 conicto
3008 1907 3008 1531 conicto
3008 1165 2925 870 conicto
2843 576 2678 367 conicto
2514 159 2266 47 conicto
2018 -64 1685 -64 conicto
1524 -64 1345 -46 conicto
1166 -29 1005 6 conicto
1008 -32 1013 -81 conicto
1018 -130 1019 -182 conicto
1021 -234 1022 -278 conicto
1024 -323 1024 -351 conicto
1024 -1152 lineto
1547 -1239 lineto
1547 -1408 lineto
132 -1408 lineto
132 -1239 lineto
512 -1152 lineto
512 2752 lineto
2432 1541 moveto
2432 1867 2378 2097 conicto
2325 2327 2222 2472 conicto
2120 2618 1972 2685 conicto
1824 2752 1638 2752 conicto
1487 2752 1315 2725 conicto
1144 2698 1024 2647 conicto
1024 246 lineto
1156 221 1317 206 conicto
1478 192 1638 192 conicto
2054 192 2243 542 conicto
2432 892 2432 1541 conicto
end_ol grestore
gsave 43.786825 28.045226 translate 0.035278 -0.035278 scale
start_ol
2112 3072 moveto
2112 2240 lineto
1974 2240 lineto
1787 2613 lineto
1697 2613 1594 2600 conicto
1491 2588 1388 2567 conicto
1285 2547 1190 2519 conicto
1095 2491 1024 2459 conicto
1024 256 lineto
1537 165 lineto
1537 0 lineto
133 0 lineto
133 165 lineto
512 256 lineto
512 2752 lineto
133 2843 lineto
133 3008 lineto
990 3008 lineto
1018 2619 lineto
1092 2680 1220 2758 conicto
1349 2836 1499 2906 conicto
1649 2976 1798 3024 conicto
1948 3072 2064 3072 conicto
2112 3072 lineto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slj
0 slc
0.000000 0.000000 0.000000 srgb
n 43.248609 26.397600 m 43.793861 26.206761 44.025241 26.070511 44.284608 25.681460 c s
gsave 42.959182 25.811338 translate 0.035278 -0.035278 scale
start_ol
3895 1611 moveto
3101 -128 1854 -128 conicto
1194 -128 821 392 conicto
448 913 448 1849 conicto
448 3340 1381 4614 conicto
2315 5888 3692 5888 conicto
4373 5888 4905 5597 conicto
5169 5745 lineto
5423 5888 5444 5888 conicto
5824 5888 lineto
4330 -1170 lineto
4267 -1472 4267 -1657 conicto
4267 -2170 5011 -2170 conicto
5101 -2170 lineto
5001 -2624 lineto
3031 -2624 lineto
3486 -456 lineto
3528 -250 3964 1611 conicto
3895 1611 lineto
4578 5010 moveto
4339 5402 3754 5402 conicto
2812 5402 2187 4207 conicto
1562 3012 1562 1796 conicto
1562 553 2250 553 conicto
2788 553 3379 1338 conicto
3971 2124 4177 3097 conicto
4578 5010 lineto
end_ol grestore
0.000000 0.000000 1.000000 srgb
gsave 43.428923 21.194033 translate 0.035278 -0.035278 scale
start_ol
3895 1611 moveto
3101 -128 1854 -128 conicto
1194 -128 821 392 conicto
448 913 448 1849 conicto
448 3340 1381 4614 conicto
2315 5888 3692 5888 conicto
4373 5888 4905 5597 conicto
5169 5745 lineto
5423 5888 5444 5888 conicto
5824 5888 lineto
4330 -1170 lineto
4267 -1472 4267 -1657 conicto
4267 -2170 5011 -2170 conicto
5101 -2170 lineto
5001 -2624 lineto
3031 -2624 lineto
3486 -456 lineto
3528 -250 3964 1611 conicto
3895 1611 lineto
4578 5010 moveto
4339 5402 3754 5402 conicto
2812 5402 2187 4207 conicto
1562 3012 1562 1796 conicto
1562 553 2250 553 conicto
2788 553 3379 1338 conicto
3971 2124 4177 3097 conicto
4578 5010 lineto
end_ol grestore
gsave 44.304289 21.349794 translate 0.035278 -0.035278 scale
start_ol
1068 -64 moveto
756 -64 602 119 conicto
448 302 448 634 conicto
448 2752 lineto
56 2752 lineto
56 2889 lineto
454 3008 lineto
766 3712 lineto
960 3712 lineto
960 3008 lineto
1645 3008 lineto
1645 2752 lineto
960 2752 lineto
960 680 lineto
960 469 1059 362 conicto
1158 256 1319 256 conicto
1443 256 1565 272 conicto
1688 288 1792 307 conicto
1792 112 lineto
1743 80 1663 48 conicto
1584 16 1488 -8 conicto
1393 -32 1285 -48 conicto
1178 -64 1068 -64 conicto
end_ol grestore
gsave 44.544059 21.349794 translate 0.035278 -0.035278 scale
start_ol
1024 3233 moveto
1024 3188 1022 3123 conicto
1021 3059 1019 2990 conicto
1018 2921 1013 2856 conicto
1008 2792 1002 2750 conicto
1092 2801 1220 2858 conicto
1349 2916 1489 2963 conicto
1629 3011 1769 3041 conicto
1909 3072 2025 3072 conicto
2198 3072 2343 3025 conicto
2488 2978 2592 2874 conicto
2697 2770 2756 2603 conicto
2816 2436 2816 2200 conicto
2816 256 lineto
3179 165 lineto
3179 0 lineto
1906 0 lineto
1906 165 lineto
2304 256 lineto
2304 2150 lineto
2304 2410 2171 2549 conicto
2039 2688 1761 2688 conicto
1669 2688 1566 2679 conicto
1463 2671 1361 2660 conicto
1260 2649 1171 2633 conicto
1083 2618 1024 2607 conicto
1024 256 lineto
1429 165 lineto
1429 0 lineto
133 0 lineto
133 165 lineto
512 256 lineto
512 4288 lineto
66 4377 lineto
66 4544 lineto
1024 4544 lineto
1024 3233 lineto
end_ol grestore
gsave 44.976149 21.349794 translate 0.035278 -0.035278 scale
start_ol
2112 3072 moveto
2112 2240 lineto
1974 2240 lineto
1787 2613 lineto
1697 2613 1594 2600 conicto
1491 2588 1388 2567 conicto
1285 2547 1190 2519 conicto
1095 2491 1024 2459 conicto
1024 256 lineto
1537 165 lineto
1537 0 lineto
133 0 lineto
133 165 lineto
512 256 lineto
512 2752 lineto
133 2843 lineto
133 3008 lineto
990 3008 lineto
1018 2619 lineto
1092 2680 1220 2758 conicto
1349 2836 1499 2906 conicto
1649 2976 1798 3024 conicto
1948 3072 2064 3072 conicto
2112 3072 lineto
end_ol grestore
gsave 45.263379 21.349794 translate 0.035278 -0.035278 scale
start_ol
832 1472 moveto
832 1416 lineto
832 1188 864 978 conicto
897 769 993 608 conicto
1090 447 1265 351 conicto
1441 256 1727 256 conicto
1819 256 1920 264 conicto
2022 272 2123 284 conicto
2225 297 2320 313 conicto
2416 329 2496 348 conicto
2496 173 lineto
2425 127 2324 85 conicto
2223 44 2101 10 conicto
1980 -24 1843 -44 conicto
1707 -64 1567 -64 conicto
1204 -64 953 38 conicto
703 140 548 340 conicto
393 541 324 837 conicto
256 1133 256 1518 conicto
256 2302 578 2687 conicto
900 3072 1496 3072 conicto
1731 3072 1935 3007 conicto
2140 2942 2293 2789 conicto
2446 2636 2535 2379 conicto
2624 2122 2624 1739 conicto
2624 1472 lineto
832 1472 lineto
1485 2816 moveto
1317 2816 1195 2739 conicto
1073 2662 993 2521 conicto
913 2380 875 2178 conicto
838 1977 838 1728 conicto
2048 1728 lineto
2048 1977 2022 2178 conicto
1997 2380 1932 2521 conicto
1867 2662 1759 2739 conicto
1651 2816 1485 2816 conicto
end_ol grestore
gsave 45.648017 21.349794 translate 0.035278 -0.035278 scale
start_ol
2304 840 moveto
2304 640 2241 472 conicto
2179 305 2044 186 conicto
1909 67 1695 1 conicto
1481 -64 1179 -64 conicto
1028 -64 881 -46 conicto
735 -29 609 -4 conicto
484 20 391 45 conicto
298 71 256 87 conicto
256 832 lineto
399 832 lineto
555 411 lineto
654 321 809 256 conicto
965 192 1175 192 conicto
1471 192 1631 320 conicto
1792 448 1792 716 conicto
1792 875 1725 978 conicto
1659 1082 1551 1152 conicto
1444 1222 1306 1268 conicto
1168 1315 1024 1362 conicto
880 1410 742 1470 conicto
604 1531 496 1626 conicto
389 1722 322 1865 conicto
256 2009 256 2222 conicto
256 2426 331 2585 conicto
406 2744 540 2852 conicto
675 2961 862 3016 conicto
1049 3072 1273 3072 conicto
1494 3072 1705 3041 conicto
1917 3010 2112 2971 conicto
2112 2304 lineto
1962 2304 lineto
1829 2662 lineto
1746 2737 1602 2776 conicto
1459 2816 1297 2816 conicto
1039 2816 903 2689 conicto
768 2562 768 2346 conicto
768 2200 834 2106 conicto
900 2012 1008 1946 conicto
1116 1881 1254 1833 conicto
1392 1786 1536 1735 conicto
1680 1684 1818 1618 conicto
1956 1553 2064 1451 conicto
2172 1350 2238 1203 conicto
2304 1057 2304 840 conicto
end_ol grestore
gsave 45.985195 21.349794 translate 0.035278 -0.035278 scale
start_ol
1024 3233 moveto
1024 3188 1022 3123 conicto
1021 3059 1019 2990 conicto
1018 2921 1013 2856 conicto
1008 2792 1002 2750 conicto
1092 2801 1220 2858 conicto
1349 2916 1489 2963 conicto
1629 3011 1769 3041 conicto
1909 3072 2025 3072 conicto
2198 3072 2343 3025 conicto
2488 2978 2592 2874 conicto
2697 2770 2756 2603 conicto
2816 2436 2816 2200 conicto
2816 256 lineto
3179 165 lineto
3179 0 lineto
1906 0 lineto
1906 165 lineto
2304 256 lineto
2304 2150 lineto
2304 2410 2171 2549 conicto
2039 2688 1761 2688 conicto
1669 2688 1566 2679 conicto
1463 2671 1361 2660 conicto
1260 2649 1171 2633 conicto
1083 2618 1024 2607 conicto
1024 256 lineto
1429 165 lineto
1429 0 lineto
133 0 lineto
133 165 lineto
512 256 lineto
512 4288 lineto
66 4377 lineto
66 4544 lineto
1024 4544 lineto
1024 3233 lineto
end_ol grestore
gsave 46.417285 21.349794 translate 0.035278 -0.035278 scale
start_ol
3008 1512 moveto
3008 751 2669 343 conicto
2330 -64 1613 -64 conicto
941 -64 598 340 conicto
256 745 256 1512 conicto
256 2270 598 2671 conicto
941 3072 1638 3072 conicto
2317 3072 2662 2679 conicto
3008 2286 3008 1512 conicto
2432 1514 moveto
2432 1822 2391 2065 conicto
2350 2308 2254 2474 conicto
2158 2641 2000 2728 conicto
1843 2816 1613 2816 conicto
1380 2816 1229 2728 conicto
1078 2641 989 2474 conicto
901 2308 866 2065 conicto
832 1822 832 1514 conicto
832 1202 866 957 conicto
901 713 989 543 conicto
1078 373 1229 282 conicto
1380 192 1613 192 conicto
1843 192 2000 282 conicto
2158 373 2254 543 conicto
2350 713 2391 957 conicto
2432 1202 2432 1514 conicto
end_ol grestore
gsave 46.849374 21.349794 translate 0.035278 -0.035278 scale
start_ol
1152 256 moveto
1665 165 lineto
1665 0 lineto
130 0 lineto
130 165 lineto
640 256 lineto
640 4288 lineto
130 4377 lineto
130 4544 lineto
1152 4544 lineto
1152 256 lineto
end_ol grestore
gsave 47.089144 21.349794 translate 0.035278 -0.035278 scale
start_ol
2324 223 moveto
2184 111 1975 23 conicto
1766 -64 1483 -64 conicto
256 -64 256 1467 conicto
256 1840 337 2137 conicto
418 2435 587 2643 conicto
756 2852 1014 2962 conicto
1272 3072 1626 3072 conicto
1788 3072 1971 3053 conicto
2154 3034 2324 2999 conicto
2317 3034 2314 3101 conicto
2311 3169 2309 3246 conicto
2308 3323 2306 3398 conicto
2304 3474 2304 3521 conicto
2304 4288 lineto
1801 4377 lineto
1801 4544 lineto
2816 4544 lineto
2816 256 lineto
3185 165 lineto
3185 0 lineto
2361 0 lineto
2324 223 lineto
832 1464 moveto
832 1127 891 896 conicto
950 666 1058 523 conicto
1166 381 1318 318 conicto
1471 256 1659 256 conicto
1849 256 2017 296 conicto
2186 336 2304 392 conicto
2304 2762 lineto
2170 2787 1995 2801 conicto
1821 2816 1659 2816 conicto
1236 2816 1034 2473 conicto
832 2130 832 1464 conicto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slj
0 slc
n 42.171737 22.676256 m 42.714793 22.255156 42.948720 22.171898 43.453078 21.599383 c s
showpage

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

View File

@@ -0,0 +1,694 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/laurent/ldevel/geometric_vision/doc/addons/images/triangulation_central.dia
%%Creator: Dia v0.97.2
%%CreationDate: Mon Aug 12 11:38:47 2013
%%For: laurent
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 659 465
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-26.375000 -21.049123 translate
%%EndProlog
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
0.000000 0.000000 0.000000 srgb
n 45.850000 17.550000 m 46.150000 4.700000 l s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 27.650000 16.225000 m 49.400000 5.175000 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 27.625000 16.225000 m 30.980637 17.726206 l s
[] 0 sd
0 slj
0 slc
n 31.322944 17.879343 m 30.764443 17.903365 l 30.980637 17.726206 l 30.968626 17.446956 l ef
n 31.322944 17.879343 m 30.764443 17.903365 l 30.980637 17.726206 l 30.968626 17.446956 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 27.650000 16.225000 m 27.638993 19.813199 l s
[] 0 sd
0 slj
0 slc
n 27.637843 20.188197 m 27.389378 19.687433 l 27.638993 19.813199 l 27.889376 19.688966 l ef
n 27.637843 20.188197 m 27.389378 19.687433 l 27.638993 19.813199 l 27.889376 19.688966 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 27.625000 16.225000 m 30.736892 13.868853 l s
[] 0 sd
0 slj
0 slc
n 31.035864 13.642489 m 30.788144 14.143623 l 30.736892 13.868853 l 30.486325 13.744993 l ef
n 31.035864 13.642489 m 30.788144 14.143623 l 30.736892 13.868853 l 30.486325 13.744993 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 27.750000 16.175000 m 33.978894 12.996277 l s
[] 0 sd
0 slj
0 slc
n 34.312914 12.825820 m 33.981192 13.275776 l 33.978894 12.996277 l 33.753916 12.830416 l ef
n 34.312914 12.825820 m 33.981192 13.275776 l 33.978894 12.996277 l 33.753916 12.830416 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.000000 0.000000 0.000000 srgb
n 45.850000 17.500000 m 47.424821 20.518407 l s
[] 0 sd
0 slj
0 slc
n 47.598284 20.850877 m 47.145354 20.523226 l 47.424821 20.518407 l 47.588647 20.291943 l ef
n 47.598284 20.850877 m 47.145354 20.523226 l 47.424821 20.518407 l 47.588647 20.291943 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 45.800000 17.500000 m 49.081575 15.548793 l s
[] 0 sd
0 slj
0 slc
n 49.403901 15.357140 m 49.101902 15.827562 l 49.081575 15.548793 l 48.846364 15.397794 l ef
n 49.403901 15.357140 m 49.101902 15.827562 l 49.081575 15.548793 l 48.846364 15.397794 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 45.875000 17.500000 m 44.039660 15.181676 l s
[] 0 sd
0 slj
0 slc
n 43.806897 14.887659 m 44.313260 15.124506 l 44.039660 15.181676 l 43.921237 15.434858 l ef
n 43.806897 14.887659 m 44.313260 15.124506 l 44.039660 15.181676 l 43.921237 15.434858 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 45.850000 17.450000 m 45.974184 12.911621 l s
[] 0 sd
0 slj
0 slc
n 45.984442 12.536762 m 46.220672 13.043413 l 45.974184 12.911621 l 45.720859 13.029736 l ef
n 45.984442 12.536762 m 46.220672 13.043413 l 45.974184 12.911621 l 45.720859 13.029736 l cp s
0.000000 0.000000 0.000000 srgb
n 45.700000 7.575000 0.187500 0.200000 0 360 ellipse f
0.100000 slw
[] 0 sd
[] 0 sd
n 45.700000 7.575000 0.187500 0.200000 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 45.387500 7.250000 m 46.137500 7.975000 l s
1.000000 0.000000 0.000000 srgb
gsave 32.300000 13.102500 translate 0.035278 -0.035278 scale
start_ol
1024 5440 moveto
97 5440 lineto
97 5907 lineto
1024 6171 lineto
1024 6828 lineto
1024 7471 1195 7955 conicto
1366 8440 1685 8761 conicto
2004 9083 2467 9245 conicto
2931 9408 3516 9408 conicto
3661 9408 3815 9398 conicto
3970 9388 4118 9371 conicto
4266 9355 4391 9332 conicto
4516 9309 4608 9283 conicto
4608 7808 lineto
4190 7808 lineto
4002 8542 lineto
3943 8603 3842 8653 conicto
3742 8704 3593 8704 conicto
3450 8704 3330 8616 conicto
3210 8528 3125 8328 conicto
3041 8129 2992 7812 conicto
2944 7496 2944 7039 conicto
2944 6144 lineto
4160 6144 lineto
4160 5440 lineto
2944 5440 lineto
2944 576 lineto
3943 422 lineto
3943 0 lineto
358 0 lineto
358 422 lineto
1024 576 lineto
1024 5440 lineto
end_ol grestore
gsave 46.275000 15.452500 translate 0.035278 -0.035278 scale
start_ol
1024 5440 moveto
97 5440 lineto
97 5907 lineto
1024 6171 lineto
1024 6828 lineto
1024 7471 1195 7955 conicto
1366 8440 1685 8761 conicto
2004 9083 2467 9245 conicto
2931 9408 3516 9408 conicto
3661 9408 3815 9398 conicto
3970 9388 4118 9371 conicto
4266 9355 4391 9332 conicto
4516 9309 4608 9283 conicto
4608 7808 lineto
4190 7808 lineto
4002 8542 lineto
3943 8603 3842 8653 conicto
3742 8704 3593 8704 conicto
3450 8704 3330 8616 conicto
3210 8528 3125 8328 conicto
3041 8129 2992 7812 conicto
2944 7496 2944 7039 conicto
2944 6144 lineto
4160 6144 lineto
4160 5440 lineto
2944 5440 lineto
2944 576 lineto
3943 422 lineto
3943 0 lineto
358 0 lineto
358 422 lineto
1024 576 lineto
1024 5440 lineto
end_ol grestore
gsave 46.864442 15.452500 translate 0.035278 -0.035278 scale
start_ol
1024 8768 moveto
2688 8768 lineto
2185 5632 lineto
1514 5632 lineto
1024 8768 lineto
end_ol grestore
0.000000 0.000000 0.000000 srgb
gsave 42.800000 6.727500 translate 0.035278 -0.035278 scale
start_ol
2693 5795 moveto
2836 5893 3009 5981 conicto
3182 6069 3387 6131 conicto
3593 6194 3840 6233 conicto
4088 6272 4388 6272 conicto
5667 6272 6289 5525 conicto
6912 4778 6912 3166 conicto
6912 2426 6745 1818 conicto
6579 1210 6233 778 conicto
5888 346 5360 109 conicto
4832 -128 4108 -128 conicto
3756 -128 3417 -85 conicto
3078 -43 2713 49 conicto
2719 -24 2729 -151 conicto
2739 -278 2742 -421 conicto
2746 -564 2749 -701 conicto
2752 -838 2752 -938 conicto
2752 -2304 lineto
3653 -2458 lineto
3653 -2880 lineto
165 -2880 lineto
165 -2458 lineto
832 -2304 lineto
832 5568 lineto
159 5722 lineto
159 6144 lineto
2680 6144 lineto
2693 5795 lineto
4992 3137 moveto
4992 3846 4901 4317 conicto
4810 4788 4654 5064 conicto
4499 5341 4294 5454 conicto
4090 5568 3862 5568 conicto
3531 5568 3248 5496 conicto
2966 5425 2752 5321 conicto
2752 713 lineto
3278 576 3849 576 conicto
4434 576 4713 1219 conicto
4992 1863 4992 3137 conicto
end_ol grestore
gsave 43.784076 6.727500 translate 0.035278 -0.035278 scale
start_ol
6848 3584 moveto
6848 2624 lineto
640 2624 lineto
640 3584 lineto
6848 3584 lineto
6848 6272 moveto
6848 5312 lineto
640 5312 lineto
640 6272 lineto
6848 6272 lineto
end_ol grestore
gsave 44.790634 6.727500 translate 0.035278 -0.035278 scale
start_ol
2941 -192 moveto
2711 -192 2510 -107 conicto
2310 -22 2165 125 conicto
2020 273 1938 470 conicto
1856 667 1856 896 conicto
1856 1119 1938 1319 conicto
2020 1519 2165 1666 conicto
2310 1814 2510 1899 conicto
2711 1984 2941 1984 conicto
3171 1984 3368 1899 conicto
3565 1814 3713 1666 conicto
3861 1519 3946 1319 conicto
4032 1119 4032 896 conicto
4032 667 3946 470 conicto
3861 273 3713 125 conicto
3565 -22 3368 -107 conicto
3171 -192 2941 -192 conicto
3264 2560 moveto
2560 2560 lineto
2188 4608 lineto
2809 4771 lineto
3058 4836 3280 4943 conicto
3502 5050 3669 5245 conicto
3836 5441 3934 5743 conicto
4032 6046 4032 6501 conicto
4032 6956 3953 7278 conicto
3875 7600 3707 7805 conicto
3540 8010 3284 8101 conicto
3028 8192 2668 8192 conicto
2353 8192 2113 8110 conicto
1874 8029 1690 7907 conicto
1408 6592 lineto
832 6592 lineto
832 8547 lineto
1339 8680 1849 8756 conicto
2359 8832 2964 8832 conicto
4445 8832 5198 8261 conicto
5952 7690 5952 6542 conicto
5952 6110 5834 5716 conicto
5717 5323 5474 5000 conicto
5232 4678 4866 4436 conicto
4500 4194 4009 4059 conicto
3440 3904 lineto
3264 2560 lineto
end_ol grestore
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slj
0 slc
0.000000 0.000000 1.000000 srgb
n 44.487500 18.650000 m 39.662500 20.675000 32.812500 19.800000 29.304416 18.179176 c s
[] 0 sd
0 slj
0 slc
n 28.963994 18.021893 m 29.522745 18.004656 l 29.304416 18.179176 l 29.313034 18.458552 l ef
n 28.963994 18.021893 m 29.522745 18.004656 l 29.304416 18.179176 l 29.313034 18.458552 l cp s
gsave 36.150000 19.252500 translate 0.035278 -0.035278 scale
start_ol
3392 3712 moveto
3392 640 lineto
4515 467 lineto
4515 0 lineto
306 0 lineto
306 467 lineto
1344 640 lineto
1344 8128 lineto
221 8296 lineto
221 8768 lineto
4411 8768 lineto
5510 8768 6248 8588 conicto
6987 8408 7432 8084 conicto
7877 7761 8066 7309 conicto
8256 6858 8256 6315 conicto
8256 5903 8164 5530 conicto
8072 5157 7865 4843 conicto
7659 4529 7321 4287 conicto
6983 4045 6484 3895 conicto
8855 640 lineto
9792 467 lineto
9792 0 lineto
6958 0 lineto
4412 3712 lineto
3392 3712 lineto
6208 6303 moveto
6208 6830 6103 7170 conicto
5998 7510 5768 7708 conicto
5538 7906 5177 7985 conicto
4816 8064 4311 8064 conicto
3392 8064 lineto
3392 4416 lineto
4344 4416 lineto
4862 4416 5220 4521 conicto
5578 4627 5798 4854 conicto
6018 5082 6113 5438 conicto
6208 5795 6208 6303 conicto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.117647 0.878431 1.000000 srgb
n 27.737500 16.200000 m 45.301860 17.416368 l s
[] 0 sd
0 slj
0 slc
n 45.675964 17.442276 m 45.159887 17.657135 l 45.301860 17.416368 l 45.194430 17.158330 l ef
n 45.675964 17.442276 m 45.159887 17.657135 l 45.301860 17.416368 l 45.194430 17.158330 l cp s
gsave 36.675000 16.477500 translate 0.035278 -0.035278 scale
start_ol
2874 -128 moveto
2382 -128 2031 -11 conicto
1680 106 1457 311 conicto
1234 516 1129 799 conicto
1024 1082 1024 1414 conicto
1024 5440 lineto
221 5440 lineto
221 5880 lineto
1168 6144 lineto
1946 7552 lineto
2944 7552 lineto
2944 6144 lineto
4238 6144 lineto
4238 5440 lineto
2944 5440 lineto
2944 1552 lineto
2944 1131 3118 917 conicto
3293 704 3577 704 conicto
3796 704 4012 737 conicto
4229 770 4416 809 conicto
4416 232 lineto
4324 167 4147 101 conicto
3970 36 3756 -13 conicto
3543 -63 3310 -95 conicto
3078 -128 2874 -128 conicto
end_ol grestore
0.000000 0.000000 0.000000 srgb
gsave 26.375000 16.077500 translate 0.035278 -0.035278 scale
start_ol
4208 5632 moveto
3407 5632 2779 5000 conicto
2151 4369 1850 3526 conicto
1550 2683 1550 1898 conicto
1550 1194 1870 789 conicto
2191 384 2765 384 conicto
3260 384 3694 630 conicto
4128 876 4676 1460 conicto
4889 1327 lineto
4288 552 3700 212 conicto
3113 -128 2365 -128 conicto
1429 -128 915 400 conicto
401 928 401 1877 conicto
401 3440 1590 4676 conicto
2779 5912 4275 5912 conicto
4876 5912 5277 5606 conicto
5678 5301 5678 4835 conicto
5678 4583 5491 4403 conicto
5304 4224 5036 4224 conicto
4515 4224 4515 4728 conicto
4515 4861 4615 5080 conicto
4716 5300 4716 5366 conicto
4716 5632 4208 5632 conicto
end_ol grestore
gsave 46.625000 18.442500 translate 0.035278 -0.035278 scale
start_ol
4208 5632 moveto
3407 5632 2779 5000 conicto
2151 4369 1850 3526 conicto
1550 2683 1550 1898 conicto
1550 1194 1870 789 conicto
2191 384 2765 384 conicto
3260 384 3694 630 conicto
4128 876 4676 1460 conicto
4889 1327 lineto
4288 552 3700 212 conicto
3113 -128 2365 -128 conicto
1429 -128 915 400 conicto
401 928 401 1877 conicto
401 3440 1590 4676 conicto
2779 5912 4275 5912 conicto
4876 5912 5277 5606 conicto
5678 5301 5678 4835 conicto
5678 4583 5491 4403 conicto
5304 4224 5036 4224 conicto
4515 4224 4515 4728 conicto
4515 4861 4615 5080 conicto
4716 5300 4716 5366 conicto
4716 5632 4208 5632 conicto
end_ol grestore
gsave 47.409266 18.442500 translate 0.035278 -0.035278 scale
start_ol
1763 5632 moveto
1937 7764 2044 8177 conicto
2324 8842 2792 8896 conicto
2966 8896 3093 8783 conicto
3220 8670 3220 8509 conicto
3220 8177 2044 5632 conicto
1763 5632 lineto
end_ol grestore
0.000000 0.000000 1.000000 srgb
gsave 37.500000 19.550000 translate 0.035278 -0.035278 scale
start_ol
2866 3840 moveto
2320 3840 1892 3401 conicto
1465 2962 1260 2375 conicto
1055 1789 1055 1245 conicto
1055 755 1273 473 conicto
1492 192 1883 192 conicto
2220 192 2515 363 conicto
2811 534 3184 940 conicto
3330 848 lineto
2920 329 2520 100 conicto
2120 -128 1610 -128 conicto
973 -128 623 236 conicto
273 600 273 1253 conicto
273 2329 1082 3180 conicto
1892 4032 2911 4032 conicto
3320 4032 3593 3819 conicto
3866 3607 3866 3285 conicto
3866 3110 3739 2985 conicto
3612 2861 3430 2861 conicto
3075 2861 3075 3212 conicto
3075 3305 3143 3457 conicto
3211 3609 3211 3655 conicto
3211 3840 2866 3840 conicto
end_ol grestore
gsave 38.034500 19.550000 translate 0.035278 -0.035278 scale
start_ol
1201 3840 moveto
1319 5303 1392 5586 conicto
1583 6043 1901 6080 conicto
2020 6080 2106 6002 conicto
2192 5924 2192 5815 conicto
2192 5586 1392 3840 conicto
1201 3840 lineto
end_ol grestore
gsave 37.475000 18.435000 translate 0.035278 -0.035278 scale
start_ol
2866 3840 moveto
2320 3840 1892 3401 conicto
1465 2962 1260 2375 conicto
1055 1789 1055 1245 conicto
1055 755 1273 473 conicto
1492 192 1883 192 conicto
2220 192 2515 363 conicto
2811 534 3184 940 conicto
3330 848 lineto
2920 329 2520 100 conicto
2120 -128 1610 -128 conicto
973 -128 623 236 conicto
273 600 273 1253 conicto
273 2329 1082 3180 conicto
1892 4032 2911 4032 conicto
3320 4032 3593 3819 conicto
3866 3607 3866 3285 conicto
3866 3110 3739 2985 conicto
3612 2861 3430 2861 conicto
3075 2861 3075 3212 conicto
3075 3305 3143 3457 conicto
3211 3609 3211 3655 conicto
3211 3840 2866 3840 conicto
end_ol grestore
0.117647 0.878431 1.000000 srgb
gsave 37.450000 16.700000 translate 0.035278 -0.035278 scale
start_ol
2866 3840 moveto
2320 3840 1892 3401 conicto
1465 2962 1260 2375 conicto
1055 1789 1055 1245 conicto
1055 755 1273 473 conicto
1492 192 1883 192 conicto
2220 192 2515 363 conicto
2811 534 3184 940 conicto
3330 848 lineto
2920 329 2520 100 conicto
2120 -128 1610 -128 conicto
973 -128 623 236 conicto
273 600 273 1253 conicto
273 2329 1082 3180 conicto
1892 4032 2911 4032 conicto
3320 4032 3593 3819 conicto
3866 3607 3866 3285 conicto
3866 3110 3739 2985 conicto
3612 2861 3430 2861 conicto
3075 2861 3075 3212 conicto
3075 3305 3143 3457 conicto
3211 3609 3211 3655 conicto
3211 3840 2866 3840 conicto
end_ol grestore
gsave 37.984500 16.700000 translate 0.035278 -0.035278 scale
start_ol
1201 3840 moveto
1319 5303 1392 5586 conicto
1583 6043 1901 6080 conicto
2020 6080 2106 6002 conicto
2192 5924 2192 5815 conicto
2192 5586 1392 3840 conicto
1201 3840 lineto
end_ol grestore
gsave 37.400000 15.750000 translate 0.035278 -0.035278 scale
start_ol
2866 3840 moveto
2320 3840 1892 3401 conicto
1465 2962 1260 2375 conicto
1055 1789 1055 1245 conicto
1055 755 1273 473 conicto
1492 192 1883 192 conicto
2220 192 2515 363 conicto
2811 534 3184 940 conicto
3330 848 lineto
2920 329 2520 100 conicto
2120 -128 1610 -128 conicto
973 -128 623 236 conicto
273 600 273 1253 conicto
273 2329 1082 3180 conicto
1892 4032 2911 4032 conicto
3320 4032 3593 3819 conicto
3866 3607 3866 3285 conicto
3866 3110 3739 2985 conicto
3612 2861 3430 2861 conicto
3075 2861 3075 3212 conicto
3075 3305 3143 3457 conicto
3211 3609 3211 3655 conicto
3211 3840 2866 3840 conicto
end_ol grestore
showpage

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

View File

@@ -0,0 +1,918 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/laurent/ldevel/geometric_vision/doc/addons/images/triangulation_noncentral.dia
%%Creator: Dia v0.97.2
%%CreationDate: Mon Aug 12 12:08:05 2013
%%For: laurent
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 679 471
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/dpi_x 300 def
/dpi_y 300 def
/conicto {
/to_y exch def
/to_x exch def
/conic_cntrl_y exch def
/conic_cntrl_x exch def
currentpoint
/p0_y exch def
/p0_x exch def
/p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
/p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
/p2_x p1_x to_x p0_x sub 1 3 div mul add def
/p2_y p1_y to_y p0_y sub 1 3 div mul add def
p1_x p1_y p2_x p2_y to_x to_y curveto
} bind def
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
-25.759100 -21.049123 translate
%%EndProlog
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
0.000000 0.000000 0.000000 srgb
n 48.470700 14.294200 m 46.150000 4.700000 l s
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slc
n 27.322700 12.500000 m 49.372700 5.175000 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 27.625000 16.225000 m 30.980637 17.726206 l s
[] 0 sd
0 slj
0 slc
n 31.322944 17.879343 m 30.764443 17.903365 l 30.980637 17.726206 l 30.968626 17.446956 l ef
n 31.322944 17.879343 m 30.764443 17.903365 l 30.980637 17.726206 l 30.968626 17.446956 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 27.650000 16.225000 m 27.657316 19.842598 l s
[] 0 sd
0 slj
0 slc
n 27.658074 20.217597 m 27.407063 19.718103 l 27.657316 19.842598 l 27.907062 19.717092 l ef
n 27.658074 20.217597 m 27.407063 19.718103 l 27.657316 19.842598 l 27.907062 19.717092 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 27.625000 16.225000 m 30.736892 13.868853 l s
[] 0 sd
0 slj
0 slc
n 31.035864 13.642489 m 30.788144 14.143623 l 30.736892 13.868853 l 30.486325 13.744993 l ef
n 31.035864 13.642489 m 30.788144 14.143623 l 30.736892 13.868853 l 30.486325 13.744993 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 27.318200 12.516100 m 32.458797 10.779687 l s
[] 0 sd
0 slj
0 slc
n 32.814076 10.659679 m 32.420376 11.056542 l 32.458797 10.779687 l 32.260366 10.582837 l ef
n 32.814076 10.659679 m 32.420376 11.056542 l 32.458797 10.779687 l 32.260366 10.582837 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.000000 0.000000 0.000000 srgb
n 45.850000 17.500000 m 47.424821 20.518407 l s
[] 0 sd
0 slj
0 slc
n 47.598284 20.850877 m 47.145354 20.523226 l 47.424821 20.518407 l 47.588647 20.291943 l ef
n 47.598284 20.850877 m 47.145354 20.523226 l 47.424821 20.518407 l 47.588647 20.291943 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 45.800000 17.500000 m 49.081575 15.548793 l s
[] 0 sd
0 slj
0 slc
n 49.403901 15.357140 m 49.101902 15.827562 l 49.081575 15.548793 l 48.846364 15.397794 l ef
n 49.403901 15.357140 m 49.101902 15.827562 l 49.081575 15.548793 l 48.846364 15.397794 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 45.875000 17.500000 m 44.039660 15.181676 l s
[] 0 sd
0 slj
0 slc
n 43.806897 14.887659 m 44.313260 15.124506 l 44.039660 15.181676 l 43.921237 15.434858 l ef
n 43.806897 14.887659 m 44.313260 15.124506 l 44.039660 15.181676 l 43.921237 15.434858 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
1.000000 0.000000 0.000000 srgb
n 48.453600 14.287500 m 47.465005 10.106073 l s
[] 0 sd
0 slj
0 slc
n 47.378724 9.741134 m 47.737058 10.170199 l 47.465005 10.106073 l 47.250472 10.285240 l ef
n 47.378724 9.741134 m 47.737058 10.170199 l 47.465005 10.106073 l 47.250472 10.285240 l cp s
0.000000 0.000000 0.000000 srgb
n 46.247900 6.641120 0.187500 0.200000 0 360 ellipse f
0.100000 slw
[] 0 sd
[] 0 sd
n 46.247900 6.641120 0.187500 0.200000 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 45.935400 6.316120 m 46.685400 7.041120 l s
1.000000 0.000000 0.000000 srgb
gsave 30.968700 10.567000 translate 0.035278 -0.035278 scale
start_ol
1024 5440 moveto
97 5440 lineto
97 5907 lineto
1024 6171 lineto
1024 6828 lineto
1024 7471 1195 7955 conicto
1366 8440 1685 8761 conicto
2004 9083 2467 9245 conicto
2931 9408 3516 9408 conicto
3661 9408 3815 9398 conicto
3970 9388 4118 9371 conicto
4266 9355 4391 9332 conicto
4516 9309 4608 9283 conicto
4608 7808 lineto
4190 7808 lineto
4002 8542 lineto
3943 8603 3842 8653 conicto
3742 8704 3593 8704 conicto
3450 8704 3330 8616 conicto
3210 8528 3125 8328 conicto
3041 8129 2992 7812 conicto
2944 7496 2944 7039 conicto
2944 6144 lineto
4160 6144 lineto
4160 5440 lineto
2944 5440 lineto
2944 576 lineto
3943 422 lineto
3943 0 lineto
358 0 lineto
358 422 lineto
1024 576 lineto
1024 5440 lineto
end_ol grestore
gsave 48.492500 12.207900 translate 0.035278 -0.035278 scale
start_ol
1024 5440 moveto
97 5440 lineto
97 5907 lineto
1024 6171 lineto
1024 6828 lineto
1024 7471 1195 7955 conicto
1366 8440 1685 8761 conicto
2004 9083 2467 9245 conicto
2931 9408 3516 9408 conicto
3661 9408 3815 9398 conicto
3970 9388 4118 9371 conicto
4266 9355 4391 9332 conicto
4516 9309 4608 9283 conicto
4608 7808 lineto
4190 7808 lineto
4002 8542 lineto
3943 8603 3842 8653 conicto
3742 8704 3593 8704 conicto
3450 8704 3330 8616 conicto
3210 8528 3125 8328 conicto
3041 8129 2992 7812 conicto
2944 7496 2944 7039 conicto
2944 6144 lineto
4160 6144 lineto
4160 5440 lineto
2944 5440 lineto
2944 576 lineto
3943 422 lineto
3943 0 lineto
358 0 lineto
358 422 lineto
1024 576 lineto
1024 5440 lineto
end_ol grestore
gsave 49.081942 12.207900 translate 0.035278 -0.035278 scale
start_ol
1024 8768 moveto
2688 8768 lineto
2185 5632 lineto
1514 5632 lineto
1024 8768 lineto
end_ol grestore
0.000000 0.000000 0.000000 srgb
gsave 43.075000 6.027500 translate 0.035278 -0.035278 scale
start_ol
2693 5795 moveto
2836 5893 3009 5981 conicto
3182 6069 3387 6131 conicto
3593 6194 3840 6233 conicto
4088 6272 4388 6272 conicto
5667 6272 6289 5525 conicto
6912 4778 6912 3166 conicto
6912 2426 6745 1818 conicto
6579 1210 6233 778 conicto
5888 346 5360 109 conicto
4832 -128 4108 -128 conicto
3756 -128 3417 -85 conicto
3078 -43 2713 49 conicto
2719 -24 2729 -151 conicto
2739 -278 2742 -421 conicto
2746 -564 2749 -701 conicto
2752 -838 2752 -938 conicto
2752 -2304 lineto
3653 -2458 lineto
3653 -2880 lineto
165 -2880 lineto
165 -2458 lineto
832 -2304 lineto
832 5568 lineto
159 5722 lineto
159 6144 lineto
2680 6144 lineto
2693 5795 lineto
4992 3137 moveto
4992 3846 4901 4317 conicto
4810 4788 4654 5064 conicto
4499 5341 4294 5454 conicto
4090 5568 3862 5568 conicto
3531 5568 3248 5496 conicto
2966 5425 2752 5321 conicto
2752 713 lineto
3278 576 3849 576 conicto
4434 576 4713 1219 conicto
4992 1863 4992 3137 conicto
end_ol grestore
gsave 44.059076 6.027500 translate 0.035278 -0.035278 scale
start_ol
6848 3584 moveto
6848 2624 lineto
640 2624 lineto
640 3584 lineto
6848 3584 lineto
6848 6272 moveto
6848 5312 lineto
640 5312 lineto
640 6272 lineto
6848 6272 lineto
end_ol grestore
gsave 45.065634 6.027500 translate 0.035278 -0.035278 scale
start_ol
2941 -192 moveto
2711 -192 2510 -107 conicto
2310 -22 2165 125 conicto
2020 273 1938 470 conicto
1856 667 1856 896 conicto
1856 1119 1938 1319 conicto
2020 1519 2165 1666 conicto
2310 1814 2510 1899 conicto
2711 1984 2941 1984 conicto
3171 1984 3368 1899 conicto
3565 1814 3713 1666 conicto
3861 1519 3946 1319 conicto
4032 1119 4032 896 conicto
4032 667 3946 470 conicto
3861 273 3713 125 conicto
3565 -22 3368 -107 conicto
3171 -192 2941 -192 conicto
3264 2560 moveto
2560 2560 lineto
2188 4608 lineto
2809 4771 lineto
3058 4836 3280 4943 conicto
3502 5050 3669 5245 conicto
3836 5441 3934 5743 conicto
4032 6046 4032 6501 conicto
4032 6956 3953 7278 conicto
3875 7600 3707 7805 conicto
3540 8010 3284 8101 conicto
3028 8192 2668 8192 conicto
2353 8192 2113 8110 conicto
1874 8029 1690 7907 conicto
1408 6592 lineto
832 6592 lineto
832 8547 lineto
1339 8680 1849 8756 conicto
2359 8832 2964 8832 conicto
4445 8832 5198 8261 conicto
5952 7690 5952 6542 conicto
5952 6110 5834 5716 conicto
5717 5323 5474 5000 conicto
5232 4678 4866 4436 conicto
4500 4194 4009 4059 conicto
3440 3904 lineto
3264 2560 lineto
end_ol grestore
0.100000 slw
[0.200000] 0 sd
[0.200000] 0 sd
0 slj
0 slc
0.000000 0.000000 1.000000 srgb
n 44.487500 18.650000 m 39.662500 20.675000 32.812500 19.800000 29.304416 18.179176 c s
[] 0 sd
0 slj
0 slc
n 28.963994 18.021893 m 29.522745 18.004656 l 29.304416 18.179176 l 29.313034 18.458552 l ef
n 28.963994 18.021893 m 29.522745 18.004656 l 29.304416 18.179176 l 29.313034 18.458552 l cp s
gsave 36.150000 19.252500 translate 0.035278 -0.035278 scale
start_ol
3392 3712 moveto
3392 640 lineto
4515 467 lineto
4515 0 lineto
306 0 lineto
306 467 lineto
1344 640 lineto
1344 8128 lineto
221 8296 lineto
221 8768 lineto
4411 8768 lineto
5510 8768 6248 8588 conicto
6987 8408 7432 8084 conicto
7877 7761 8066 7309 conicto
8256 6858 8256 6315 conicto
8256 5903 8164 5530 conicto
8072 5157 7865 4843 conicto
7659 4529 7321 4287 conicto
6983 4045 6484 3895 conicto
8855 640 lineto
9792 467 lineto
9792 0 lineto
6958 0 lineto
4412 3712 lineto
3392 3712 lineto
6208 6303 moveto
6208 6830 6103 7170 conicto
5998 7510 5768 7708 conicto
5538 7906 5177 7985 conicto
4816 8064 4311 8064 conicto
3392 8064 lineto
3392 4416 lineto
4344 4416 lineto
4862 4416 5220 4521 conicto
5578 4627 5798 4854 conicto
6018 5082 6113 5438 conicto
6208 5795 6208 6303 conicto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.117647 0.878431 1.000000 srgb
n 27.737500 16.200000 m 45.301860 17.416368 l s
[] 0 sd
0 slj
0 slc
n 45.675964 17.442276 m 45.159887 17.657135 l 45.301860 17.416368 l 45.194430 17.158330 l ef
n 45.675964 17.442276 m 45.159887 17.657135 l 45.301860 17.416368 l 45.194430 17.158330 l cp s
gsave 36.675000 16.477500 translate 0.035278 -0.035278 scale
start_ol
2874 -128 moveto
2382 -128 2031 -11 conicto
1680 106 1457 311 conicto
1234 516 1129 799 conicto
1024 1082 1024 1414 conicto
1024 5440 lineto
221 5440 lineto
221 5880 lineto
1168 6144 lineto
1946 7552 lineto
2944 7552 lineto
2944 6144 lineto
4238 6144 lineto
4238 5440 lineto
2944 5440 lineto
2944 1552 lineto
2944 1131 3118 917 conicto
3293 704 3577 704 conicto
3796 704 4012 737 conicto
4229 770 4416 809 conicto
4416 232 lineto
4324 167 4147 101 conicto
3970 36 3756 -13 conicto
3543 -63 3310 -95 conicto
3078 -128 2874 -128 conicto
end_ol grestore
0.000000 0.000000 0.000000 srgb
gsave 25.759100 16.731800 translate 0.035278 -0.035278 scale
start_ol
5010 4442 moveto
5010 4617 4729 4884 conicto
4449 5152 4449 5433 conicto
4449 5647 4582 5767 conicto
4716 5888 4943 5888 conicto
5250 5888 5470 5654 conicto
5691 5420 5691 5099 conicto
5691 4724 5457 4141 conicto
5223 3559 4876 3064 conicto
3847 1618 3019 681 conicto
2191 -256 1937 -256 conicto
1817 -256 1817 212 conicto
1817 788 1723 2013 conicto
1630 3238 1523 3934 conicto
1389 4858 1229 5125 conicto
1069 5393 681 5393 conicto
427 5393 281 5380 conicto
281 5554 lineto
748 5634 1095 5701 conicto
1443 5768 1576 5808 conicto
1710 5848 1817 5868 conicto
1924 5888 2031 5888 conicto
2244 5888 2464 4308 conicto
2685 2729 2765 922 conicto
3179 1350 lineto
3887 2100 4448 3043 conicto
5010 3987 5010 4442 conicto
end_ol grestore
gsave 26.490913 16.731800 translate 0.035278 -0.035278 scale
start_ol
1189 5392 moveto
748 5392 lineto
721 5594 lineto
2779 5888 2805 5888 conicto
2872 5888 2872 5834 conicto
2445 4386 lineto
3032 5197 3553 5542 conicto
4074 5888 4729 5888 conicto
5437 5888 5851 5442 conicto
6265 4997 6265 4224 conicto
6265 2640 4989 1256 conicto
3714 -128 2258 -128 conicto
1817 -128 1376 123 conicto
882 -1752 882 -2149 conicto
882 -2560 1737 -2560 conicto
1737 -2752 lineto
-1002 -2752 lineto
-1002 -2547 lineto
-828 -2547 -721 -2527 conicto
-615 -2507 -508 -2446 conicto
-401 -2386 -347 -2312 conicto
-294 -2238 -214 -2071 conicto
-134 -1904 -87 -1736 conicto
-40 -1569 40 -1248 conicto
120 -927 193 -612 conicto
267 -297 400 218 conicto
534 734 668 1242 conicto
1616 4830 1616 5031 conicto
1616 5151 1469 5271 conicto
1323 5392 1189 5392 conicto
5063 4174 moveto
5063 5312 4181 5312 conicto
3687 5312 3186 4882 conicto
2685 4452 2431 3804 conicto
2137 3062 1850 2017 conicto
1563 973 1563 642 conicto
1563 429 1743 290 conicto
1924 152 2204 152 conicto
3006 152 3694 866 conicto
4382 1581 4722 2493 conicto
5063 3406 5063 4174 conicto
end_ol grestore
gsave 46.625000 18.442500 translate 0.035278 -0.035278 scale
start_ol
5010 4442 moveto
5010 4617 4729 4884 conicto
4449 5152 4449 5433 conicto
4449 5647 4582 5767 conicto
4716 5888 4943 5888 conicto
5250 5888 5470 5654 conicto
5691 5420 5691 5099 conicto
5691 4724 5457 4141 conicto
5223 3559 4876 3064 conicto
3847 1618 3019 681 conicto
2191 -256 1937 -256 conicto
1817 -256 1817 212 conicto
1817 788 1723 2013 conicto
1630 3238 1523 3934 conicto
1389 4858 1229 5125 conicto
1069 5393 681 5393 conicto
427 5393 281 5380 conicto
281 5554 lineto
748 5634 1095 5701 conicto
1443 5768 1576 5808 conicto
1710 5848 1817 5868 conicto
1924 5888 2031 5888 conicto
2244 5888 2464 4308 conicto
2685 2729 2765 922 conicto
3179 1350 lineto
3887 2100 4448 3043 conicto
5010 3987 5010 4442 conicto
end_ol grestore
gsave 47.356813 18.442500 translate 0.035278 -0.035278 scale
start_ol
1189 5392 moveto
748 5392 lineto
721 5594 lineto
2779 5888 2805 5888 conicto
2872 5888 2872 5834 conicto
2445 4386 lineto
3032 5197 3553 5542 conicto
4074 5888 4729 5888 conicto
5437 5888 5851 5442 conicto
6265 4997 6265 4224 conicto
6265 2640 4989 1256 conicto
3714 -128 2258 -128 conicto
1817 -128 1376 123 conicto
882 -1752 882 -2149 conicto
882 -2560 1737 -2560 conicto
1737 -2752 lineto
-1002 -2752 lineto
-1002 -2547 lineto
-828 -2547 -721 -2527 conicto
-615 -2507 -508 -2446 conicto
-401 -2386 -347 -2312 conicto
-294 -2238 -214 -2071 conicto
-134 -1904 -87 -1736 conicto
-40 -1569 40 -1248 conicto
120 -927 193 -612 conicto
267 -297 400 218 conicto
534 734 668 1242 conicto
1616 4830 1616 5031 conicto
1616 5151 1469 5271 conicto
1323 5392 1189 5392 conicto
5063 4174 moveto
5063 5312 4181 5312 conicto
3687 5312 3186 4882 conicto
2685 4452 2431 3804 conicto
2137 3062 1850 2017 conicto
1563 973 1563 642 conicto
1563 429 1743 290 conicto
1924 152 2204 152 conicto
3006 152 3694 866 conicto
4382 1581 4722 2493 conicto
5063 3406 5063 4174 conicto
end_ol grestore
gsave 48.240984 18.442500 translate 0.035278 -0.035278 scale
start_ol
1763 5632 moveto
1937 7764 2044 8177 conicto
2324 8842 2792 8896 conicto
2966 8896 3093 8783 conicto
3220 8670 3220 8509 conicto
3220 8177 2044 5632 conicto
1763 5632 lineto
end_ol grestore
0.000000 0.000000 1.000000 srgb
gsave 37.500000 19.550000 translate 0.035278 -0.035278 scale
start_ol
2866 3840 moveto
2320 3840 1892 3401 conicto
1465 2962 1260 2375 conicto
1055 1789 1055 1245 conicto
1055 755 1273 473 conicto
1492 192 1883 192 conicto
2220 192 2515 363 conicto
2811 534 3184 940 conicto
3330 848 lineto
2920 329 2520 100 conicto
2120 -128 1610 -128 conicto
973 -128 623 236 conicto
273 600 273 1253 conicto
273 2329 1082 3180 conicto
1892 4032 2911 4032 conicto
3320 4032 3593 3819 conicto
3866 3607 3866 3285 conicto
3866 3110 3739 2985 conicto
3612 2861 3430 2861 conicto
3075 2861 3075 3212 conicto
3075 3305 3143 3457 conicto
3211 3609 3211 3655 conicto
3211 3840 2866 3840 conicto
end_ol grestore
gsave 38.034500 19.550000 translate 0.035278 -0.035278 scale
start_ol
1201 3840 moveto
1319 5303 1392 5586 conicto
1583 6043 1901 6080 conicto
2020 6080 2106 6002 conicto
2192 5924 2192 5815 conicto
2192 5586 1392 3840 conicto
1201 3840 lineto
end_ol grestore
gsave 37.475000 18.435000 translate 0.035278 -0.035278 scale
start_ol
2866 3840 moveto
2320 3840 1892 3401 conicto
1465 2962 1260 2375 conicto
1055 1789 1055 1245 conicto
1055 755 1273 473 conicto
1492 192 1883 192 conicto
2220 192 2515 363 conicto
2811 534 3184 940 conicto
3330 848 lineto
2920 329 2520 100 conicto
2120 -128 1610 -128 conicto
973 -128 623 236 conicto
273 600 273 1253 conicto
273 2329 1082 3180 conicto
1892 4032 2911 4032 conicto
3320 4032 3593 3819 conicto
3866 3607 3866 3285 conicto
3866 3110 3739 2985 conicto
3612 2861 3430 2861 conicto
3075 2861 3075 3212 conicto
3075 3305 3143 3457 conicto
3211 3609 3211 3655 conicto
3211 3840 2866 3840 conicto
end_ol grestore
0.117647 0.878431 1.000000 srgb
gsave 37.450000 16.700000 translate 0.035278 -0.035278 scale
start_ol
2866 3840 moveto
2320 3840 1892 3401 conicto
1465 2962 1260 2375 conicto
1055 1789 1055 1245 conicto
1055 755 1273 473 conicto
1492 192 1883 192 conicto
2220 192 2515 363 conicto
2811 534 3184 940 conicto
3330 848 lineto
2920 329 2520 100 conicto
2120 -128 1610 -128 conicto
973 -128 623 236 conicto
273 600 273 1253 conicto
273 2329 1082 3180 conicto
1892 4032 2911 4032 conicto
3320 4032 3593 3819 conicto
3866 3607 3866 3285 conicto
3866 3110 3739 2985 conicto
3612 2861 3430 2861 conicto
3075 2861 3075 3212 conicto
3075 3305 3143 3457 conicto
3211 3609 3211 3655 conicto
3211 3840 2866 3840 conicto
end_ol grestore
gsave 37.984500 16.700000 translate 0.035278 -0.035278 scale
start_ol
1201 3840 moveto
1319 5303 1392 5586 conicto
1583 6043 1901 6080 conicto
2020 6080 2106 6002 conicto
2192 5924 2192 5815 conicto
2192 5586 1392 3840 conicto
1201 3840 lineto
end_ol grestore
gsave 37.400000 15.750000 translate 0.035278 -0.035278 scale
start_ol
2866 3840 moveto
2320 3840 1892 3401 conicto
1465 2962 1260 2375 conicto
1055 1789 1055 1245 conicto
1055 755 1273 473 conicto
1492 192 1883 192 conicto
2220 192 2515 363 conicto
2811 534 3184 940 conicto
3330 848 lineto
2920 329 2520 100 conicto
2120 -128 1610 -128 conicto
973 -128 623 236 conicto
273 600 273 1253 conicto
273 2329 1082 3180 conicto
1892 4032 2911 4032 conicto
3320 4032 3593 3819 conicto
3866 3607 3866 3285 conicto
3866 3110 3739 2985 conicto
3612 2861 3430 2861 conicto
3075 2861 3075 3212 conicto
3075 3305 3143 3457 conicto
3211 3609 3211 3655 conicto
3211 3840 2866 3840 conicto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.627451 0.125490 0.941176 srgb
n 27.665600 16.195700 m 27.350361 12.907781 l s
[] 0 sd
0 slj
0 slc
n 27.314571 12.534493 m 27.611150 13.008351 l 27.350361 12.907781 l 27.113432 13.056071 l ef
n 27.314571 12.534493 m 27.611150 13.008351 l 27.350361 12.907781 l 27.113432 13.056071 l cp s
gsave 26.153400 14.466900 translate 0.035278 -0.035278 scale
start_ol
6272 5594 moveto
3804 -128 lineto
3021 -128 lineto
448 5568 lineto
0 5722 lineto
0 6144 lineto
3152 6144 lineto
3152 5721 lineto
2420 5555 lineto
4000 2041 lineto
5429 5568 lineto
4711 5722 lineto
4711 6144 lineto
6720 6144 lineto
6720 5722 lineto
6272 5594 lineto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 45.847000 17.447400 m 48.138831 14.632694 l s
[] 0 sd
0 slj
0 slc
n 48.375607 14.341899 m 48.253770 14.887477 l 48.138831 14.632694 l 47.866042 14.571776 l ef
n 48.375607 14.341899 m 48.253770 14.887477 l 48.138831 14.632694 l 47.866042 14.571776 l cp s
gsave 46.294800 15.333200 translate 0.035278 -0.035278 scale
start_ol
6272 5594 moveto
3804 -128 lineto
3021 -128 lineto
448 5568 lineto
0 5722 lineto
0 6144 lineto
3152 6144 lineto
3152 5721 lineto
2420 5555 lineto
4000 2041 lineto
5429 5568 lineto
4711 5722 lineto
4711 6144 lineto
6720 6144 lineto
6720 5722 lineto
6272 5594 lineto
end_ol grestore
gsave 47.178971 15.333200 translate 0.035278 -0.035278 scale
start_ol
1024 8768 moveto
2688 8768 lineto
2185 5632 lineto
1514 5632 lineto
1024 8768 lineto
end_ol grestore
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
0.000000 0.000000 0.000000 srgb
n 27.319053 12.479749 m 26.561598 13.239477 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 26.658642 12.788058 m 26.482660 13.318652 l 27.012724 13.141081 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 27.335526 12.470830 m 26.770651 11.520562 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 27.183909 11.726510 m 26.713523 11.424456 l 26.754111 11.981998 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 27.342182 12.479232 m 28.295296 12.902483 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 27.839045 12.973417 m 28.397477 12.947859 l 28.041972 12.516448 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 48.452077 14.280512 m 49.405191 14.703763 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 48.948940 14.774696 m 49.507373 14.749138 l 49.151867 14.317727 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 48.445767 14.271842 m 49.062334 13.326015 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 49.059772 13.787740 m 49.123390 13.232354 l 48.640911 13.514692 l s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
n 48.437506 14.297874 m 47.447121 13.800680 l s
0.100000 slw
[] 0 sd
0 slj
0 slc
n 47.906218 13.751421 m 47.347202 13.750518 l 47.681889 14.198273 l s
showpage

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -0,0 +1,101 @@
/** \mainpage The OpenGV library
*
* <b>Important note:</b> If you are only interested in using the library under Matlab, now there is a precompiled mex-library for 64-bit systems available. You can download it from:
*
\verbatim
Windows: http://laurentkneip.github.io/publications/opengv.mexw64
Mac OSX: http://laurentkneip.github.io/publications/opengv.mexmaci64
\endverbatim
*
* These versions have been added around March 2016, so please be aware that later additions may not be included in this distribution. You can go immediately to \ref page_matlab "Use under Matlab" to receive further instructions on the Matlab interface.
*
* The OpenGV library aims at unifying geometric computer vision algorithms for calibrated camera pose computation within a single
* efficient C++-library. OpenGV stands for Open Geometric Vision. It contains classical central and more recent non-central absolute
* and relative camera pose computation algorithms, as well as triangulation and point-cloud alignment functionalities, all extended
* by non-linear optimization and RANSAC contexts. It contains a flexible C++-interface as well as Matlab and Python wrappers, and eases the
* comparison of different geometric vision algorithms. A benchmark to compare the various solutions for one particular problem against
* each other is included in the Matlab stuff.
*
* The library is described in the paper (Please cite if you use it for your research!):
*
* - L. Kneip, P. Furgale, "OpenGV: A unified and generalized approach to real-time calibrated geometric vision", Proc. of The IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China. May 2014.
*
* The library has been developped in the context of the following papers.
*
* - L. Kneip, D. Scaramuzza, R. Siegwart, "A Novel Parametrization of the Perspective-Three-Point Problem for a Direct Computation of Absolute Camera Position and Orientation", Proc. of The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Colorado Springs, USA. June 2011.
* - L. Kneip, M. Chli, R. Siegwart, "Robust Real-Time Visual Odometry with a Single Camera and an IMU", Proc. of The British Machine Vision Conference (BMVC), Dundee, UK. August 2011.
* - T. Kazik, L. Kneip, J. Nikolic, M. Pollefeys, R. Siegwart, "Real-Time 6D Stereo Visual Odometry with Non-Overlapping Fields of View", Proc. of The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Providence, USA. June 2012.
* - L. Kneip, R. Siegwart, M. Pollefeys, "Finding the Exact Rotation Between Two Images Independently of the Translation", Proc. of The European Conference on Computer Vision (ECCV), Florence, Italy. October 2012.
* - L. Kneip, P. Furgale, R. Siegwart, "Using Multi-Camera Systems in Robotics: Efficient Solutions to the NPnP Problem", Proc. of The IEEE International Conference on Robotics and Automation (ICRA), Karlsruhe, Germany. May 2013.
* - L. Kneip, S. Lynen, "Direct Optimization of Frame-to-Frame Rotation", Proc. of The International Conference on Computer Vision (ICCV), Sydney, Australia. December 2013.
* - L. Kneip, H. Li, "Efficient Computation of Relative Pose for Multi-Camera Systems", In Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Columbus, USA. June 2014.
* - L. Kneip, H. Li, Y. Seo, "UPnP: An optimal O(n) solution to the absolute pose problem with universal applicability", In Proc. of The European Conference on Computer Vision (ECCV), Zurich, Switzerland. September 2014.
*
* Please cite the OpenGV paper as well as the corresponding paper if you use OpenGV to work on a particular problem.
*
* \section main_sec_2 Getting started
*
* OpenGV features the following set of algorithms:
*
* <ul>
* <li> Absolute camera pose computation:
* <ol>
* <li>absolute pose computation with known rotation
* <li>two P3P-algorithms (Kneip, Gao)
* <li>generalized P3P
* <li>the EPnP algorithm by Lepetit and Fua
* <li>an extension of the EPnP algorithm to the non-central case (Kneip)
* <li>the generalized absolute pose solver presented at ICRA 2013 (Kneip)
* <li>non-linear optimization over n correspondences (both central and non-central)
* <li>the UPnP algorithm presented at ECCV 2014 (both central and non-central, and minimal and non-minimal)
* </ol>
* <li> Relative camera-pose computation:
* <ol>
* <li>2-point algorithm for computing the translation with known relative rotation
* <li>2-point algorithm for deriving the rotation in a pure-rotation situation
* <li>n-point algorithm for deriving the rotation in a pure-rotation situation
* <li>5-point algorithm by Stewenius
* <li>5-point algorithm by Nister
* <li>5-point algorithm to solve for rotations directly (by Kneip)
* <li>7-point algorithm
* <li>8-point algorithm by Longuet-Higgins
* <li>6-point algorithm by Henrik Stewenius for generalized relative pose
* <li>17-point algorithm by Hongdong Li
* <li>non-linear optimization over n correspondences (both central and non-central)
* <li>relative rotation as an iterative eigenproblem (by Kneip)
* <li>generalized reltive rotation for multi-camera systems as an iterative eigenproblem (by Kneip)
* </ol>
* <li>Two methods for point-triangulation
* <li>Arun's method for aligning point clouds
* <li>Generic sample-consensus problems for most algorithms useable with Ransac
* <li>Math tools:
* <ol>
* <li>Generic Sturm-sequence implementation for numerical root-finding
* <li>Algebraic root finding
* <li>Cayley rotations
* </ol>
* <li>Unit/Benchmarking tests for all algorithms
* <li>Matlab interface
* <li>Python interface
* </ul>
*
* The aim of OpenGV is to make these algorithms accessible
* to real-time computer vision and robotics-related tasks, that require efficient
* pose computation of calibrated cameras. It is also intended to serve as a
* benchmarking framework for testing and comparing different solutions
* to geometric-vision problems. The library realizes a clean separation between
* 2D-2D, 2D-3D, and 3D-3D registration tasks. It thus provides
* a somewhat missing block between image-processing libraries (e.g. OpenCV) and
* more exhaustive non-linear optimization frameworks (e.g. g2o, ceres). By
* working exclusively with 3D unit bearing-vectors, it allows to be applied in
* conjunction with any optical projection system.
*
* Please consult the following sub-pages to get a step-by-step introduction to the library:
* - \subpage page_installation "Installation"
* - \subpage page_how_to_use "How to use"
* - \subpage page_matlab "Use under Matlab"
* - \subpage page_how_to_contribute "How to contribute"
* - \subpage page_contact "Contact"
* - \subpage page_references "References"
*
*/