https://github.com/mit-acl/minvo
Simplexes with Minimum Volume Enclosing Polynomial Curves
https://github.com/mit-acl/minvo
bernstein bezier bspline convex-hull minimum-volume minvo polynomial-bases
Last synced: 9 months ago
JSON representation
Simplexes with Minimum Volume Enclosing Polynomial Curves
- Host: GitHub
- URL: https://github.com/mit-acl/minvo
- Owner: mit-acl
- License: bsd-3-clause
- Created: 2020-08-10T19:36:11.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-01-19T12:41:04.000Z (over 2 years ago)
- Last Synced: 2024-04-20T20:55:21.564Z (about 2 years ago)
- Topics: bernstein, bezier, bspline, convex-hull, minimum-volume, minvo, polynomial-bases
- Language: MATLAB
- Homepage:
- Size: 79.3 MB
- Stars: 63
- Watchers: 5
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MINVO Basis: Finding Simplexes with Minimum Volume Enclosing Polynomial Curves #
Example for n=3:
[](https://www.youtube.com/watch?v=x5ORkDCe4O0)
MINVO roots:
[](https://www.youtube.com/watch?v=x5ORkDCe4O0)
## Citation
When using MINVO, please cite this paper ([pdf](https://arxiv.org/abs/2010.10726), [video](https://youtu.be/x5ORkDCe4O0)):
```bibtex
@article{tordesillas2022minvo,
title={MINVO Basis: Finding Simplexes with Minimum Volume Enclosing Polynomial Curves},
author={Tordesillas, Jesus and How, Jonathan P},
journal={Computer-Aided Design},
volume={151},
pages={103341},
year={2022},
publisher={Elsevier}
}
```
## Instructions to use the MINVO basis
* **For a particular curve (Problem 1 of the paper)**: See an example (with `n=3`) in [`curve_given3D.m`](https://github.com/mit-acl/minvo/blob/master/src/curve_given3D.m)
* **For a particular simplex (Problem 2 of the paper)**: See an example (with `n=3`) in [`simplex_given3D.m`](https://github.com/mit-acl/minvo/blob/master/src/simplex_given3D.m)
To obtain all the figures of the paper, you can simply run [`plot_solution.m`](https://github.com/mit-acl/minvo/blob/master/src/plot_solution.m)
You don't need to install any external solvers for the steps above.
## Instructions to derive the MINVO basis
* The file [`general_formulation_sos.m`](https://github.com/mit-acl/minvo/blob/master/src/general_formulation_sos.m) solves Problem 3 in the paper using SOS.
* The file [`general_formulation_lukacs_theorem.m`](https://github.com/mit-acl/minvo/blob/master/src/general_formulation_lukacs_theorem.m) solves Problem 3 in the paper using the Markov–Lukács Theorem.
* The file [`formula_formulation.m`](https://github.com/mit-acl/minvo/blob/master/src/formula_formulation.m) solves Problem 4 in the paper.
Follow the instructions in each file to prove local/global optimality.
Depending on the settings you choose in each file, you may need to install [YALMIP](https://yalmip.github.io/) (tested with [this release](https://github.com/yalmip/YALMIP/releases/tag/R20200116_hotfix)), [SNOPT](https://ccom.ucsd.edu/~optimizers/) and/or [MOSEK](https://www.mosek.com/).
---------
> **Approval for release**: This code was approved for release by The Boeing Company in December 2020.