Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Introduction

This library snapps points that are ε-close to the sphere to rational points that are no more than 2ε away from the closest point on the sphere. It is based on the paper Rational Points on the Unit Sphere: Approximation Complexity and Practical Constructions

Dependecies

  • gmpxx
  • mpfr

Quickstart guide

Building the tools

  1. git clone --recursive https://github.com/fmi-alg/libratss.git libratss
  2. cd libratss && mkdir build && cd build
  3. cmake -DCMAKE_BUILD_TYPE=lto ../
  4. cd ratsstools && make

Snapping points

  1. Build the tools
  2. ./proj -h

Getting sample points

  1. Build the tools
  2. ./rndpoints -h

Snapping sample points

  1. Build the tools
  2. ./rndpoints -g nplane -f geo -d 3 -n 1000 | ./proj -b -r cf -s plane -if geo -of rational -p 128 -e 53

Visualizing points

  1. Build the tools
  2. ./rndpoints -g nplane -f geo -d 3 -n 1000 | ./proj -b -r cf -s plane -if geo -of rational -p 128 -e 53 -o 1ksnapped
  3. gnuplot -e 'splot "1ksnapped" using ($1/$2):($3/$4):($5/$6); pause mouse keypres;'

Use the library

  1. add the repository to your project
  2. make sure to add the appropriate compile definitions to your project. If you're using CMake and you're adding libratss as a subdirectory then these are exported. See the CMakeLists.txt for a list of exported variables.
  3. add <libratss/ProjectSN.h> or <libratss/ProjectS2.h> as include

License

libratss is licensed under LGPL v2.1. Since libratss links with mpfr, mpfr C++, gmp, gmpxx and cgal the resulting binaries are usually governed by the GPL v3

About

This library snapps points that are ε-close to the sphere to rational points that are no more than 2ε away from their closest point on the sphere

Resources

Releases

No releases published

Packages

No packages published

Languages