The goal of rbff is to provide an R wrapper around the awesome boundary-first-flattening software, which allows you to flatten and / or map a 3d object to a 2d shape (or a sphere).
Before installing rbff
you will need to make sure you have two system dependencies installed:
In Linux, installing them should be straightforward with your distributions package manager. In Debian or Ubuntu for example you can simple use:
You can use the Rtools package manager to install rbff
‘s dependencies. First make sure Rtools 4.0 is installed. You can find installation instructions here: https://cran.r-project.org/bin/windows/Rtools/ Once Rtools 4.0 is on your system, use the start menu to find and open ’Rtools Bash’. This will open a msys2 window. Type in this window the following:
Once system dependencies are successfully installed, you can install the development version from GitHub with:
# install.packages("devtools")
devtools::install_github("rdinnager/rbff")
Note that currently I have only tested rbff
on Windows and Linux. Currently, Mac OS fails to even build rbff
on github actions with a mysterious compilation failure. If you manage to install rbff
on Mac, please let me know. If you have any installation trouble, please post an issue to this repo.
You can flatten a mesh with the bff_flatten()
function. Using default arguments it tries to find a 2d shape to flatten a 3d mesh into that minimizes angle and area distortion.
library(rbff)
face_flat <- bff_flatten(face)
#> Loading required namespace: rgl
Visualise the area distortion in this flattening:
bff_vis_metrics(flat_face, metric = "area distortion")
This package is still in the (very) early days of development.