Skip to content

caomw/PrincipalAxesComparator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PrincipalAxesComparator

This project was created for the final project of the software engineering subject from the VIBOT masters of computer vision and robotics.

The aim of the project is to implement different algorithms to compute the axes of a mesh and evaluate how robust they are against noise and deformations from an original mesh.

To do so it was found convenient to compare the alignments visually. A viewer that can display two methods next to each other was implemented to compare two methods easily.

Application screenshot

Dependencies

  • Qt
  • OpenGL
  • OpenMesh
  • Eigen

Install

mkdir build
cd build
qmake ../src
make
./visor

Principal axes computing methods implemented

Adding a principal axis computing method

For adding a new method, modify the class PrincipalAxisGenerator. This class has an enum that contains the possible methods. Add the new method there. Modify the .ui of the main window in order to add another tab to each viewer in order to be able to display the method. After that, modify MainWindow::on_computeButton_clicked(). In that method there is a variable called methods2compute. Push back the enum option of the new method. Note that the order matters, so the last method pushed back will correspond to the right most tab of the viewer.

Then, on the function PrincipalAxisGenerator::compute() add another switch case that will compute the axis. When compute() is called the attribute vertexes contains the input list of vertex of the mesh.

The following attributes of the class have to be filled with the proper data:

  • center: Origin of the axes of the mesh
  • axis1: X axis of the mesh
  • axis2: Y axis of the mesh
  • axis3: Z axis of the mesh

Authors

  • Quim Sanchez
  • Gerard Bahi

Demo

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.8%
  • Other 1.2%