/*------------------------------------------ INCREMENTAL SUCCESSIVE ORTHOGONAL IMAGES (ISOI) The Library for Uniform Deterministic Sequences and Sets of Samples over 2-sphere and SO(3) Implemented as part of the paper: Generating Uniform Incremental Grids on SO(3) Using the Hopf Fibrations International Journal of Robotics Research, IJRR 2009 Anna Yershova, Swati Jain, Steven M. LaValle, and Julie C. Mitchell Contacts: Anna Yershova Duke University, Durham, NC 27707, USA e-mail: yershova@cs.duke.edu Swati Jain Duke University, Durham, NC 27707, USA e-mail: swati.jain@duke.edu Steven M. LaValle University of Illinois, Urbana, IL 61801 USA e-mail: lavalle@cs.uiuc.edu Julie C. Mitchell University of Wisconsin-Madison, Madison, WI 53706, USA e-mail: jcmitchell@wisc.edu Project web page: http://rotations.mitchell-lab.org/ -----------------------------------------------*/ LICENSE /* ----------------------------------------------------------------------------- * * Copyright (C) 2009 Anna Yershova, Swati Jain, * Steven M. LaValle, Julie C. Mitchell * * * This file is part of the Incremental Successive Orthogonal Images (ISOI) * * ISOI is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * ISOI is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this software; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * * For more information about ISOI see http://rotations.mitchell-lab.org/ * *----------------------------------------------------------------------------- */ This code generates a uniform incremental sequence on the 2-sphere, a uniform grid on SO(3) and a uniform incremental sequence on SO(3). The number of base points for resolution 0 for the 2-sphere is 12 (used from the package HEALPix) and the number of points for resolution 0 in SO(3) is 72 (because there are 12 points on the 2-sphere and 6 points in the circle). Each base point in the 2-sphere and the circle is given a unique point id and unique coordinate values (theta and phi for the 2-sphere and psi for the circle). For generating the incremental sequence, an initial sequence of the points as described in the paper has been selected manually. This sequence is an input to the code and can be changed by the user. The mapping of point id's to the sequence shown in the paper is: S2 S1 Seq -> Point id Seq -> Point id 1 -> 6 1 -> 0 2 -> 4 2 -> 3 3 -> 1 3 -> 1 4 -> 11 4 -> 4 5 -> 9 5 -> 2 6 -> 3 6 -> 5 7 -> 5 8 -> 7 9 -> 10 10 -> 0 11 -> 2 12 -> 8 The points on the 2-sphere have been generated using the package HEALPix. There are three seperate tar files for the three different functionalities. Please download the specific tar file and follow the below instructions to run the code. S2_sequence.tar.gz This tar file is to generate a uniform incremental sequence on the 2-sphere. 1. Untar the tar file. 2. cd to the directoty 3. type the command 'make' to create the executable for the code. 4. run the code using './S2_sequence'. 5. The code will ask you for the number of points you want to generate and the file containing the initial sequence of the base points. An example file for this is 'seq.txt' 6. The result of the run will be stored in a file called 'data.pts' and each point will be represented in x,y,z coordinates. SO3_grid.tar.gz This tar file is to generate a uniform grid on SO(3). 1. Untar the tar file 2. cd to the directory 3. type the command 'make' to create the executable for the code. 4. run the code using './SO3_grid ' 5. will be either 1 or 2 for a simple grid or a layered grid respectively, is the resolution of the grid. 6. The result of the run will be stored in a dile called 'data.qua' with each point represented as a quaternion. SO3_sequence.tar.gz This tar file is to generate a uniform incremental sequence on SO(3). 1. Untar the tar file. 2. cd to the directoty 3. type the command 'make' to create the executable for the code. 4. run the code using './SO3_sequence'. 5. The code will ask you for the number of points you want to generate and the file containing the initial sequence of the base points. An example file for this is 'seq.txt' 6. The result of the run will be stored in a file called 'data.qua' and each point will be represented as a quaternion.