Giter VIP home page Giter VIP logo

spatialgraphembeddings's Introduction

Spatial graph embeddings and coupler curves

This program implements a method for obtaining edge lengths of a minimally rigid graph with many real spatial embeddings. The method is based on sampling over two parameter family that preserves so called coupler curve. See project website for the details.

Moreover, it includes Qt application for plotting coupler curves of the 7-vertex minimally rigid graph with the maximal number of embeddings, G48.

The main functionality is provided by the package graphEmbeddings3D, see Documentation.

The version 1.0 was used for the paper On the Maximal Number of Real Embeddings of Spatial Minimally Rigid Graphs accepted to ISSAC 2018: DOI

The current version 2.0 supports arbitrary minimally rigid graphs containing a triangle instead of only predefined ones.

Requirements and installation

Predefined graphs

  • 6 vertices: octahedron/cyclohexane (the unique 6-vertex graph with the maximal number of embeddings)
  • 7 vertices: G16a, G16b, G24, G32a, G32b, G48 (all 7-vertex graphs requiring the last Henneberg step being H2, the number corresponds to the number of embeddings)
  • 8 vertices: G128, G160

graphs

Tests

python test_6vert.py runs the sampling method for octahedron

python test_7vert.py verifies that there are edge lengths for G16a, G16b, G24, G32a, G32b and G48 such that all embeddings are real

python test_8vert.py verifies that there are edge lengths such that G128 and G160 have 128, resp. 132, real embeddings

Sampling

The scripts in the folder sampling_scripts use the proposed method for various graphs and starting edge lengths.

Coupler curves of G48

This Qt program is launched by python CouplerCurveG48.py.

Functionality:

  • loading and saving edge lengths
  • plotting coupler curve of G48
  • computing number of real embeddings of G48 by PHC
  • sampling of parameters for specific subgraphs
  • iterative method for increasing the number of real embeddings
  • export to Axel

Warning

The program strongly depends on PHC computation - this fails sometimes that might cause failure of the program.

License

Copyright (C) 2018 Jan Legerský

This program 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 3 of the License, or (at your option) any later version.

This program 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 program. If not, see https://www.gnu.org/licenses/.

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.