Git Product home page Git Product logo

tessellates3's Introduction

TessellateS3

TessellateS3 is an efficient implementation of the tetrahedral/octahedral tessellation algorithm for the four-dimensional unit sphere as a Mex File for MATLAB. It is based on the algorithm by Schaefer et al. and the C implementation by Jared Glover contained in libBingham. All parts of libBingham that are not required for the S3 tessellation have been removed.

Requirements

  • a reasonably recent version of MATLAB
  • a C++ Compiler (tested with Visual Studio 2015)

Features

  • compute a tessellation of S3, the four-dimensional unit sphere
  • easy to use interface for MATLAB
  • variable number of subdivision levels

Example usage

First, compile the mex file by calling

>> compileTessellate

Then, you can run the tessellation algorithm using

>> x = tessellate_S3(n)

Here, n corresponds to the number of points desired. The algorithm will return the next larger possible tessellation. Possible tessellations have 16, 128, 1024, 8192, etc. points. You can try the included unit test using

>> run(TessellateS3Test)

References

Schaefer, S. and Hakenberg, J. and Warren, J.,
Smooth Subdivision of Tetrahedral Meshes
Proceedings of the 2004 Eurographics/ACM SIGGRAPH Symposium on Geometry Processing
2004

Jared Glover and Leslie Pack Kaelbling
Tracking 3-D Rotations with the Quaternion Bingham Filter
MIT-CSAIL-TR-2013-005
2013

Gerhard Kurz, Florian Pfaff, Uwe D. Hanebeck,
Discretization of SO(3) Using Recursive Tesseract Subdivision
Proceedings of the 2017 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems (MFI 2017), Daegu, Korea, November 2017.

License

TessellateS3 is licensed under the GPLv3 license.

Contact

Author: Gerhard Kurz

Mail: kurz.gerhard (at) gmail (dot) com

Web: http://www.gerhardkurz.de

tessellates3's People

Contributors

gerhardkurz avatar libdirectional avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.